Skip to content

Commit 037e56a

Browse files
Trond Myklebustamschuma-ntap
authored andcommitted
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: 183d9e7 ("pnfs: rework LAYOUTGET retry handling") Signed-off-by: Trond Myklebust <[email protected]> Signed-off-by: Anna Schumaker <[email protected]>
1 parent dce7292 commit 037e56a

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

fs/nfs/nfs4proc.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ static int nfs4_map_errors(int err)
170170
case -NFS4ERR_RESOURCE:
171171
case -NFS4ERR_LAYOUTTRYLATER:
172172
case -NFS4ERR_RECALLCONFLICT:
173+
case -NFS4ERR_RETURNCONFLICT:
173174
return -EREMOTEIO;
174175
case -NFS4ERR_WRONGSEC:
175176
case -NFS4ERR_WRONG_CRED:
@@ -558,6 +559,7 @@ static int nfs4_do_handle_exception(struct nfs_server *server,
558559
case -NFS4ERR_GRACE:
559560
case -NFS4ERR_LAYOUTTRYLATER:
560561
case -NFS4ERR_RECALLCONFLICT:
562+
case -NFS4ERR_RETURNCONFLICT:
561563
exception->delay = 1;
562564
return 0;
563565

@@ -9691,6 +9693,7 @@ nfs4_layoutget_handle_exception(struct rpc_task *task,
96919693
status = -EBUSY;
96929694
break;
96939695
case -NFS4ERR_RECALLCONFLICT:
9696+
case -NFS4ERR_RETURNCONFLICT:
96949697
status = -ERECALLCONFLICT;
96959698
break;
96969699
case -NFS4ERR_DELEG_REVOKED:

0 commit comments

Comments
 (0)