]> git.hungrycats.org Git - linux/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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2024 12:54:33 +0000 (13:54 +0100)
commitf6a1bb6de4548575400352a9eb1b8be1f244b91f
tree4eae5d0f6de516b8f05083c05403021cd7a74333
parent3402704a424f34bbcca7f4a4503859357f422217
nfs/blocklayout: Limit repeat device registration on failure

[ Upstream commit 614733f9441ed53bb442d4734112ec1e24bd6da7 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
fs/nfs/blocklayout/blocklayout.c