pNFS: Add tracking to limit the number of pNFS retries
authorTrond Myklebust <trondmy@gmail.com>
Sun, 7 Apr 2019 17:59:08 +0000 (13:59 -0400)
committerAnna Schumaker <Anna.Schumaker@Netapp.com>
Thu, 25 Apr 2019 18:18:14 +0000 (14:18 -0400)
commit33344e0f7eaa2efbf9fcc55557d02e8603aa7012
treed4d349e0fd2dfca232c8fc02b6d47ca1ac626caf
parent28b1d3f5a772b705ca76df620eb9f686aa2d0b4c
pNFS: Add tracking to limit the number of pNFS retries

When the client is reading or writing using pNFS, and hits an error
on the DS, then it typically sends a LAYOUTERROR and/or LAYOUTRETURN
to the MDS, before redirtying the failed pages, and going for a new
round of reads/writebacks. The problem is that if the server has no
way to fix the DS, then we may need a way to interrupt this loop
after a set number of attempts have been made.
This patch adds an optional module parameter that allows the admin
to specify how many times to retry the read/writeback process before
failing with a fatal error.
The default behaviour is to retry forever.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
fs/nfs/direct.c
fs/nfs/flexfilelayout/flexfilelayout.c
fs/nfs/pagelist.c
fs/nfs/write.c
include/linux/nfs_page.h