]> git.ipfire.org Git - thirdparty/linux.git/commit
svc: don't hold reference for poolstats, only mutex.
authorNeilBrown <neilb@suse.de>
Fri, 15 Dec 2023 00:56:32 +0000 (11:56 +1100)
committerChuck Lever <chuck.lever@oracle.com>
Sun, 7 Jan 2024 22:54:33 +0000 (17:54 -0500)
commit7b207ccd983350a5dedd132b57c666186dd02a7c
treec953afe0aee7eb0e2608ac61c67dfda73c480e23
parent05a4b58301c38fbb81cc10a79f246f3dea0043c5
svc: don't hold reference for poolstats, only mutex.

A future patch will remove refcounting on svc_serv as it is of little
use.
It is currently used to keep the svc around while the pool_stats file is
open.
Change this to get the pointer, protected by the mutex, only in
seq_start, and the release the mutex in seq_stop.
This means that if the nfsd server is stopped and restarted while the
pool_stats file it open, then some pool stats info could be from the
first instance and some from the second.  This might appear odd, but is
unlikely to be a problem in practice.

Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/netns.h
fs/nfsd/nfsctl.c
fs/nfsd/nfssvc.c
include/linux/sunrpc/svc.h
net/sunrpc/svc_xprt.c