Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

nfsd4: Fix forced-expiry locking

This should use the network-namespace-wide client_lock, not the
per-client cl_lock.

You shouldn't see any bugs unless you're actually using the
forced-expiry interface introduced by 89c905beccbb.

Fixes: 89c905beccbb "nfsd: allow forced expiration of NFSv4 clients"
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>

authored by

J. Bruce Fields and committed by
Chuck Lever
f7104cc1 5a475344

+2 -2
+2 -2
fs/nfsd/nfs4state.c
··· 2687 2687 2688 2688 trace_nfsd_clid_admin_expired(&clp->cl_clientid); 2689 2689 2690 - spin_lock(&clp->cl_lock); 2690 + spin_lock(&nn->client_lock); 2691 2691 clp->cl_time = 0; 2692 - spin_unlock(&clp->cl_lock); 2692 + spin_unlock(&nn->client_lock); 2693 2693 2694 2694 wait_event(expiry_wq, atomic_read(&clp->cl_rpc_users) == 0); 2695 2695 spin_lock(&nn->client_lock);