summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTrond Myklebust2017-02-19 22:08:29 +0100
committerAnna Schumaker2017-02-21 22:56:16 +0100
commit5a1f6d9e9b803003271b40b67786ff46fa4eda01 (patch)
tree7571cc9e0a50ff4033c50cdb7b4770dd9d8ffe80
parentNFSv4: Replace callback string decode function with a generic (diff)
downloadkernel-qcow2-linux-5a1f6d9e9b803003271b40b67786ff46fa4eda01.tar.gz
kernel-qcow2-linux-5a1f6d9e9b803003271b40b67786ff46fa4eda01.tar.xz
kernel-qcow2-linux-5a1f6d9e9b803003271b40b67786ff46fa4eda01.zip
NFSv4: Fix the underestimation of delegation XDR space reservation
Account for the "space_limit" field in struct open_write_delegation4. Fixes: 2cebf82883f4 ("NFSv4: Fix the underestimate of NFSv4 open request size") Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Reviewed-by: Chuck Lever <chuck.lever@oracle.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
-rw-r--r--fs/nfs/nfs4xdr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/nfs/nfs4xdr.c b/fs/nfs/nfs4xdr.c
index d10cc2a62dff..26808fbaacb0 100644
--- a/fs/nfs/nfs4xdr.c
+++ b/fs/nfs/nfs4xdr.c
@@ -169,8 +169,10 @@ static int nfs4_stat_to_errno(int);
open_owner_id_maxsz + \
encode_opentype_maxsz + \
encode_claim_null_maxsz)
+#define decode_space_limit_maxsz (3)
#define decode_ace_maxsz (3 + nfs4_owner_maxsz)
#define decode_delegation_maxsz (1 + decode_stateid_maxsz + 1 + \
+ decode_space_limit_maxsz + \
decode_ace_maxsz)
#define decode_change_info_maxsz (5)
#define decode_open_maxsz (op_decode_hdr_maxsz + \