mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 13:37:36 +02:00
pNFS: Don't keep retrying if the server replied NFS4ERR_LAYOUTUNAVAILABLE
[ Upstream commitfe44fb23d6] If the server tells us that a pNFS layout is not available for a specific file, then we should not keep pounding it with further layoutget requests. Fixes:183d9e7b11("pnfs: rework LAYOUTGET retry handling") Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com> Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
4603a37f6e
commit
03ea83324a
|
|
@ -2155,6 +2155,12 @@ pnfs_update_layout(struct inode *ino,
|
||||||
case -ERECALLCONFLICT:
|
case -ERECALLCONFLICT:
|
||||||
case -EAGAIN:
|
case -EAGAIN:
|
||||||
break;
|
break;
|
||||||
|
case -ENODATA:
|
||||||
|
/* The server returned NFS4ERR_LAYOUTUNAVAILABLE */
|
||||||
|
pnfs_layout_set_fail_bit(
|
||||||
|
lo, pnfs_iomode_to_fail_bit(iomode));
|
||||||
|
lseg = NULL;
|
||||||
|
goto out_put_layout_hdr;
|
||||||
default:
|
default:
|
||||||
if (!nfs_error_is_fatal(PTR_ERR(lseg))) {
|
if (!nfs_error_is_fatal(PTR_ERR(lseg))) {
|
||||||
pnfs_layout_clear_fail_bit(lo, pnfs_iomode_to_fail_bit(iomode));
|
pnfs_layout_clear_fail_bit(lo, pnfs_iomode_to_fail_bit(iomode));
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user