]> git.baikalelectronics.ru Git - kernel.git/commit
NFS/flexfiles: Send LAYOUTERROR when failing over mirrored reads
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 11 Feb 2019 03:38:43 +0000 (22:38 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Sat, 2 Mar 2019 03:37:37 +0000 (22:37 -0500)
commit45a61a33ca24aa8ee59fd0bf3951deb6903f28bd
treeb92dd290a1e68aeb69f07082299260418f194810
parent51d7cbcbaa625849bae19ca0fe6f0b87b4b0f69a
NFS/flexfiles: Send LAYOUTERROR when failing over mirrored reads

When a read to the preferred mirror returns an error, the flexfiles
driver records the error in the inode list and currently marks the
layout for return before failing over the attempted read to the next
mirror.
What we actually want to do is fire off a LAYOUTERROR to notify the
MDS that there is an issue with the preferred mirror, then we fail
over. Only once we've failed to read from all mirrors should we
return the layout.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/flexfilelayout/flexfilelayout.c
fs/nfs/flexfilelayout/flexfilelayout.h
fs/nfs/flexfilelayout/flexfilelayoutdev.c