summaryrefslogtreecommitdiff
path: root/fs/nfsd/nfs4state.c
diff options
context:
space:
mode:
authorAndy Adamson <andros@netapp.com>2009-04-03 08:28:48 +0300
committerJ. Bruce Fields <bfields@citi.umich.edu>2009-04-03 17:41:20 -0700
commit496c262cf01106a546ffb7df6fea84b8b881ee19 (patch)
treec1b609cd82d7f64a14eedfc308ce21bdf5b05431 /fs/nfsd/nfs4state.c
parent6668958fac1d05f55420de702f3678d46c1e93a5 (diff)
downloadlinux-3.10-496c262cf01106a546ffb7df6fea84b8b881ee19.tar.gz
linux-3.10-496c262cf01106a546ffb7df6fea84b8b881ee19.tar.bz2
linux-3.10-496c262cf01106a546ffb7df6fea84b8b881ee19.zip
nfsd41: check encode size for sessions maxresponse cached
Calculate the space the compound response has taken after encoding the current operation. pad: add on 8 bytes for the next operation's op_code and status so that there is room to cache a failure on the next operation. Compare this length to the session se_fmaxresp_cached and return nfserr_rep_too_big_to_cache if the length is too large. Our se_fmaxresp_cached will always be a multiple of PAGE_SIZE, and so will be at least a page and will therefore hold the xdr_buf head. Signed-off-by: Andy Adamson <andros@netapp.com> [nfsd41: non-page DRC for solo sequence responses] [fixed nfsd4_check_drc_limit cosmetics] Signed-off-by: Benny Halevy <bhalevy@panasas.com> [nfsd41: use cstate session in nfsd4_check_drc_limit] Signed-off-by: Andy Adamson <andros@netapp.com> Signed-off-by: Benny Halevy <bhalevy@panasas.com> Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Diffstat (limited to 'fs/nfsd/nfs4state.c')
0 files changed, 0 insertions, 0 deletions