Commit 147efd0d authored by J. Bruce Fields's avatar J. Bruce Fields

nfsd4: shutdown callbacks on expiry

Once we've expired the client, there's no further purpose to the
callbacks; go ahead and shut down the callback client rather than
waiting for the last reference to go.
Signed-off-by: default avatarJ. Bruce Fields <bfields@citi.umich.edu>
parent 227f98d9
...@@ -697,9 +697,6 @@ shutdown_callback_client(struct nfs4_client *clp) ...@@ -697,9 +697,6 @@ shutdown_callback_client(struct nfs4_client *clp)
static inline void static inline void
free_client(struct nfs4_client *clp) free_client(struct nfs4_client *clp)
{ {
shutdown_callback_client(clp);
if (clp->cl_cb_xprt)
svc_xprt_put(clp->cl_cb_xprt);
if (clp->cl_cred.cr_group_info) if (clp->cl_cred.cr_group_info)
put_group_info(clp->cl_cred.cr_group_info); put_group_info(clp->cl_cred.cr_group_info);
kfree(clp->cl_principal); kfree(clp->cl_principal);
...@@ -752,6 +749,9 @@ expire_client(struct nfs4_client *clp) ...@@ -752,6 +749,9 @@ expire_client(struct nfs4_client *clp)
se_perclnt); se_perclnt);
release_session(ses); release_session(ses);
} }
shutdown_callback_client(clp);
if (clp->cl_cb_xprt)
svc_xprt_put(clp->cl_cb_xprt);
put_nfs4_client(clp); put_nfs4_client(clp);
} }
......
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