summary refs log tree commit diff
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-496c262cf01106a546ffb7df6fea84b8b881ee19.tar.gz
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