sst-linux/fs/nfs
Trond Myklebust 61f3036bc2 NFS/pnfs: Fix a live lock between recalled layouts and layoutget
commit 62e2a47ceab8f3f7d2e3f0e03fdd1c5e0059fd8b upstream.

When the server is recalling a layout, we should ignore the count of
outstanding layoutget calls, since the server is expected to return
either NFS4ERR_RECALLCONFLICT or NFS4ERR_RETURNCONFLICT for as long as
the recall is outstanding.
Currently, we may end up livelocking, causing the layout to eventually
be forcibly revoked.

Fixes: bf0291dd22 ("pNFS: Ensure LAYOUTGET and LAYOUTRETURN are properly serialised")
Cc: stable@vger.kernel.org
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-27 13:53:00 +01:00
..
blocklayout
filelayout
flexfilelayout
cache_lib.c
cache_lib.h
callback_proc.c
callback_xdr.c SUNRPC: Fix integer overflow in decode_rc_list() 2024-10-17 15:22:18 +02:00
callback.c nfsd: stop setting ->pg_stats for unused stats 2024-08-19 06:00:04 +02:00
callback.h
client.c NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies() 2024-10-17 15:22:19 +02:00
delegation.c NFS: remove revoked delegation from server's delegation list 2024-11-08 16:26:43 +01:00
delegation.h
dir.c nfs: don't invalidate dentries on transient errors 2024-07-25 09:49:12 +02:00
direct.c
dns_resolve.c
dns_resolve.h
export.c
file.c
fs_context.c
fscache.c
fscache.h
getroot.c
inode.c nfs: Fix KMSAN warning in decode_getfattr_attrs() 2024-11-14 13:15:16 +01:00
internal.h nfs: ignore SB_RDONLY when mounting nfs 2024-12-14 19:54:09 +01:00
io.c
iostat.h
Kconfig
Makefile
mount_clnt.c
namespace.c
netns.h
nfs2super.c
nfs2xdr.c
nfs3_fs.h
nfs3acl.c
nfs3client.c
nfs3proc.c
nfs3super.c
nfs3xdr.c
nfs4_fs.h
nfs4client.c NFSv4.1 another fix for EXCHGID4_FLAG_USE_PNFS_DS for DS server 2024-08-03 08:49:16 +02:00
nfs4file.c
nfs4getroot.c
nfs4idmap.c
nfs4idmap.h
nfs4namespace.c
nfs4proc.c NFSv4.0: Fix a use-after-free problem in the asynchronous open() 2024-12-14 19:54:07 +01:00
nfs4renewd.c
nfs4session.c
nfs4session.h
nfs4state.c NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies() 2024-10-17 15:22:19 +02:00
nfs4super.c
nfs4sysctl.c
nfs4trace.c
nfs4trace.h
nfs4xdr.c
nfs42.h
nfs42proc.c NFSv4: Prevent NULL-pointer dereference in nfs42_complete_copies() 2024-10-17 15:22:19 +02:00
nfs42xattr.c
nfs42xdr.c
nfs.h
nfsroot.c
nfstrace.c
nfstrace.h
pagelist.c
pnfs_dev.c
pnfs_nfs.c
pnfs.c NFS/pnfs: Fix a live lock between recalled layouts and layoutget 2024-12-27 13:53:00 +01:00
pnfs.h
proc.c
read.c
super.c NFSv3: only use NFS timeout for MOUNT when protocols are compatible 2024-11-14 13:15:10 +01:00
symlink.c nfs: propagate readlink errors in nfs_symlink_filler 2024-07-25 09:49:11 +02:00
sysctl.c
sysfs.c
sysfs.h
unlink.c
write.c