summaryrefslogtreecommitdiff
path: root/fs
diff options
context:
space:
mode:
authorOlga Kornievskaia <kolga@netapp.com>2017-03-30 17:10:55 +0300
committerAnna Schumaker <Anna.Schumaker@Netapp.com>2017-03-30 20:27:20 +0300
commitfabbbee0eb0f4b763576ac1e2db4fc3bf6dcc0cc (patch)
treecce36ff8fbe9b6785596884ff903f5fcb053ec72 /fs
parent8d40b0f14846f7d45c7c72d343fe62cb866dda34 (diff)
downloadlinux-fabbbee0eb0f4b763576ac1e2db4fc3bf6dcc0cc.tar.xz
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')
-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);