]> git.baikalelectronics.ru Git - kernel.git/commit
pNFS/flexfiles: Add support for FF_FLAGS_NO_IO_THRU_MDS
authorTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 2 Nov 2015 14:59:00 +0000 (09:59 -0500)
committerTrond Myklebust <trond.myklebust@primarydata.com>
Mon, 2 Nov 2015 18:50:37 +0000 (13:50 -0500)
commitbd7f3b048f4475540c8ef892f2c0e76467176309
treeaa4b89ce7367791def57c172ddeb5dcf5bbdec2b
parent07e5663fdcd9f23005dde83654e6937c4f81804e
pNFS/flexfiles: Add support for FF_FLAGS_NO_IO_THRU_MDS

For loosely coupled pNFS/flexfiles systems, there is often no advantage
at all in going through the MDS for I/O, since the MDS is subject to
the same limitations as all other clients when talking to DSes. If a
DS is unresponsive, I/O through the MDS will fail.

For such systems, the only scalable solution is to have the pNFS clients
retry doing pNFS, and so the protocol now provides a flag that allows
the pNFS server to signal this.

If LAYOUTGET returns FF_FLAGS_NO_IO_THRU_MDS, then we should assume that
the MDS wants the client to retry using these devices, even if they were
previously marked as being unavailable. To do so, we add a helper,
ff_layout_mark_devices_valid() that will be called from layoutget.

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