提交 b101ebbc 编写于 作者: A Andy Adamson 提交者: J. Bruce Fields

nfsd41: minor set_forechannel_maxreqs cleanup

Signed-off-by: NAndy Adamson <andros@netapp.com>
Signed-off-by: NJ. Bruce Fields <bfields@citi.umich.edu>
上级 be98d1bb
......@@ -423,26 +423,25 @@ gen_sessionid(struct nfsd4_session *ses)
*/
static int set_forechannel_maxreqs(struct nfsd4_channel_attrs *fchan)
{
int status = 0, np = fchan->maxreqs * NFSD_PAGES_PER_SLOT;
int np;
if (fchan->maxreqs < 1)
return nfserr_inval;
else if (fchan->maxreqs > NFSD_MAX_SLOTS_PER_SESSION)
fchan->maxreqs = NFSD_MAX_SLOTS_PER_SESSION;
np = fchan->maxreqs * NFSD_PAGES_PER_SLOT;
spin_lock(&nfsd_drc_lock);
if (np + nfsd_drc_pages_used > nfsd_drc_max_pages)
np = nfsd_drc_max_pages - nfsd_drc_pages_used;
nfsd_drc_pages_used += np;
spin_unlock(&nfsd_drc_lock);
if (np <= 0) {
status = nfserr_resource;
fchan->maxreqs = 0;
} else
fchan->maxreqs = np / NFSD_PAGES_PER_SLOT;
return status;
fchan->maxreqs = np / NFSD_PAGES_PER_SLOT;
if (fchan->maxreqs == 0)
return nfserr_resource;
return 0;
}
/*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册