2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/fs/nfs
Trond Myklebust 38074de35b NFSv4/flexfiles: Fix handling of NFS level errors in I/O
Allow the flexfiles error handling to recognise NFS level errors (as
opposed to RPC level errors) and handle them separately. The main
motivator is the NFSERR_PERM errors that get returned if the NFS client
connects to the data server through a port number that is lower than
1024. In that case, the client should disconnect and retry a READ on a
different data server, or it should retry a WRITE after reconnecting.

Reviewed-by: Tigran Mkrtchyan <tigran.mkrtchyan@desy.de>
Fixes: d67ae825a5 ("pnfs/flexfiles: Add the FlexFile Layout Driver")
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <anna.schumaker@oracle.com>
2025-06-26 13:46:44 -04:00
..
blocklayout nfs/blocklayout: Limit repeat device registration on failure 2024-11-28 12:55:32 -05:00
filelayout nfs: don't share pNFS DS connections between net namespaces 2025-04-27 23:25:44 -04:00
flexfilelayout NFSv4/flexfiles: Fix handling of NFS level errors in I/O 2025-06-26 13:46:44 -04:00
cache_lib.c
cache_lib.h
callback_proc.c NFS: CB_OFFLOAD can return NFS4ERR_DELAY 2025-01-21 11:34:50 -05:00
callback_xdr.c nfsd: don't use sv_nrthreads in connection limiting calculations. 2025-01-06 09:37:36 -05:00
callback.c nfsd: don't use sv_nrthreads in connection limiting calculations. 2025-01-06 09:37:36 -05:00
callback.h NFSv4: Add CB_GETATTR support for delegated attributes 2024-07-08 13:47:25 -04:00
client.c NFS: always probe for LOCALIO support asynchronously 2025-05-28 17:17:13 -04:00
delegation.c NFSv4: Allow FREE_STATEID to clean up delegations 2025-05-28 17:17:13 -04:00
delegation.h NFSv4: Fix a deadlock when recovering state on a sillyrenamed file 2025-02-19 16:45:24 -05:00
dir.c NFS: Avoid flushing data while holding directory locks in nfs_rename() 2025-05-16 22:31:35 +02:00
direct.c nfs: direct: drop useless initializer in nfs_direct_write_completion() 2025-04-27 23:25:44 -04:00
dns_resolve.c NFS: Move common includes outside ifdef 2023-08-24 13:24:15 -04:00
dns_resolve.h NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
export.c nfsd: disallow file locking and delegations for NFSv4 reexport 2025-03-10 09:11:08 -04:00
file.c NFS: fix nfs_release_folio() to not deadlock via kcompactd writeback 2025-03-05 21:36:15 -08:00
fs_context.c NFS: Add a mount option to make ENETUNREACH errors fatal 2025-03-21 12:44:09 -04:00
fscache.c netfs: Fix undifferentiation of DIO reads from unbuffered reads 2025-05-23 10:35:03 +02:00
fscache.h netfs: Drop the was_async arg from netfs_read_subreq_terminated() 2024-12-20 22:34:03 +01:00
getroot.c nfs: fix the comment of nfs_get_root 2024-09-23 15:03:13 -04:00
inode.c nfs: Clean up /proc/net/rpc/nfs when nfs_fs_proc_net_init() fails. 2025-06-23 11:01:16 -04:00
internal.h NFS: always probe for LOCALIO support asynchronously 2025-05-28 17:17:13 -04:00
io.c fs/nfs/io: make nfs_start_io_*() killable 2024-11-28 12:55:33 -05:00
iostat.h mm: add comments for allocation helpers explaining why they are macros 2024-07-12 15:52:20 -07:00
Kconfig nfs: add missing selections of CONFIG_CRC32 2025-04-13 16:39:42 -04:00
localio.c nfs_localio: change nfsd_file_put_local() to take a pointer to __rcu pointer 2025-05-28 17:17:14 -04:00
Makefile nfs: add LOCALIO support 2024-09-23 15:03:30 -04:00
mount_clnt.c NFS: remove unused struct 'mnt_fhstatus' 2024-07-08 13:47:24 -04:00
namespace.c saner calling conventions for ->d_automount() 2025-05-05 13:42:49 -04:00
netns.h nfs: move the nfs4_data_server_cache into struct nfs_net 2025-04-27 23:25:44 -04:00
nfs2super.c fs: nfs: add missing MODULE_DESCRIPTION() macros 2024-07-08 13:47:24 -04:00
nfs2xdr.c nfs_common: factor out nfs_errtbl and nfs_stat_to_errno 2024-09-23 15:03:29 -04:00
nfs3_fs.h fs: drop unused posix acl handlers 2023-03-06 09:57:12 +01:00
nfs3acl.c nfs: nfs3acl: drop useless assignment in nfs3_get_acl() 2025-04-27 23:25:44 -04:00
nfs3client.c pNFS/flexfiles: Treat ENETUNREACH errors as fatal in containers 2025-03-21 12:44:24 -04:00
nfs3proc.c NFS client updates for Linux 6.15 2025-04-02 17:06:31 -07:00
nfs3super.c fs: nfs: add missing MODULE_DESCRIPTION() macros 2024-07-08 13:47:24 -04:00
nfs3xdr.c nfs_common: factor out nfs_errtbl and nfs_stat_to_errno 2024-09-23 15:03:29 -04:00
nfs4_fs.h NFSv4: Allow FREE_STATEID to clean up delegations 2025-05-28 17:17:13 -04:00
nfs4client.c pNFS/flexfiles: Treat ENETUNREACH errors as fatal in containers 2025-03-21 12:44:24 -04:00
nfs4file.c NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfs4getroot.c
nfs4idmap.c cred: Do not default to init_cred in prepare_kernel_cred() 2022-11-01 10:04:52 -07:00
nfs4idmap.h
nfs4namespace.c NFS: Avoid memcpy() run-time warning for struct sockaddr overflows 2022-10-27 15:52:10 -04:00
nfs4proc.c nfs: fix incorrect handling of large-number NFS errors in nfs4_do_mkdir() 2025-05-28 17:17:14 -04:00
nfs4renewd.c
nfs4session.c
nfs4session.h nfs: add missing selections of CONFIG_CRC32 2025-04-13 16:39:42 -04:00
nfs4state.c NFSv4: Treat ENETUNREACH errors as fatal for state recovery 2025-03-26 12:19:58 -04:00
nfs4super.c fs: nfs: add missing MODULE_DESCRIPTION() macros 2024-07-08 13:47:24 -04:00
nfs4sysctl.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
nfs4trace.c nfs/blocklayout: SCSI layout trace points for reservation key reg/unreg 2024-07-08 13:47:27 -04:00
nfs4trace.h pNFS/flexfiles: Record the RPC errors in the I/O tracepoints 2025-04-27 23:25:44 -04:00
nfs4xdr.c NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfs42.h NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfs42proc.c NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfs42xattr.c mm/list_lru: simplify the list_lru walk callback function 2024-11-11 17:22:26 -08:00
nfs42xdr.c NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfs.h NFS: Implement get_nfs_version() 2024-11-08 14:17:37 -05:00
nfsroot.c NFS: Fix an off by one in root_nfs_cat() 2024-03-09 09:14:51 -05:00
nfstrace.c
nfstrace.h nfs/localio: remove redundant code and simplify LOCALIO enablement 2025-01-14 17:05:10 -05:00
pagelist.c nfs: cache all open LOCALIO nfsd_file(s) in client 2025-01-14 17:04:05 -05:00
pnfs_dev.c nfs: remove the unused max_deviceinfo_size field from struct pnfs_layoutdriver_type 2024-07-10 13:23:17 -04:00
pnfs_nfs.c pnfs/flexfiles: connect to NFSv3 DS using TLS if MDS connection uses TLS 2025-05-28 17:17:13 -04:00
pnfs.c NFSv4/pNFS: Fix a race to wake on NFS_LAYOUT_DRAIN 2025-06-23 11:01:16 -04:00
pnfs.h nfs: don't share pNFS DS connections between net namespaces 2025-04-27 23:25:44 -04:00
proc.c nfs: change mkdir inode_operation to return alternate dentry if needed. 2025-03-05 11:52:50 +01:00
read.c fs/nfs/read: fix double-unlock bug in nfs_return_empty_folio() 2025-05-28 17:17:13 -04:00
super.c nfs: ignore SB_RDONLY when remounting nfs 2025-05-28 17:17:14 -04:00
symlink.c fs: Pass a folio to page_put_link() 2025-05-15 12:14:29 +02:00
sysctl.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
sysfs.c NFS: add localio to sysfs 2025-05-28 17:17:13 -04:00
sysfs.h NFS: Add sysfs links to sunrpc clients for nfs_clients 2023-06-19 15:04:13 -04:00
unlink.c VFS: rename lookup_one_len family to lookup_noperm and remove permission check 2025-04-08 11:24:36 +02:00
write.c nfs: use writeback_iter directly 2025-05-28 17:17:13 -04:00