|
@@ -144,7 +144,7 @@ static void next_decode_page(struct nfsd4_compoundargs *argp)
|
|
|
argp->p = page_address(argp->pagelist[0]);
|
|
|
argp->pagelist++;
|
|
|
if (argp->pagelen < PAGE_SIZE) {
|
|
|
- argp->end = argp->p + (argp->pagelen>>2);
|
|
|
+ argp->end = argp->p + XDR_QUADLEN(argp->pagelen);
|
|
|
argp->pagelen = 0;
|
|
|
} else {
|
|
|
argp->end = argp->p + (PAGE_SIZE>>2);
|
|
@@ -1279,9 +1279,7 @@ nfsd4_decode_write(struct nfsd4_compoundargs *argp, struct nfsd4_write *write)
|
|
|
argp->pagelen -= pages * PAGE_SIZE;
|
|
|
len -= pages * PAGE_SIZE;
|
|
|
|
|
|
- argp->p = (__be32 *)page_address(argp->pagelist[0]);
|
|
|
- argp->pagelist++;
|
|
|
- argp->end = argp->p + XDR_QUADLEN(PAGE_SIZE);
|
|
|
+ next_decode_page(argp);
|
|
|
}
|
|
|
argp->p += XDR_QUADLEN(len);
|
|
|
|