linux/fs/nfs/blocklayout
Benjamin Coddington 614733f944 nfs/blocklayout: Limit repeat device registration on failure
Every pNFS SCSI IO wants to do LAYOUTGET, then within the layout find the
device which can drive GETDEVINFO, then finally may need to prep the device
with a reservation.  This slow work makes a mess of IO latencies if one of
the later steps is going to fail for awhile.

If we're unable to register a SCSI device, ensure we mark the device as
unavailable so that it will timeout and be re-added via GETDEVINFO.  This
avoids repeated doomed attempts to register a device in the IO path.

Add some clarifying comments as well.

Fixes: d869da91cc ("nfs/blocklayout: Fix premature PR key unregistration")
Signed-off-by: Benjamin Coddington <bcodding@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2024-11-28 12:55:32 -05:00
..
blocklayout.c nfs/blocklayout: Limit repeat device registration on failure 2024-11-28 12:55:32 -05:00
blocklayout.h nfs/blocklayout: Fix premature PR key unregistration 2024-07-08 13:47:27 -04:00
dev.c nfs/blocklayout: Don't attempt unregister for invalid block device 2024-11-28 12:55:32 -05:00
extent_tree.c mm: remove the pgprot argument to __vmalloc 2020-06-02 10:59:11 -07:00
Makefile treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
rpc_pipefs.c rpc_pipefs: Replace one label in bl_resolve_deviceid() 2024-01-04 10:47:56 -05:00