Skip to content

Commit 789e1e1

Browse files
jtlaytonchucklever
authored andcommitted
nfsd: shut down the NFSv4 state objects before the filecache
Currently, we shut down the filecache before trying to clean up the stateids that depend on it. This leads to the kernel trying to free an nfsd_file twice, and a refcount overput on the nf_mark. Change the shutdown procedure to tear down all of the stateids prior to shutting down the filecache. Reported-and-tested-by: Wang Yugui <wangyugui@e16-tech.com> Signed-off-by: Jeff Layton <jlayton@kernel.org> Fixes: 5e11322 ("nfsd: nfsd_file cache entries should be per net namespace") Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
1 parent 75333d4 commit 789e1e1

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

fs/nfsd/nfssvc.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -453,8 +453,8 @@ static void nfsd_shutdown_net(struct net *net)
453453
{
454454
struct nfsd_net *nn = net_generic(net, nfsd_net_id);
455455

456-
nfsd_file_cache_shutdown_net(net);
457456
nfs4_state_shutdown_net(net);
457+
nfsd_file_cache_shutdown_net(net);
458458
if (nn->lockd_up) {
459459
lockd_down(net);
460460
nn->lockd_up = false;

0 commit comments

Comments
 (0)