nfsd: properly xdr-decode NFS4_OPEN_CLAIM_DELEGATE_CUR stateid
authorBenny Halevy <bhalevy@panasas.com>
Tue, 12 Aug 2008 17:45:51 +0000 (20:45 +0300)
committerJ. Bruce Fields <bfields@citi.umich.edu>
Mon, 29 Sep 2008 21:56:58 +0000 (17:56 -0400)
Signed-off-by: Benny Halevy <bhalevy@panasas.com>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
fs/nfsd/nfs4xdr.c

index 1b81f16..48a0cc1 100644 (file)
@@ -679,7 +679,9 @@ nfsd4_decode_open(struct nfsd4_compoundargs *argp, struct nfsd4_open *open)
                break;
        case NFS4_OPEN_CLAIM_DELEGATE_CUR:
                READ_BUF(sizeof(stateid_t) + 4);
-               COPYMEM(&open->op_delegate_stateid, sizeof(stateid_t));
+               READ32(open->op_delegate_stateid.si_generation);
+               COPYMEM(&open->op_delegate_stateid.si_opaque,
+                       sizeof(stateid_opaque_t));
                READ32(open->op_fname.len);
                READ_BUF(open->op_fname.len);
                SAVEMEM(open->op_fname.data, open->op_fname.len);