]> www.infradead.org Git - users/jedix/linux-maple.git/commit
nfs/blocklayout: Limit repeat device registration on failure
authorBenjamin Coddington <bcodding@redhat.com>
Fri, 22 Nov 2024 15:11:12 +0000 (10:11 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Thu, 28 Nov 2024 17:55:32 +0000 (12:55 -0500)
commit614733f9441ed53bb442d4734112ec1e24bd6da7
tree93b20d6e21c8ede6c9ec1302dec8281a46f47cf8
parent3a4ce14d9a6b868e0787e4582420b721c04ee41e
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: d869da91cccb ("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>
fs/nfs/blocklayout/blocklayout.c