linux/fs/nfsd
NeilBrown 1bd773b4f0 nfsd: hold nfsd_mutex across entire netlink operation
Rather than using svc_get() and svc_put() to hold a stable reference to
the nfsd_svc for netlink lookups, simply hold the mutex for the entire
time.

The "entire" time isn't very long, and the mutex is not often contented.

This makes way for us to remove the refcounts of svc, which is more
confusing than useful.

Reported-by: Jeff Layton <jlayton@kernel.org>
Closes: https://lore.kernel.org/linux-nfs/5d9bbb599569ce29f16e4e0eef6b291eda0f375b.camel@kernel.org/T/#u
Fixes: bd9d6a3efa ("NFSD: add rpc_status netlink support")
Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2023-12-15 10:23:52 -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: call op_release, even when op_func returns an error 2023-03-31 17:29:49 -04:00
blocklayoutxdr.c NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
blocklayoutxdr.h NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
cache.h NFSD: Fix checksum mismatches in the duplicate reply cache 2023-11-17 15:13:01 -05:00
current_stateid.h
export.c NFSD: Fix frame size warning in svc_export_parse() 2023-10-16 12:44:39 -04:00
export.h NFSD: Fix frame size warning in svc_export_parse() 2023-10-16 12:44:39 -04:00
filecache.c nfsd: Handle EOPENSTALE correctly in the filecache 2023-10-16 12:44:00 -04:00
filecache.h NFSD: Convert filecache to rhltable 2023-04-26 09:04:59 -04:00
flexfilelayout.c nfsd: move nfserrno() to vfs.c 2022-11-28 12:54:44 -05:00
flexfilelayoutxdr.c NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
flexfilelayoutxdr.h NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
idmap.h
Kconfig NFS & NFSD: Update GSS dependencies 2023-03-10 09:38:47 -05:00
lockd.c NFSD: simplify struct nfsfh 2021-10-02 15:51:10 -04:00
Makefile NFSD: introduce netlink stubs 2023-10-16 12:44:09 -04:00
netlink.c NFSD: introduce netlink stubs 2023-10-16 12:44:09 -04:00
netlink.h NFSD: introduce netlink stubs 2023-10-16 12:44:09 -04:00
netns.h File locking changes for v6.3 2023-02-20 11:10:38 -08:00
nfs2acl.c NFSD 6.3 Release Notes 2023-02-22 14:21:40 -08:00
nfs3acl.c NFSD 6.3 Release Notes 2023-02-22 14:21:40 -08:00
nfs3proc.c nfsd: Clean up errors in nfs3proc.c 2023-10-16 12:44:39 -04:00
nfs3xdr.c NFSD: Ensure that xdr_write_pages updates rq_next_page 2023-06-05 09:01:44 -04:00
nfs4acl.c nfsd: inherit required unset default acls from effective set 2023-08-29 17:45:22 -04:00
nfs4callback.c NFSD: add support for CB_GETATTR callback 2023-10-16 12:44:08 -04:00
nfs4idmap.c SUNRPC: return proper error from get_expiry() 2023-04-26 09:05:00 -04:00
nfs4layouts.c NFSD: Clean up nfsd4_encode_layoutreturn() 2023-10-16 12:44:29 -04:00
nfs4proc.c NFSD: Clean up nfsd4_encode_copy_notify() 2023-10-16 12:44:37 -04:00
nfs4recover.c fs: port vfs_*() helpers to struct mnt_idmap 2023-01-18 17:51:45 +01:00
nfs4state.c nfsd: fix file memleak on client_opens_release 2023-11-17 15:12:39 -05:00
nfs4xdr.c NFSD: Clean up nfsd4_encode_seek() 2023-10-16 12:44:37 -04:00
nfscache.c NFSD: Fix checksum mismatches in the duplicate reply cache 2023-11-17 15:13:01 -05:00
nfsctl.c nfsd: hold nfsd_mutex across entire netlink operation 2023-12-15 10:23:52 -05:00
nfsd.h nfsd: call nfsd_last_thread() before final nfsd_put() 2023-12-15 10:23:46 -05:00
nfsfh.c NFSD: Add nfsd4_encode_fattr4_change() 2023-10-16 12:44:14 -04:00
nfsfh.h NFSD: Add nfsd4_encode_fattr4_change() 2023-10-16 12:44:14 -04:00
nfsproc.c NFSD: Hoist rq_vec preparation into nfsd_read() 2023-06-11 16:37:45 -04:00
nfssvc.c nfsd: call nfsd_last_thread() before final nfsd_put() 2023-12-15 10:23:46 -05:00
nfsxdr.c NFSD: Ensure that xdr_write_pages updates rq_next_page 2023-06-05 09:01:44 -04:00
pnfs.h NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
state.h NFSD: add rpc_status netlink support 2023-10-16 12:44:09 -04:00
stats.c NFSD: Rewrite synopsis of nfsd_percpu_counters_init() 2023-10-16 12:44:39 -04:00
stats.h NFSD: Fix frame size warning in svc_export_parse() 2023-10-16 12:44:39 -04:00
trace.c NFSD: Add SPDX header for fs/nfsd/trace.c 2020-11-30 13:00:24 -05:00
trace.h NFSD: add trace points to track server copy progress 2023-10-16 12:44:00 -04:00
vfs.c nfsd: Don't reset the write verifier on a commit EAGAIN 2023-10-16 12:44:01 -04:00
vfs.h nfsd: Handle EOPENSTALE correctly in the filecache 2023-10-16 12:44:00 -04:00
xdr3.h SUNRPC: Change return value type of .pc_encode 2021-10-13 11:34:49 -04:00
xdr4.h NFSD: Clean up nfsd4_encode_copy_notify() 2023-10-16 12:44:37 -04:00
xdr4cb.h NFSD: add support for CB_GETATTR callback 2023-10-16 12:44:08 -04:00
xdr.h NFSD: prevent underflow in nfssvc_decode_writeargs() 2022-03-15 09:35:56 -04:00