linux/fs/nfsd
Chuck Lever 4d1ea84557 NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection
NFSv4 operations manage the lifetime of nfsd_file items they use by
means of NFSv4 OPEN and CLOSE. Hence there's no need for them to be
garbage collected.

Introduce a mechanism to enable garbage collection for nfsd_file
items used only by NFSv2/3 callers.

Note that the change in nfsd_file_put() ensures that both CLOSE and
DELEGRETURN will actually close out and free an nfsd_file on last
reference of a non-garbage-collected file.

Link: https://bugzilla.linux-nfs.org/show_bug.cgi?id=394
Suggested-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Tested-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: NeilBrown <neilb@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
2022-11-28 12:54:45 -05:00
..
acl.h NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
auth.c
auth.h
blocklayout.c nfsd: move nfserrno() to vfs.c 2022-11-28 12:54:44 -05:00
blocklayoutxdr.c nfsd: move nfserrno() to vfs.c 2022-11-28 12:54:44 -05:00
blocklayoutxdr.h
cache.h nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_reply_cache_stats_fops 2022-09-26 14:02:50 -04:00
current_stateid.h
export.c
export.h nfsd: move nfserrno() to vfs.c 2022-11-28 12:54:44 -05:00
fault_inject.c
filecache.c NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection 2022-11-28 12:54:45 -05:00
filecache.h NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection 2022-11-28 12:54:45 -05:00
flexfilelayout.c nfsd: move nfserrno() to vfs.c 2022-11-28 12:54:44 -05:00
flexfilelayoutxdr.c
flexfilelayoutxdr.h
idmap.h
Kconfig nfsd: allow disabling NFSv2 at compile time 2022-11-28 12:54:45 -05:00
lockd.c
Makefile nfsd: allow disabling NFSv2 at compile time 2022-11-28 12:54:45 -05:00
netns.h NFSD: add shrinker to reap courtesy clients on low memory condition 2022-09-26 14:02:41 -04:00
nfs2acl.c NFSD: Finish converting the NFSv2 GETACL result encoder 2022-11-28 12:54:44 -05:00
nfs3acl.c NFSD: Finish converting the NFSv3 GETACL result encoder 2022-11-28 12:54:44 -05:00
nfs3proc.c NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection 2022-11-28 12:54:45 -05:00
nfs3xdr.c NFSD: Clean up WRITE arg decoders 2022-09-26 14:02:47 -04:00
nfs4acl.c NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
nfs4callback.c nfsd: make nfsd4_run_cb a bool return function 2022-09-26 14:50:57 -04:00
nfs4idmap.c nfsd: move nfserrno() to vfs.c 2022-11-28 12:54:44 -05:00
nfs4layouts.c NFSD: Add tracepoints to report NFSv4 callback completions 2022-09-26 14:02:32 -04:00
nfs4proc.c NFSD: Pass the target nfsd_file to nfsd_commit() 2022-11-28 12:54:45 -05:00
nfs4recover.c struct file-related stuff 2022-10-06 17:13:18 -07:00
nfs4state.c NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately" 2022-11-28 12:54:45 -05:00
nfs4xdr.c NFSD: Simplify READ_PLUS 2022-11-28 12:54:43 -05:00
nfscache.c nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_reply_cache_stats_fops 2022-09-26 14:02:50 -04:00
nfsctl.c nfsd: allow disabling NFSv2 at compile time 2022-11-28 12:54:45 -05:00
nfsd.h nfsd: allow disabling NFSv2 at compile time 2022-11-28 12:54:45 -05:00
nfsfh.c nfsd: ensure we always call fh_verify_error tracepoint 2022-10-13 12:12:37 -04:00
nfsfh.h NFSD: discard fh_locked flag and fh_lock/fh_unlock 2022-08-04 10:28:48 -04:00
nfsproc.c nfsd: move nfserrno() to vfs.c 2022-11-28 12:54:44 -05:00
nfssvc.c nfsd: allow disabling NFSv2 at compile time 2022-11-28 12:54:45 -05:00
nfsxdr.c NFSD: Clean up WRITE arg decoders 2022-09-26 14:02:47 -04:00
pnfs.h
state.h nfsd: make nfsd4_run_cb a bool return function 2022-09-26 14:50:57 -04:00
stats.c nfsd: use DEFINE_PROC_SHOW_ATTRIBUTE to define nfsd_proc_ops 2022-09-26 14:02:49 -04:00
stats.h nfsd: make nfsd_stats.th_cnt atomic_t 2021-12-13 13:42:51 -05:00
trace.c
trace.h NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection 2022-11-28 12:54:45 -05:00
vfs.c NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection 2022-11-28 12:54:45 -05:00
vfs.h NFSD: Pass the target nfsd_file to nfsd_commit() 2022-11-28 12:54:45 -05:00
xdr3.h
xdr4.h NFSD: Pack struct nfsd4_compoundres 2022-09-26 14:02:49 -04:00
xdr4cb.h
xdr.h NFSD: prevent underflow in nfssvc_decode_writeargs() 2022-03-15 09:35:56 -04:00