linux/fs/nfsd
NeilBrown 1459ad5767 nfsd: Move error code mapping to per-version proc code.
There is code scattered around nfsd which chooses an error status based
on the particular version of nfs being used.  It is cleaner to have the
version specific choices in version specific code.

With this patch common code returns the most specific error code
possible and the version specific code maps that if necessary.

Both v2 (nfsproc.c) and v3 (nfs3proc.c) now have a "map_status()"
function which is called to map the resp->status before each non-trivial
nfsd_proc_* or nfsd3_proc_* function returns.

NFS4ERR_SYMLINK and NFS4ERR_WRONG_TYPE introduce extra complications and
are left for a later patch.

Signed-off-by: NeilBrown <neilb@suse.de>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2024-09-20 19:31:03 -04:00
..
acl.h
auth.c nfsd: Pass 'cred' instead of 'rqstp' to some functions. 2024-09-20 19:31:03 -04:00
auth.h nfsd: Pass 'cred' instead of 'rqstp' to some functions. 2024-09-20 19:31:03 -04:00
blocklayout.c nfsd: allow layout state to be admin-revoked. 2024-03-01 09:12:22 -05: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: don't allocate the versions array. 2024-09-20 19:29:23 -04:00
current_stateid.h
export.c nfsd: Move error code mapping to per-version proc code. 2024-09-20 19:31:03 -04:00
export.h nfsd: Pass 'cred' instead of 'rqstp' to some functions. 2024-09-20 19:31:03 -04:00
filecache.c nfsd: use system_unbound_wq for nfsd_file_gc_worker() 2024-09-01 10:04:55 -04:00
filecache.h nfsd: add list_head nf_gc to struct nfsd_file 2024-09-01 10:04:53 -04:00
flexfilelayout.c
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 NFSD: Fix nfsdcld warning 2024-07-08 14:10:02 -04:00
lockd.c
Makefile
netlink.c nfsd: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
netlink.h nfsd: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
netns.h nfsd: don't allocate the versions array. 2024-09-20 19:29:23 -04:00
nfs2acl.c NFSD: remove unused structs 'nfsd3_voidargs' 2024-07-08 14:10:01 -04:00
nfs3acl.c NFSD: remove unused structs 'nfsd3_voidargs' 2024-07-08 14:10:01 -04:00
nfs3proc.c nfsd: Move error code mapping to per-version proc code. 2024-09-20 19:31:03 -04:00
nfs3xdr.c nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
nfs4acl.c
nfs4callback.c NFSD: Move callback_wq into struct nfs4_client 2024-05-06 09:07:16 -04:00
nfs4idmap.c
nfs4layouts.c NFSD 6.9 Release Notes 2024-03-12 14:27:37 -07:00
nfs4proc.c nfsd: Don't pass all of rqst into rqst_exp_find() 2024-09-20 19:31:03 -04:00
nfs4recover.c NFSD: Fix nfsdcld warning 2024-07-08 14:10:02 -04:00
nfs4state.c nfsd: use nfsd_v4client() in nfsd_breaker_owns_lease() 2024-09-20 19:31:03 -04:00
nfs4xdr.c fs/nfsd: fix update of inode attrs in CB_GETATTR 2024-08-26 19:04:00 -04:00
nfscache.c nfsd: Simplify the allocation of slab caches in nfsd_drc_slab_create 2024-03-01 09:12:24 -05:00
nfsctl.c sunrpc: change sp_nrthreads from atomic_t to unsigned int. 2024-09-20 19:31:03 -04:00
nfsd.h nfsd: use nfsd_v4client() in nfsd_breaker_owns_lease() 2024-09-20 19:31:03 -04:00
nfsfh.c nfsd: Move error code mapping to per-version proc code. 2024-09-20 19:31:03 -04:00
nfsfh.h nfsd: further centralize protocol version checks. 2024-09-20 19:31:03 -04:00
nfsproc.c nfsd: Move error code mapping to per-version proc code. 2024-09-20 19:31:03 -04:00
nfssvc.c nfsd: use nfsd_v4client() in nfsd_breaker_owns_lease() 2024-09-20 19:31:03 -04:00
nfsxdr.c
pnfs.h nfsd: allow layout state to be admin-revoked. 2024-03-01 09:12:22 -05:00
state.h fs/nfsd: fix update of inode attrs in CB_GETATTR 2024-08-26 19:04:00 -04:00
stats.c fs: nfsd: use group allocation/free of per-cpu counters API 2024-05-06 09:07:17 -04:00
stats.h fs: nfsd: use group allocation/free of per-cpu counters API 2024-05-06 09:07:17 -04:00
trace.c
trace.h tracing/treewide: Remove second parameter of __assign_str() 2024-05-22 20:14:47 -04:00
vfs.c nfsd: Move error code mapping to per-version proc code. 2024-09-20 19:31:03 -04:00
vfs.h nfsd: Pass 'cred' instead of 'rqstp' to some functions. 2024-09-20 19:31:03 -04:00
xdr.h
xdr3.h nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
xdr4.h NFSD: Add COPY status code to OFFLOAD_STATUS response 2024-05-06 09:07:23 -04:00
xdr4cb.h NFSD: add support for CB_GETATTR callback 2024-03-01 09:12:31 -05:00