kernel_samsung_a53x/fs/nfs
Jeff Layton c28473c81d nfsd: allow reaping files still under writeback
[ Upstream commit dcb779fcd4ed5984ad15991d574943d12a8693d1 ]

On most filesystems, there is no reason to delay reaping an nfsd_file
just because its underlying inode is still under writeback. nfsd just
relies on client activity or the local flusher threads to do writeback.

The main exception is NFS, which flushes all of its dirty data on last
close. Add a new EXPORT_OP_FLUSH_ON_CLOSE flag to allow filesystems to
signal that they do this, and only skip closing files under writeback on
such filesystems.

Also, remove a redundant NULL file pointer check in
nfsd_file_check_writeback, and clean up nfs's export op flag
definitions.

Signed-off-by: Jeff Layton <jlayton@kernel.org>
Acked-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
[ cel: adjusted to apply to v5.10.y ]
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-11-19 12:28:32 +01:00
..
blocklayout SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
filelayout SUNRPC: Trace calls to .rpc_call_done 2024-11-19 12:27:47 +01:00
flexfilelayout SUNRPC: Trace calls to .rpc_call_done 2024-11-19 12:27:47 +01:00
cache_lib.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
cache_lib.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
callback.c NFSD: Move svc_serv_ops::svo_function into struct svc_serv 2024-11-19 12:27:54 +01:00
callback.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
callback_proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
callback_xdr.c SUNRPC: Parametrize how much of argsize should be zeroed 2024-11-19 12:28:23 +01:00
client.c nfs: make the rpc_stat per net namespace 2024-11-19 11:32:41 +01:00
delegation.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
delegation.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dir.c SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
direct.c nfs: fix UAF in direct writes 2024-11-19 09:22:34 +01:00
dns_resolve.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
dns_resolve.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
export.c nfsd: allow reaping files still under writeback 2024-11-19 12:28:32 +01:00
file.c nfs: don't allow reexport reclaims 2024-11-19 12:27:44 +01:00
fs_context.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fscache-index.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fscache.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
fscache.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
getroot.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
inode.c nfs: Handle error of rpc_proc_register() in nfs_net_init(). 2024-11-19 11:32:41 +01:00
internal.h nfs: fix undefined behavior in nfs_block_bits() 2024-11-19 12:27:19 +01:00
io.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
iostat.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mount_clnt.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
namespace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
netns.h nfs: make the rpc_stat per net namespace 2024-11-19 11:32:41 +01:00
nfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs2super.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs2xdr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3_fs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3acl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3client.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3super.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs3xdr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4_fs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4client.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4file.c NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code. 2024-11-19 12:27:37 +01:00
nfs4getroot.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4idmap.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4idmap.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4namespace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4proc.c NFS: Fix READ_PLUS when server doesn't support OP_READ_PLUS 2024-11-19 12:27:19 +01:00
nfs4renewd.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4session.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4session.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4state.c NFS: restore module put when manager exits. 2024-11-19 12:27:58 +01:00
nfs4super.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4sysctl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4trace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4trace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs4xdr.c SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
nfs42.h NFSv4.2: fix listxattr maximum XDR buffer size 2024-11-19 08:44:57 +01:00
nfs42proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs42xattr.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfs42xdr.c SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer() 2024-11-19 12:27:20 +01:00
nfsroot.c NFS: Fix an off by one in root_nfs_cat() 2024-11-19 08:44:57 +01:00
nfstrace.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
nfstrace.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pagelist.c SUNRPC: Trace calls to .rpc_call_done 2024-11-19 12:27:47 +01:00
pnfs.c pNFS: Fix a hang in nfs4_evict_inode() 2024-11-08 11:26:19 +01:00
pnfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pnfs_dev.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pnfs_nfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
proc.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
read.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
super.c NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code. 2024-11-19 12:27:37 +01:00
symlink.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysctl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysfs.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
sysfs.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
unlink.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
write.c SUNRPC: Trace calls to .rpc_call_done 2024-11-19 12:27:47 +01:00