linux/fs/nfsd
Chuck Lever 3f5d7f3865 NFSD: Remove NFSERR_EAGAIN
commit c6c209ceb8 upstream.

I haven't found an NFSERR_EAGAIN in RFCs 1094, 1813, 7530, or 8881.
None of these RFCs have an NFS status code that match the numeric
value "11".

Based on the meaning of the EAGAIN errno, I presume the use of this
status in NFSD means NFS4ERR_DELAY. So replace the one usage of
nfserr_eagain, and remove it from NFSD's NFS status conversion
tables.

As far as I can tell, NFSERR_EAGAIN has existed since the pre-git
era, but was not actually used by any code until commit f4e44b3933
("NFSD: delay unmount source's export after inter-server copy
completed."), at which time it become possible for NFSD to return
a status code of 11 (which is not valid NFS protocol).

Fixes: f4e44b3933 ("NFSD: delay unmount source's export after inter-server copy completed.")
Cc: stable@vger.kernel.org
Reviewed-by: NeilBrown <neil@brown.name>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2026-01-17 16:31:15 +01:00
..
acl.h NFSD: add posix ACLs to struct nfsd_attrs 2022-08-04 10:28:03 -04:00
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: use correct reservation type in nfsd4_scsi_fence_client 2026-01-08 10:14:19 +01:00
blocklayoutxdr.c NFSD: Implement large extent array support in pNFS 2025-10-23 16:20:41 +02:00
blocklayoutxdr.h NFSD: Implement large extent array support in pNFS 2025-10-23 16:20:41 +02:00
cache.h nfsd: don't allocate the versions array. 2024-09-20 19:29:23 -04:00
current_stateid.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
export.c nfsd: Mark variable __maybe_unused to avoid W=1 build break 2026-01-08 10:14:24 +01:00
export.h nfsd: decouple the xprtsec policy check from check_nfsd_access() 2025-10-19 16:34:07 +02:00
filecache.c nfsd: rename nfsd_serv_ prefixed methods and variables with nfsd_net_ 2026-01-08 10:14:09 +01:00
filecache.h nfs_common: must not hold RCU while calling nfsd_file_put_local 2024-12-05 14:02:27 +01:00
flexfilelayout.c NFSD: Define a proc_layoutcommit for the FlexFiles layout type 2025-10-23 16:20:47 +02:00
flexfilelayoutxdr.c NFSD: Rework encoding and decoding of nfsd4_deviceid 2025-10-23 16:20:40 +02:00
flexfilelayoutxdr.h NFSD: Make @gdev parameter of ->encode_getdeviceinfo a const pointer 2023-10-16 12:44:29 -04:00
idmap.h nfsd: Remove duplicate define of IDMAP_NAMESZ/IDMAP_TYPE_xx 2015-07-20 14:58:46 -04:00
Kconfig nfs: add missing selections of CONFIG_CRC32 2025-04-25 10:47:50 +02:00
localio.c nfsd: rename nfsd_serv_ prefixed methods and variables with nfsd_net_ 2026-01-08 10:14:09 +01:00
lockd.c nfsd: refine and rename NFSD_MAY_LOCK 2025-10-19 16:34:03 +02:00
Makefile nfsd: add LOCALIO support 2024-09-23 15:03:30 -04:00
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: provide locking for v4_end_grace 2026-01-17 16:31:15 +01:00
nfs2acl.c nfsd: clear acl_access/acl_default after releasing them 2025-02-21 14:01:13 +01:00
nfs3acl.c nfsd: clear acl_access/acl_default after releasing them 2025-02-21 14:01:13 +01:00
nfs3proc.c nfsd: move error choice for incorrect object types to version-specific 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 nfsd: inherit required unset default acls from effective set 2023-08-29 17:45:22 -04:00
nfs4callback.c NFSD: Fix CB_GETATTR status fix 2025-04-20 10:16:01 +02:00
nfs4idmap.c nfsd: call cache_put if xdr_reserve_space returns NULL 2024-09-20 19:31:03 -04:00
nfs4layouts.c NFSD: Rework encoding and decoding of nfsd4_deviceid 2025-10-23 16:20:40 +02:00
nfs4proc.c NFSD: Remove NFSERR_EAGAIN 2026-01-17 16:31:15 +01:00
nfs4recover.c nfsd: fix legacy client tracking initialization 2025-04-07 10:08:35 +02:00
nfs4state.c nfsd: check that server is running in unlock_filesystem 2026-01-17 16:31:15 +01:00
nfs4xdr.c NFSD: Clear SECLABEL in the suppattr_exclcreat bitmap 2026-01-08 10:14:24 +01: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 nfsd: check that server is running in unlock_filesystem 2026-01-17 16:31:15 +01:00
nfsd.h NFSD: Remove NFSERR_EAGAIN 2026-01-17 16:31:15 +01:00
nfsfh.c nfsd: fix refcount leak in nfsd_set_fh_dentry() 2025-11-24 10:35:59 +01:00
nfsfh.h nfs: add missing selections of CONFIG_CRC32 2025-04-25 10:47:50 +02:00
nfsproc.c nfsd: move error choice for incorrect object types to version-specific code. 2024-09-20 19:31:03 -04:00
nfssvc.c NFSD: net ref data still needs to be freed even if net hasn't startup 2026-01-17 16:31:15 +01:00
nfsxdr.c NFSD: Ensure that xdr_write_pages updates rq_next_page 2023-06-05 09:01:44 -04:00
pnfs.h NFSD: Implement large extent array support in pNFS 2025-10-23 16:20:41 +02:00
state.h nfsd: check that server is running in unlock_filesystem 2026-01-17 16:31:15 +01:00
stats.c nfsd: don't ignore the return code of svc_proc_register() 2025-04-20 10:16:01 +02:00
stats.h nfsd: don't ignore the return code of svc_proc_register() 2025-04-20 10:16:01 +02:00
trace.c NFSD: Add SPDX header for fs/nfsd/trace.c 2020-11-30 13:00:24 -05:00
trace.h nfsd: refine and rename NFSD_MAY_LOCK 2025-10-19 16:34:03 +02:00
vfs.c NFSD: Fix permission check for read access to executable-only files 2026-01-17 16:31:14 +01:00
vfs.h NFSD: NFSv4 file creation neglects setting ACL 2026-01-08 10:14:24 +01:00
xdr.h NFSD: prevent underflow in nfssvc_decode_writeargs() 2022-03-15 09:35:56 -04:00
xdr3.h nfsd: Fix NFSv3 atomicity bugs in nfsd_setattr() 2024-03-01 09:12:33 -05:00
xdr4.h NFSD: Implement large extent array support in pNFS 2025-10-23 16:20:41 +02:00
xdr4cb.h NFSD: add support for CB_GETATTR callback 2024-03-01 09:12:31 -05:00