Commit 789e1e10 authored by Jeff Layton's avatar Jeff Layton Committed by Chuck Lever

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: default avatarWang Yugui <wangyugui@e16-tech.com>
Signed-off-by: default avatarJeff Layton <jlayton@kernel.org>
Fixes: 5e113224 ("nfsd: nfsd_file cache entries should be per net namespace")
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent 75333d48
......@@ -453,8 +453,8 @@ static void nfsd_shutdown_net(struct net *net)
{
struct nfsd_net *nn = net_generic(net, nfsd_net_id);
nfsd_file_cache_shutdown_net(net);
nfs4_state_shutdown_net(net);
nfsd_file_cache_shutdown_net(net);
if (nn->lockd_up) {
lockd_down(net);
nn->lockd_up = false;
......
Markdown is supported
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