summaryrefslogtreecommitdiffstats
path: root/fs/nfs/filelayout/filelayout.c
diff options
context:
space:
mode:
authorOlga Kornievskaia <kolga@netapp.com>2017-03-30 16:10:55 +0200
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2017-03-30 19:27:20 +0200
commitfabbbee0eb0f4b763576ac1e2db4fc3bf6dcc0cc (patch)
treecce36ff8fbe9b6785596884ff903f5fcb053ec72 /fs/nfs/filelayout/filelayout.c
parentNFS filelayout:call GETDEVICEINFO after pnfs_layout_process completes (diff)
downloadlinux-fabbbee0eb0f4b763576ac1e2db4fc3bf6dcc0cc.tar.xz
linux-fabbbee0eb0f4b763576ac1e2db4fc3bf6dcc0cc.zip
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>
Diffstat (limited to 'fs/nfs/filelayout/filelayout.c')
-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);