summaryrefslogtreecommitdiffstats
path: root/net/sunrpc/svc_xprt.c
diff options
context:
space:
mode:
authorJ. Bruce Fields <bfields@redhat.com>2013-08-26 22:04:46 +0200
committerJ. Bruce Fields <bfields@redhat.com>2014-05-30 23:31:54 +0200
commit2825a7f90753012babe7ee292f4a1eadd3706f92 (patch)
treefd536a28343ffc50432d0f8e7627929e06c023bf /net/sunrpc/svc_xprt.c
parentnfsd4: size-checking cleanup (diff)
downloadlinux-2825a7f90753012babe7ee292f4a1eadd3706f92.tar.xz
linux-2825a7f90753012babe7ee292f4a1eadd3706f92.zip
nfsd4: allow encoding across page boundaries
After this we can handle for example getattr of very large ACLs. Read, readdir, readlink are still special cases with their own limits. Also we can't handle a new operation starting close to the end of a page. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/svc_xprt.c')
-rw-r--r--net/sunrpc/svc_xprt.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/sunrpc/svc_xprt.c b/net/sunrpc/svc_xprt.c
index 29772e01b179..b4737fbdec13 100644
--- a/net/sunrpc/svc_xprt.c
+++ b/net/sunrpc/svc_xprt.c
@@ -597,6 +597,7 @@ static int svc_alloc_arg(struct svc_rqst *rqstp)
}
rqstp->rq_pages[i] = p;
}
+ rqstp->rq_page_end = &rqstp->rq_pages[i];
rqstp->rq_pages[i++] = NULL; /* this might be seen in nfs_read_actor */
/* Make arg->head point to first page and arg->pages point to rest */