diff options
Diffstat (limited to 'fs/nfs/nfs4state.c')
-rw-r--r-- | fs/nfs/nfs4state.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/fs/nfs/nfs4state.c b/fs/nfs/nfs4state.c index 834b875900d6..cada00aa5096 100644 --- a/fs/nfs/nfs4state.c +++ b/fs/nfs/nfs4state.c | |||
@@ -277,20 +277,17 @@ static int nfs41_setup_state_renewal(struct nfs_client *clp) | |||
277 | { | 277 | { |
278 | int status; | 278 | int status; |
279 | struct nfs_fsinfo fsinfo; | 279 | struct nfs_fsinfo fsinfo; |
280 | unsigned long now; | ||
280 | 281 | ||
281 | if (!test_bit(NFS_CS_CHECK_LEASE_TIME, &clp->cl_res_state)) { | 282 | if (!test_bit(NFS_CS_CHECK_LEASE_TIME, &clp->cl_res_state)) { |
282 | nfs4_schedule_state_renewal(clp); | 283 | nfs4_schedule_state_renewal(clp); |
283 | return 0; | 284 | return 0; |
284 | } | 285 | } |
285 | 286 | ||
287 | now = jiffies; | ||
286 | status = nfs4_proc_get_lease_time(clp, &fsinfo); | 288 | status = nfs4_proc_get_lease_time(clp, &fsinfo); |
287 | if (status == 0) { | 289 | if (status == 0) { |
288 | /* Update lease time and schedule renewal */ | 290 | nfs4_set_lease_period(clp, fsinfo.lease_time * HZ, now); |
289 | spin_lock(&clp->cl_lock); | ||
290 | clp->cl_lease_time = fsinfo.lease_time * HZ; | ||
291 | clp->cl_last_renewal = jiffies; | ||
292 | spin_unlock(&clp->cl_lock); | ||
293 | |||
294 | nfs4_schedule_state_renewal(clp); | 291 | nfs4_schedule_state_renewal(clp); |
295 | } | 292 | } |
296 | 293 | ||