Skip to content

Commit

Permalink
pNFS/files: Fall back to I/O through the MDS on non-fatal layout errors
Browse files Browse the repository at this point in the history
Only report the error when the server is returning a fatal error, such
as ESTALE, EIO, etc...

Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
  • Loading branch information
Trond Myklebust authored and Anna Schumaker committed May 17, 2022
1 parent c6fd351 commit 126966d
Showing 1 changed file with 6 additions and 1 deletion.
7 changes: 6 additions & 1 deletion fs/nfs/filelayout/filelayout.c
Original file line number Diff line number Diff line change
Expand Up @@ -839,7 +839,12 @@ fl_pnfs_update_layout(struct inode *ino,

lseg = pnfs_update_layout(ino, ctx, pos, count, iomode, strict_iomode,
gfp_flags);
if (IS_ERR_OR_NULL(lseg))
if (IS_ERR(lseg)) {
/* Fall back to MDS on recoverable errors */
if (!nfs_error_is_fatal_on_server(PTR_ERR(lseg)))
lseg = NULL;
goto out;
} else if (!lseg)
goto out;

lo = NFS_I(ino)->layout;
Expand Down

0 comments on commit 126966d

Please sign in to comment.