sst-linux/fs/nfs
Trond Myklebust a285180873 NFSv4: Don't trigger uneccessary scans for return-on-close delegations
[ Upstream commit 47acca884f714f41d95dc654f802845544554784 ]

The amount of looping through the list of delegations is occasionally
leading to soft lockups. Avoid at least some loops by not requiring the
NFSv4 state manager to scan for delegations that are marked for
return-on-close. Instead, either mark them for immediate return (if
possible) or else leave it up to nfs4_inode_return_delegation_on_close()
to return them once the file is closed by the application.

Fixes: b757144fd7 ("NFSv4: Be less aggressive about returning delegations for open files")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2025-04-10 14:33:36 +02:00
..
blocklayout
filelayout
flexfilelayout pnfs/flexfiles: retry getting layout segment for reads 2025-02-21 13:49:50 +01:00
cache_lib.c
cache_lib.h
callback_proc.c
callback_xdr.c
callback.c
callback.h
client.c
delegation.c NFSv4: Don't trigger uneccessary scans for return-on-close delegations 2025-04-10 14:33:36 +02:00
delegation.h
dir.c
direct.c
dns_resolve.c
dns_resolve.h
export.c
file.c
fs_context.c
fscache.c
fscache.h
getroot.c
inode.c
internal.h
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
nfs4file.c
nfs4getroot.c
nfs4idmap.c
nfs4idmap.h
nfs4namespace.c
nfs4proc.c
nfs4renewd.c
nfs4session.c
nfs4session.h
nfs4state.c
nfs4super.c
nfs4sysctl.c
nfs4trace.c
nfs4trace.h
nfs4xdr.c
nfs42.h
nfs42proc.c NFSv4.2: mark OFFLOAD_CANCEL MOVEABLE 2025-02-21 13:49:20 +01:00
nfs42xattr.c
nfs42xdr.c NFSv4.2: fix COPY_NOTIFY xdr buf size calculation 2025-02-21 13:49:20 +01:00
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
symlink.c
sysctl.c
sysfs.c
sysfs.h
unlink.c
write.c