pnfs: set stateid.seqid to 0 for data server io

Signed-off-by: Casey Bodley <cbodley@citi.umich.edu>
This commit is contained in:
Casey Bodley 2010-10-08 12:35:10 -04:00
parent eefff7c222
commit e4b1bc6ccc
2 changed files with 8 additions and 4 deletions

View file

@ -195,7 +195,7 @@ typedef struct __pnfs_io_pattern {
struct __pnfs_io_thread *threads; struct __pnfs_io_thread *threads;
struct __nfs41_root *root; struct __nfs41_root *root;
nfs41_path_fh *meta_file; nfs41_path_fh *meta_file;
stateid4 *stateid; stateid4 stateid;
pnfs_file_layout *layout; pnfs_file_layout *layout;
unsigned char *buffer; unsigned char *buffer;
uint64_t offset_start; uint64_t offset_start;

View file

@ -77,7 +77,11 @@ static enum pnfs_status pattern_init(
pattern->root = root; pattern->root = root;
pattern->meta_file = meta_file; pattern->meta_file = meta_file;
pattern->stateid = stateid; /* 13.9.1. Global Stateid Requirements
* "The stateid sent to the data server MUST be sent
* with the seqid set to zero" */
memcpy(&pattern->stateid, stateid, sizeof(stateid4));
pattern->stateid.seqid = 0;
pattern->layout = layout; pattern->layout = layout;
pattern->buffer = buffer; pattern->buffer = buffer;
pattern->offset_start = offset; pattern->offset_start = offset;
@ -297,7 +301,7 @@ static uint32_t WINAPI file_layout_read_thread(void *args)
pnfs_io_unit io; pnfs_io_unit io;
pnfs_io_thread *thread = (pnfs_io_thread*)args; pnfs_io_thread *thread = (pnfs_io_thread*)args;
pnfs_io_pattern *pattern = thread->pattern; pnfs_io_pattern *pattern = thread->pattern;
stateid4 *state = pattern->stateid; stateid4 *state = &pattern->stateid;
pnfs_data_server *server; pnfs_data_server *server;
nfs41_client *client; nfs41_client *client;
uint32_t maxreadsize, bytes_read, total_read; uint32_t maxreadsize, bytes_read, total_read;
@ -360,7 +364,7 @@ static uint32_t WINAPI file_layout_write_thread(void *args)
nfs41_write_verf verf; nfs41_write_verf verf;
pnfs_io_thread *thread = (pnfs_io_thread*)args; pnfs_io_thread *thread = (pnfs_io_thread*)args;
pnfs_io_pattern *pattern = thread->pattern; pnfs_io_pattern *pattern = thread->pattern;
stateid4 *state = pattern->stateid; stateid4 *state = &pattern->stateid;
pnfs_data_server *server; pnfs_data_server *server;
pnfs_file_layout *layout = pattern->layout; pnfs_file_layout *layout = pattern->layout;
nfs41_client *client; nfs41_client *client;