NFS: restore module put when manager exits.
authorNeilBrown <neilb@suse.de>
Thu, 23 Jun 2022 04:47:34 +0000 (14:47 +1000)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 30 Jun 2022 20:13:00 +0000 (16:13 -0400)
commit080abad71e99d2becf38c978572982130b927a28
tree86377e4f860b83540958db476304d7e4c44037f0
parent03c765b0e3b4cb5063276b086c76f7a612856a9a
NFS: restore module put when manager exits.

Commit f49169c97fce ("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: f49169c97fce ("NFSD: Remove svc_serv_ops::svo_module")
Signed-off-by: NeilBrown <neilb@suse.de>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/nfs4state.c