Commit 037e56a2 authored by Trond Myklebust's avatar Trond Myklebust Committed by Anna Schumaker

NFSv4.1/pnfs: Ensure we handle the error NFS4ERR_RETURNCONFLICT

Once the client has processed the CB_LAYOUTRECALL, but has not yet
successfully returned the layout, the server is supposed to switch to
returning NFS4ERR_RETURNCONFLICT. This patch ensures that we handle
that return value correctly.

Fixes: 183d9e7b ("pnfs: rework LAYOUTGET retry handling")
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent dce72920
...@@ -170,6 +170,7 @@ static int nfs4_map_errors(int err) ...@@ -170,6 +170,7 @@ static int nfs4_map_errors(int err)
case -NFS4ERR_RESOURCE: case -NFS4ERR_RESOURCE:
case -NFS4ERR_LAYOUTTRYLATER: case -NFS4ERR_LAYOUTTRYLATER:
case -NFS4ERR_RECALLCONFLICT: case -NFS4ERR_RECALLCONFLICT:
case -NFS4ERR_RETURNCONFLICT:
return -EREMOTEIO; return -EREMOTEIO;
case -NFS4ERR_WRONGSEC: case -NFS4ERR_WRONGSEC:
case -NFS4ERR_WRONG_CRED: case -NFS4ERR_WRONG_CRED:
...@@ -558,6 +559,7 @@ static int nfs4_do_handle_exception(struct nfs_server *server, ...@@ -558,6 +559,7 @@ static int nfs4_do_handle_exception(struct nfs_server *server,
case -NFS4ERR_GRACE: case -NFS4ERR_GRACE:
case -NFS4ERR_LAYOUTTRYLATER: case -NFS4ERR_LAYOUTTRYLATER:
case -NFS4ERR_RECALLCONFLICT: case -NFS4ERR_RECALLCONFLICT:
case -NFS4ERR_RETURNCONFLICT:
exception->delay = 1; exception->delay = 1;
return 0; return 0;
...@@ -9691,6 +9693,7 @@ nfs4_layoutget_handle_exception(struct rpc_task *task, ...@@ -9691,6 +9693,7 @@ nfs4_layoutget_handle_exception(struct rpc_task *task,
status = -EBUSY; status = -EBUSY;
break; break;
case -NFS4ERR_RECALLCONFLICT: case -NFS4ERR_RECALLCONFLICT:
case -NFS4ERR_RETURNCONFLICT:
status = -ERECALLCONFLICT; status = -ERECALLCONFLICT;
break; break;
case -NFS4ERR_DELEG_REVOKED: case -NFS4ERR_DELEG_REVOKED:
......
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