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

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
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -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;