summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOlga Kornievskaia <kolga@netapp.com>2017-03-30 10:10:55 -0400
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2017-03-30 13:27:20 -0400
commitfabbbee0eb0f4b763576ac1e2db4fc3bf6dcc0cc (patch)
treecce36ff8fbe9b6785596884ff903f5fcb053ec72
parent8d40b0f14846f7d45c7c72d343fe62cb866dda34 (diff)
downloadlinux-fabbbee0eb0f4b763576ac1e2db4fc3bf6dcc0cc.tar.bz2
PNFS fix fallback to MDS if got error on commit to DS
Upong receiving some errors (EACCES) on commit to the DS the code doesn't fallback to MDS and intead retrieds to the same DS again. Signed-off-by: Olga Kornievskaia <kolga@netapp.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
-rw-r--r--fs/nfs/filelayout/filelayout.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/nfs/filelayout/filelayout.c b/fs/nfs/filelayout/filelayout.c
index 367f8eb19bfa..c9230fecc77e 100644
--- a/fs/nfs/filelayout/filelayout.c
+++ b/fs/nfs/filelayout/filelayout.c
@@ -202,10 +202,10 @@ static int filelayout_async_handle_error(struct rpc_task *task,
task->tk_status);
nfs4_mark_deviceid_unavailable(devid);
pnfs_error_mark_layout_for_return(inode, lseg);
- pnfs_set_lo_fail(lseg);
rpc_wake_up(&tbl->slot_tbl_waitq);
/* fall through */
default:
+ pnfs_set_lo_fail(lseg);
reset:
dprintk("%s Retry through MDS. Error %d\n", __func__,
task->tk_status);