Commit 126966dd authored by Trond Myklebust's avatar Trond Myklebust Committed by Anna Schumaker

pNFS/files: Fall back to I/O through the MDS on non-fatal layout errors

Only report the error when the server is returning a fatal error, such
as ESTALE, EIO, etc...
Signed-off-by: default avatarTrond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: default avatarAnna Schumaker <Anna.Schumaker@Netapp.com>
parent c6fd3511
......@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment