summaryrefslogtreecommitdiffstats
path: root/fs/nfsd/nfs4state.c
diff options
context:
space:
mode:
authorJ. Bruce Fields2014-03-21 01:47:41 +0100
committerJ. Bruce Fields2014-05-30 23:32:02 +0200
commit32aaa62ede574ff99b020b4ee3ff6f9cfc9f0099 (patch)
tree6ad708054e21e60d230f26302f0a69ac355b5456 /fs/nfsd/nfs4state.c
parentnfsd4: adjust buflen to session channel limit (diff)
downloadkernel-qcow2-linux-32aaa62ede574ff99b020b4ee3ff6f9cfc9f0099.tar.gz
kernel-qcow2-linux-32aaa62ede574ff99b020b4ee3ff6f9cfc9f0099.tar.xz
kernel-qcow2-linux-32aaa62ede574ff99b020b4ee3ff6f9cfc9f0099.zip
nfsd4: use session limits to release send buffer reservation
Once we know the limits the session places on the size of the rpc, we can also use that information to release any unnecessary reserved reply buffer space. Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'fs/nfsd/nfs4state.c')
-rw-r--r--fs/nfsd/nfs4state.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/nfsd/nfs4state.c b/fs/nfsd/nfs4state.c
index 612b85ac414b..62b882dc48ec 100644
--- a/fs/nfsd/nfs4state.c
+++ b/fs/nfsd/nfs4state.c
@@ -2290,6 +2290,7 @@ nfsd4_sequence(struct svc_rqst *rqstp,
nfserr_rep_too_big;
if (xdr_restrict_buflen(xdr, buflen - 2 * RPC_MAX_AUTH_SIZE))
goto out_put_session;
+ svc_reserve(rqstp, buflen);
status = nfs_ok;
/* Success! bump slot seqid */