linux/fs/nfs
Trond Myklebust 51069e4aef NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn
If we're asked to recover open state while a delegation return is
outstanding, then the state manager thread cannot use a cached open, so
if the server returns a delegation, we can end up deadlocked behind the
pending delegreturn.
To avoid this problem, let's just ask the server not to give us a
delegation unless we're explicitly reclaiming one.

Fixes: be36e185bd ("NFSv4: nfs4_open_recover_helper() must set share access")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2022-11-27 22:09:59 -05:00
..
blocklayout NFS client updates for Linux 5.20 2022-08-10 14:04:32 -07:00
filelayout pNFS/files: Handle RDMA connection errors correctly 2022-07-10 19:00:53 -04:00
flexfilelayout NFSv4/flexfiles: Cancel I/O if the layout is recalled or revoked 2022-10-06 09:52:09 -04:00
cache_lib.c
cache_lib.h
callback.c
callback.h
callback_proc.c pNFS: Avoid a live lock condition in pnfs_update_layout() 2022-06-06 11:53:55 -04:00
callback_xdr.c SUNRPC: Parametrize how much of argsize should be zeroed 2022-09-26 14:02:42 -04:00
client.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
delegation.c NFSv4: Fix a potential state reclaim deadlock 2022-10-27 15:52:10 -04:00
delegation.h
dir.c NFS: Trigger the "ls -l" readdir heuristic sooner 2022-11-27 22:09:59 -05:00
direct.c NFS client updates for Linux 5.20 2022-08-10 14:04:32 -07:00
dns_resolve.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
dns_resolve.h NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
export.c
file.c NFS Client Updates for Linux 6.1 2022-10-13 09:58:42 -07:00
fs_context.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
fscache.c NFS: Pass i_size to fscache_unuse_cookie() when a file is released 2022-05-17 15:39:45 -04:00
fscache.h
getroot.c
inode.c NFS Client Updates for Linux 6.1 2022-10-13 09:58:42 -07:00
internal.h NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
io.c
iostat.h
Kconfig
Makefile
mount_clnt.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
namespace.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
netns.h
nfs.h
nfs2super.c
nfs2xdr.c
nfs3_fs.h
nfs3acl.c
nfs3client.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
nfs3proc.c freezer,sched: Rewrite core freezer logic 2022-09-07 21:53:50 +02:00
nfs3super.c
nfs3xdr.c
nfs4_fs.h NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
nfs4client.c nfs4: Fix kmemleak when allocate slot failed 2022-10-27 15:52:11 -04:00
nfs4file.c NFSv4.2 fix problems with __nfs42_ssc_open 2022-08-19 20:31:57 -04:00
nfs4getroot.c
nfs4idmap.c nfs: remove unnecessary (void*) conversions. 2022-10-03 11:26:36 -04:00
nfs4idmap.h
nfs4namespace.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
nfs4proc.c NFSv4: Fix a deadlock between nfs4_open_recover_helper() and delegreturn 2022-11-27 22:09:59 -05:00
nfs4renewd.c
nfs4session.c
nfs4session.h
nfs4state.c NFSv4.1: We must always send RECLAIM_COMPLETE after a reboot 2022-10-27 15:52:10 -04:00
nfs4super.c
nfs4sysctl.c
nfs4trace.c
nfs4trace.h NFSv4.2: Add a tracepoint for listxattr 2022-10-05 15:47:16 -04:00
nfs4xdr.c NFSv4.2: Fix a memory stomp in decode_attr_security_label 2022-11-27 22:09:59 -05:00
nfs42.h
nfs42proc.c NFSv4.2: Fixup CLONE dest file size for zero-length count 2022-10-27 15:52:10 -04:00
nfs42xattr.c nfs: remove unnecessary (void*) conversions. 2022-10-03 11:26:36 -04:00
nfs42xdr.c NFSv4.2: Add special handling for LISTXATTR receiving NFS4ERR_NOXATTR 2022-10-05 15:29:23 -04:00
nfsroot.c NFS: move from strlcpy with unused retval to strscpy 2022-10-03 11:26:36 -04:00
nfstrace.c
nfstrace.h NFS: Improve readpage/writepage tracing 2022-08-09 14:11:34 -04:00
pagelist.c NFSv4.1 mark qualified async operations as MOVEABLE tasks 2022-05-31 17:09:30 -04:00
pnfs.c NFS Client Updates for Linux 6.1 2022-10-13 09:58:42 -07:00
pnfs.h NFSv4/flexfiles: Cancel I/O if the layout is recalled or revoked 2022-10-06 09:52:09 -04:00
pnfs_dev.c
pnfs_nfs.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
proc.c
read.c nfs: Leave pages in the pagecache if readpage failed 2022-06-29 08:51:07 -04:00
super.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
symlink.c
sysctl.c
sysfs.c
sysfs.h
unlink.c NFSv4.1 mark qualified async operations as MOVEABLE tasks 2022-05-31 17:09:30 -04:00
write.c NFS client bugfixes for Linux 6.0 2022-09-12 17:53:46 -04:00