NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated
authorTrond Myklebust <trond.myklebust@hammerspace.com>
Wed, 27 Feb 2019 20:37:36 +0000 (15:37 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Fri, 1 Mar 2019 21:20:16 +0000 (16:20 -0500)
commita79f194aa4879e9baad118c3f8bb2ca24dbef765
tree202028379bf0ff4ac68952614d76ab434cf9da50
parent39a5201a2b450c2bf0447fb65305654c65f7f954
NFSv4/flexfiles: Abort I/O early if the layout segment was invalidated

If a layout segment gets invalidated while a pNFS I/O operation
is queued for transmission, then we ideally want to abort
immediately. This is particularly the case when there is a large
number of I/O related RPCs queued in the RPC layer, and the layout
segment gets invalidated due to an ENOSPC error, or an EACCES (because
the client was fenced). We may end up forced to spam the MDS with a
lot of otherwise unnecessary LAYOUTERRORs after that I/O fails.

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
fs/nfs/flexfilelayout/flexfilelayout.c
include/linux/sunrpc/sched.h
net/sunrpc/xprt.c