nfsd4: more precise nfsd4_max_reply
It will turn out to be useful to have a more accurate estimate of reply size; so, piggyback on the existing op reply-size estimators. Also move nfsd4_max_reply to nfs4proc.c to get easier access to struct nfsd4_operation and friends. (Thanks to Christoph Hellwig for pointing out that simplification.) Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:
parent
8c7424cff6
commit
4f0cefbf38
3 changed files with 17 additions and 31 deletions
|
@ -1854,6 +1854,18 @@ static struct nfsd4_operation nfsd4_ops[] = {
|
|||
},
|
||||
};
|
||||
|
||||
int nfsd4_max_reply(struct svc_rqst *rqstp, struct nfsd4_op *op)
|
||||
{
|
||||
struct nfsd4_operation *opdesc;
|
||||
nfsd4op_rsize estimator;
|
||||
|
||||
if (op->opnum == OP_ILLEGAL)
|
||||
return op_encode_hdr_size * sizeof(__be32);
|
||||
opdesc = OPDESC(op);
|
||||
estimator = opdesc->op_rsize_bop;
|
||||
return estimator ? estimator(rqstp, op) : PAGE_SIZE;
|
||||
}
|
||||
|
||||
void warn_on_nonidempotent_op(struct nfsd4_op *op)
|
||||
{
|
||||
if (OPDESC(op)->op_flags & OP_MODIFIES_SOMETHING) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue