linux-stable/fs/nfs
Trond Myklebust dcc00106c3 NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout
[ Upstream commit 3764a17e31 ]

Commit 587f03deb6 caused pnfs_update_layout() to stop returning ENOMEM
when the memory allocation fails, and hence causes it to fall back to
trying to do I/O through the MDS. There is no guarantee that this will
fare any better. If we're failing the pNFS layout allocation, then we
should just redirty the page and retry later.

Reported-by: Olga Kornievskaia <aglo@umich.edu>
Fixes: 587f03deb6 ("pnfs: refactor send_layoutget")
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>
2022-06-14 18:11:43 +02:00
..
blocklayout
filelayout NFS: fix an incorrect limit in filelayout_decode_layout() 2021-06-03 08:59:06 +02:00
flexfilelayout pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds 2021-11-17 09:48:44 +01:00
cache_lib.c
cache_lib.h
callback.c
callback.h NFSv4.1: Fix uninitialised variable in devicenotify 2022-02-16 12:52:48 +01:00
callback_proc.c NFSv4/pNFS: Fix another issue with a list iterator pointing to the head 2022-04-15 14:18:21 +02:00
callback_xdr.c NFS: remove unneeded check in decode_devicenotify_args() 2022-04-15 14:18:19 +02:00
client.c NFS: Fix initialisation of nfs_client cl_flags field 2022-02-16 12:52:47 +01:00
delegation.c NFS: Fix an RCU lock leak in nfs4_refresh_delegation_stateid() 2019-11-01 11:03:56 -04:00
delegation.h NFSv4: Don't allow a cached open with a revoked delegation 2019-11-01 10:59:26 -04:00
dir.c NFS: LOOKUP_DIRECTORY is also ok with symlinks 2022-02-23 11:59:59 +01:00
direct.c NFS: swap-out must always use STABLE writes. 2022-04-15 14:18:36 +02:00
dns_resolve.c
dns_resolve.h
export.c
file.c NFS: Do not report flush errors in nfs_write_end() 2022-06-14 18:11:43 +02:00
fscache-index.c nfs: fscache: use timespec64 in inode auxdata 2020-05-20 08:20:23 +02:00
fscache.c NFSv4: Fix fscache cookie aux_data to ensure change_attr is included 2020-05-20 08:20:23 +02:00
fscache.h nfs: fscache: use timespec64 in inode auxdata 2020-05-20 08:20:23 +02:00
getroot.c
inode.c NFS: Do not report writeback errors in nfs_getattr() 2022-02-23 11:59:59 +01:00
internal.h NFS: Memory allocation failures are not server fatal errors 2022-06-06 08:33:51 +02:00
io.c
iostat.h
Kconfig nfs: fix PNFS_FLEXFILE_LAYOUT Kconfig default 2021-03-30 14:35:21 +02:00
Makefile
mount_clnt.c NFSv3: fix rpc receive buffer size for MOUNT call 2020-05-20 08:20:27 +02:00
namespace.c NFS: fix nfs_path in case of a rename retry 2020-11-05 11:43:24 +01:00
netns.h
nfs.h
nfs2super.c
nfs2xdr.c NFS: Return valid errors from nfs2/3_decode_dirent() 2022-04-15 14:18:18 +02:00
nfs3_fs.h
nfs3acl.c nfs: Fix potential posix_acl refcnt leak in nfs3_set_acl 2020-05-06 08:15:16 +02:00
nfs3client.c
nfs3proc.c nfs: fix acl memory leak of posix_acl_create() 2021-07-20 16:10:49 +02:00
nfs3super.c
nfs3xdr.c NFS: Return valid errors from nfs2/3_decode_dirent() 2022-04-15 14:18:18 +02:00
nfs4_fs.h NFSv4 expose nfs_parse_server_name function 2022-02-16 12:52:48 +01:00
nfs4client.c nfs: nfs4clinet: check the return value of kstrdup() 2022-02-16 12:52:48 +01:00
nfs4file.c NFSv4: Fix v4.0/v4.1 SEEK_DATA return -ENOTSUPP when set NFS_V4_2 config 2021-06-03 08:59:06 +02:00
nfs4getroot.c
nfs4idmap.c
nfs4idmap.h
nfs4namespace.c NFSv4 expose nfs_parse_server_name function 2022-02-16 12:52:48 +01:00
nfs4proc.c NFSv4: Don't invalidate inode attributes on delegation return 2022-05-12 12:23:47 +02:00
nfs4renewd.c NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals 2020-02-14 16:34:11 -05:00
nfs4session.c
nfs4session.h
nfs4state.c NFSv4: Protect the state recovery thread against direct reclaim 2022-04-15 14:18:35 +02:00
nfs4super.c NFSv4: Fix a pNFS layout related use-after-free race when freeing the inode 2021-01-06 14:48:40 +01:00
nfs4sysctl.c
nfs4trace.c
nfs4trace.h NFSv4: Wait for stateid updates after CLOSE/OPEN_DOWNGRADE 2020-11-05 11:43:31 +01:00
nfs4xdr.c NFSv4 remove zero number of fs_locations entries error check 2022-02-16 12:52:48 +01:00
nfs42.h
nfs42proc.c NFSv42: Fix pagecache invalidation after COPY/CLONE 2021-12-08 09:01:08 +01:00
nfs42xdr.c NFSv42: Don't fail clone() unless the OP_CLONE operation failed 2021-12-01 09:23:32 +01:00
nfsroot.c
nfstrace.c
nfstrace.h NFS: nfs_xdr_status should record the procedure name 2020-10-01 13:18:09 +02:00
pagelist.c NFS: Don't corrupt the value of pg_bytes_written in nfs_do_recoalesce() 2021-06-03 08:59:06 +02:00
pnfs.c NFSv4/pNFS: Do not fail I/O when we fail to allocate the pNFS layout 2022-06-14 18:11:43 +02:00
pnfs.h NFSv4/pNFS: Fix another issue with a list iterator pointing to the head 2022-04-15 14:18:21 +02:00
pnfs_dev.c
pnfs_nfs.c pnfs/flexfiles: Fix misplaced barrier in nfs4_ff_layout_prepare_ds 2021-11-17 09:48:44 +01:00
proc.c NFSv2: Fix write regression 2019-08-27 10:24:56 -04:00
read.c NFS: Fix spurious EIO read errors 2019-08-26 15:31:29 -04:00
super.c NFS Client Updates for Linux 5.3 2019-09-26 12:20:14 -07:00
symlink.c
sysctl.c
sysfs.c
sysfs.h
unlink.c
write.c NFS: Don't report errors from nfs_pageio_complete() more than once 2022-06-14 18:11:43 +02:00