NFSv4: don't require lock for get_renew_cred or get_machine_cred
This lock is no longer necessary. If nfs4_get_renew_cred() needs to hunt through the open-state creds for a user cred, it still takes the lock to stablize the rbtree, but otherwise there are no races. Note that this completely removes the lock from nfs4_renew_state(). It appears that the original need for the locking here was removed long ago, and there is no longer anything to protect. Signed-off-by: NeilBrown <neilb@suse.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
This commit is contained in:

committed by
Anna Schumaker

parent
a534ecb013
commit
f15e1e8bc6
@@ -68,7 +68,6 @@ nfs4_renew_state(struct work_struct *work)
|
||||
if (test_bit(NFS_CS_STOP_RENEW, &clp->cl_res_state))
|
||||
goto out;
|
||||
|
||||
spin_lock(&clp->cl_lock);
|
||||
lease = clp->cl_lease_time;
|
||||
last = clp->cl_last_renewal;
|
||||
now = jiffies;
|
||||
@@ -79,8 +78,7 @@ nfs4_renew_state(struct work_struct *work)
|
||||
renew_flags |= NFS4_RENEW_DELEGATION_CB;
|
||||
|
||||
if (renew_flags != 0) {
|
||||
cred = ops->get_state_renewal_cred_locked(clp);
|
||||
spin_unlock(&clp->cl_lock);
|
||||
cred = ops->get_state_renewal_cred(clp);
|
||||
if (cred == NULL) {
|
||||
if (!(renew_flags & NFS4_RENEW_DELEGATION_CB)) {
|
||||
set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state);
|
||||
@@ -104,7 +102,6 @@ nfs4_renew_state(struct work_struct *work)
|
||||
} else {
|
||||
dprintk("%s: failed to call renewd. Reason: lease not expired \n",
|
||||
__func__);
|
||||
spin_unlock(&clp->cl_lock);
|
||||
}
|
||||
nfs4_schedule_state_renewal(clp);
|
||||
out_exp:
|
||||
|
Reference in New Issue
Block a user