Commit 078a432d authored by Trond Myklebust's avatar Trond Myklebust Committed by Anna Schumaker

NFSv4: Handle NFS4ERR_DELAY correctly in return-on-close

If the server sends a NFS4ERR_DELAY, then allow the caller to retry.
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent 287a9c55
...@@ -1455,6 +1455,10 @@ int pnfs_roc_done(struct rpc_task *task, struct inode *inode, ...@@ -1455,6 +1455,10 @@ int pnfs_roc_done(struct rpc_task *task, struct inode *inode,
case 0: case 0:
retval = 0; retval = 0;
break; break;
case -NFS4ERR_DELAY:
/* Let the caller handle the retry */
*ret = -NFS4ERR_NOMATCHING_LAYOUT;
return 0;
case -NFS4ERR_OLD_STATEID: case -NFS4ERR_OLD_STATEID:
if (!nfs4_layoutreturn_refresh_stateid(&arg->stateid, if (!nfs4_layoutreturn_refresh_stateid(&arg->stateid,
&arg->range, inode)) &arg->range, inode))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment