aboutsummaryrefslogtreecommitdiffstats
path: root/fs/nfs/nfs4renewd.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/nfs/nfs4renewd.c')
-rw-r--r--fs/nfs/nfs4renewd.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/nfs/nfs4renewd.c b/fs/nfs/nfs4renewd.c
index 72b6c580af13..df8e7f3ca56d 100644
--- a/fs/nfs/nfs4renewd.c
+++ b/fs/nfs/nfs4renewd.c
@@ -63,9 +63,10 @@ nfs4_renew_state(struct work_struct *work)
63 63
64 ops = clp->cl_mvops->state_renewal_ops; 64 ops = clp->cl_mvops->state_renewal_ops;
65 dprintk("%s: start\n", __func__); 65 dprintk("%s: start\n", __func__);
66 /* Are there any active superblocks? */ 66
67 if (list_empty(&clp->cl_superblocks)) 67 if (test_bit(NFS_CS_STOP_RENEW, &clp->cl_res_state))
68 goto out; 68 goto out;
69
69 spin_lock(&clp->cl_lock); 70 spin_lock(&clp->cl_lock);
70 lease = clp->cl_lease_time; 71 lease = clp->cl_lease_time;
71 last = clp->cl_last_renewal; 72 last = clp->cl_last_renewal;
@@ -75,7 +76,7 @@ nfs4_renew_state(struct work_struct *work)
75 cred = ops->get_state_renewal_cred_locked(clp); 76 cred = ops->get_state_renewal_cred_locked(clp);
76 spin_unlock(&clp->cl_lock); 77 spin_unlock(&clp->cl_lock);
77 if (cred == NULL) { 78 if (cred == NULL) {
78 if (list_empty(&clp->cl_delegations)) { 79 if (!nfs_delegations_present(clp)) {
79 set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state); 80 set_bit(NFS4CLNT_LEASE_EXPIRED, &clp->cl_state);
80 goto out; 81 goto out;
81 } 82 }