NFS: restore module put when manager exits.

Commit f49169c97f ("NFSD: Remove svc_serv_ops::svo_module") removed
calls to module_put_and_kthread_exit() from threads that acted as SUNRPC
servers and had a related svc_serv_ops structure.  This was correct.

It ALSO removed the module_put_and_kthread_exit() call from
nfs4_run_state_manager() which is NOT a SUNRPC service.

Consequently every time the NFSv4 state manager runs the module count
increments and won't be decremented.  So the nfsv4 module cannot be
unloaded.

So restore the module_put_and_kthread_exit() call.

Fixes: f49169c97f ("NFSD: Remove svc_serv_ops::svo_module")
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:
NeilBrown 2022-06-23 14:47:34 +10:00 committed by Anna Schumaker
parent 03c765b0e3
commit 080abad71e

View File

@ -2753,5 +2753,6 @@ static int nfs4_run_state_manager(void *ptr)
goto again; goto again;
nfs_put_client(clp); nfs_put_client(clp);
module_put_and_kthread_exit(0);
return 0; return 0;
} }