|
@@ -4988,11 +4988,17 @@ static void nfs4_delegreturn_done(struct rpc_task *task, void *calldata)
|
|
|
|
|
|
trace_nfs4_delegreturn_exit(&data->args, &data->res, task->tk_status);
|
|
|
switch (task->tk_status) {
|
|
|
- case -NFS4ERR_STALE_STATEID:
|
|
|
- case -NFS4ERR_EXPIRED:
|
|
|
case 0:
|
|
|
renew_lease(data->res.server, data->timestamp);
|
|
|
break;
|
|
|
+ case -NFS4ERR_ADMIN_REVOKED:
|
|
|
+ case -NFS4ERR_DELEG_REVOKED:
|
|
|
+ case -NFS4ERR_BAD_STATEID:
|
|
|
+ case -NFS4ERR_OLD_STATEID:
|
|
|
+ case -NFS4ERR_STALE_STATEID:
|
|
|
+ case -NFS4ERR_EXPIRED:
|
|
|
+ task->tk_status = 0;
|
|
|
+ break;
|
|
|
default:
|
|
|
if (nfs4_async_handle_error(task, data->res.server, NULL) ==
|
|
|
-EAGAIN) {
|