diff options
-rw-r--r-- | fs/nfsd/nfs4xdr.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/fs/nfsd/nfs4xdr.c b/fs/nfsd/nfs4xdr.c index 20fbcab97753..5f940d2a136b 100644 --- a/fs/nfsd/nfs4xdr.c +++ b/fs/nfsd/nfs4xdr.c | |||
@@ -144,7 +144,7 @@ static void next_decode_page(struct nfsd4_compoundargs *argp) | |||
144 | argp->p = page_address(argp->pagelist[0]); | 144 | argp->p = page_address(argp->pagelist[0]); |
145 | argp->pagelist++; | 145 | argp->pagelist++; |
146 | if (argp->pagelen < PAGE_SIZE) { | 146 | if (argp->pagelen < PAGE_SIZE) { |
147 | argp->end = argp->p + (argp->pagelen>>2); | 147 | argp->end = argp->p + XDR_QUADLEN(argp->pagelen); |
148 | argp->pagelen = 0; | 148 | argp->pagelen = 0; |
149 | } else { | 149 | } else { |
150 | argp->end = argp->p + (PAGE_SIZE>>2); | 150 | argp->end = argp->p + (PAGE_SIZE>>2); |
@@ -1279,9 +1279,7 @@ nfsd4_decode_write(struct nfsd4_compoundargs *argp, struct nfsd4_write *write) | |||
1279 | argp->pagelen -= pages * PAGE_SIZE; | 1279 | argp->pagelen -= pages * PAGE_SIZE; |
1280 | len -= pages * PAGE_SIZE; | 1280 | len -= pages * PAGE_SIZE; |
1281 | 1281 | ||
1282 | argp->p = (__be32 *)page_address(argp->pagelist[0]); | 1282 | next_decode_page(argp); |
1283 | argp->pagelist++; | ||
1284 | argp->end = argp->p + XDR_QUADLEN(PAGE_SIZE); | ||
1285 | } | 1283 | } |
1286 | argp->p += XDR_QUADLEN(len); | 1284 | argp->p += XDR_QUADLEN(len); |
1287 | 1285 | ||