NFSD: simplify per-net file cache management
authorNeilBrown <neilb@suse.de>
Tue, 30 Nov 2021 23:58:14 +0000 (10:58 +1100)
committerChuck Lever <chuck.lever@oracle.com>
Mon, 13 Dec 2021 18:42:59 +0000 (13:42 -0500)
commit1463b38e7cf34d4cc60f41daff459ad807b2e408
tree0e428f9bc63900ec78202075d1cf3db7228b191a
parent1e37d0e5bda45881eea1bec4b812def72c7d4aea
NFSD: simplify per-net file cache management

We currently have a 'laundrette' for closing cached files - a different
work-item for each network-namespace.

These 'laundrettes' (aka struct nfsd_fcache_disposal) are currently on a
list, and are freed using rcu.

The list is not necessary as we have a per-namespace structure (struct
nfsd_net) which can hold a link to the nfsd_fcache_disposal.
The use of kfree_rcu is also unnecessary as the cache is cleaned of all
files associated with a given namespace, and no new files can be added,
before the nfsd_fcache_disposal is freed.

So add a '->fcache_disposal' link to nfsd_net, and discard the list
management and rcu usage.

Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
fs/nfsd/filecache.c
fs/nfsd/netns.h