diff options
-rw-r--r-- | fs/nfs/nfs4proc.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/nfs/nfs4proc.c b/fs/nfs/nfs4proc.c index c3263114c6b8..4b66b0c469cd 100644 --- a/fs/nfs/nfs4proc.c +++ b/fs/nfs/nfs4proc.c | |||
@@ -3122,6 +3122,16 @@ static void nfs4_close_done(struct rpc_task *task, void *data) | |||
3122 | res_stateid = &calldata->res.stateid; | 3122 | res_stateid = &calldata->res.stateid; |
3123 | renew_lease(server, calldata->timestamp); | 3123 | renew_lease(server, calldata->timestamp); |
3124 | break; | 3124 | break; |
3125 | case -NFS4ERR_ACCESS: | ||
3126 | if (calldata->arg.bitmask != NULL) { | ||
3127 | calldata->arg.bitmask = NULL; | ||
3128 | calldata->res.fattr = NULL; | ||
3129 | task->tk_status = 0; | ||
3130 | rpc_restart_call_prepare(task); | ||
3131 | goto out_release; | ||
3132 | |||
3133 | } | ||
3134 | break; | ||
3125 | case -NFS4ERR_ADMIN_REVOKED: | 3135 | case -NFS4ERR_ADMIN_REVOKED: |
3126 | case -NFS4ERR_STALE_STATEID: | 3136 | case -NFS4ERR_STALE_STATEID: |
3127 | case -NFS4ERR_EXPIRED: | 3137 | case -NFS4ERR_EXPIRED: |