nfsd: optimise the starting of zero threads when none are running.
Currently, if we ask to set then number of nfsd threads to zero when there are none running, we set up all the sockets and register the service, and then tear it all down again. This is pointless. So detect that case and exit promptly. (also remove an assignment to 'error' which was never used. Signed-off-by: NeilBrown <neilb@suse.de> Acked-by: Jeff Layton <jlayton@redhat.com>
This commit is contained in:
parent
82e12fe924
commit
671e1fcf63
@ -390,11 +390,13 @@ nfsd_svc(unsigned short port, int nrservs)
|
|||||||
|
|
||||||
mutex_lock(&nfsd_mutex);
|
mutex_lock(&nfsd_mutex);
|
||||||
dprintk("nfsd: creating service\n");
|
dprintk("nfsd: creating service\n");
|
||||||
error = -EINVAL;
|
|
||||||
if (nrservs <= 0)
|
if (nrservs <= 0)
|
||||||
nrservs = 0;
|
nrservs = 0;
|
||||||
if (nrservs > NFSD_MAXSERVS)
|
if (nrservs > NFSD_MAXSERVS)
|
||||||
nrservs = NFSD_MAXSERVS;
|
nrservs = NFSD_MAXSERVS;
|
||||||
|
error = 0;
|
||||||
|
if (nrservs == 0 && nfsd_serv == NULL)
|
||||||
|
goto out;
|
||||||
|
|
||||||
/* Readahead param cache - will no-op if it already exists */
|
/* Readahead param cache - will no-op if it already exists */
|
||||||
error = nfsd_racache_init(2*nrservs);
|
error = nfsd_racache_init(2*nrservs);
|
||||||
|
Loading…
Reference in New Issue
Block a user