nfsd: Fix races between nfsd4_cb_release() and nfsd4_shutdown_callback()
When we're destroying the client lease, and we call nfsd4_shutdown_callback(), we must ensure that we do not return before all outstanding callbacks have terminated and have released their payloads. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
This commit is contained in:

committed by
J. Bruce Fields

parent
12357f1b2c
commit
2bbfed98a4
@@ -367,6 +367,7 @@ struct nfs4_client {
|
||||
struct net *net;
|
||||
struct list_head async_copies; /* list of async copies */
|
||||
spinlock_t async_lock; /* lock for async copies */
|
||||
atomic_t cl_cb_inflight; /* Outstanding callbacks */
|
||||
};
|
||||
|
||||
/* struct nfs4_client_reset
|
||||
|
Reference in New Issue
Block a user