|
@@ -4235,7 +4235,13 @@ static void nfs4_renew_done(struct rpc_task *task, void *calldata)
|
|
|
unsigned long timestamp = data->timestamp;
|
|
|
|
|
|
trace_nfs4_renew_async(clp, task->tk_status);
|
|
|
- if (task->tk_status < 0) {
|
|
|
+ switch (task->tk_status) {
|
|
|
+ case 0:
|
|
|
+ break;
|
|
|
+ case -NFS4ERR_LEASE_MOVED:
|
|
|
+ nfs4_schedule_lease_moved_recovery(clp);
|
|
|
+ break;
|
|
|
+ default:
|
|
|
/* Unless we're shutting down, schedule state recovery! */
|
|
|
if (test_bit(NFS_CS_RENEWD, &clp->cl_res_state) == 0)
|
|
|
return;
|