Skip to content
Commit 03d68ffc authored by NeilBrown's avatar NeilBrown Committed by Greg Kroah-Hartman
Browse files

nfsd: separate nfsd_last_thread() from nfsd_put()

[ Upstream commit 9f28a971

 ]

Now that the last nfsd thread is stopped by an explicit act of calling
svc_set_num_threads() with a count of zero, we only have a limited
number of places that can happen, and don't need to call
nfsd_last_thread() in nfsd_put()

So separate that out and call it at the two places where the number of
threads is set to zero.

Move the clearing of ->nfsd_serv and the call to svc_xprt_destroy_all()
into nfsd_last_thread(), as they are really part of the same action.

nfsd_put() is now a thin wrapper around svc_put(), so make it a static
inline.

nfsd_put() cannot be called after nfsd_last_thread(), so in a couple of
places we have to use svc_put() instead.

Signed-off-by: default avatarNeilBrown <neilb@suse.de>
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
Stable-dep-of: 2a501f55

 ("nfsd: call nfsd_last_thread() before final nfsd_put()")
Signed-off-by: default avatarSasha Levin <sashal@kernel.org>
parent 481561a4
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment