]> 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)
commit392057859aad081068bb450ded40cd74e742ff17
treeb92dd290a1e68aeb69f07082299260418f194810
parent6e0c2e93c2a9e12a69927d095e2847ce70845991
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