linux/fs/nfs
Jonathan Curley dd2fa82473 NFSv4/flexfiles: Fix layout merge mirror check.
Typo in ff_lseg_match_mirrors makes the diff ineffective. This results
in merge happening all the time. Merge happening all the time is
problematic because it marks lsegs invalid. Marking lsegs invalid
causes all outstanding IO to get restarted with EAGAIN and connections
to get closed.

Closing connections constantly triggers race conditions in the RDMA
implementation...

Fixes: 660d1eb223 ("pNFS/flexfile: Don't merge layout segments if the mirrors don't match")
Signed-off-by: Jonathan Curley <jcurley@purestorage.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
2025-09-08 14:37:55 -04:00
..
blocklayout NFS client updates for Linux 6.17 2025-08-09 07:20:44 +03:00
filelayout nfs: don't share pNFS DS connections between net namespaces 2025-04-27 23:25:44 -04:00
flexfilelayout NFSv4/flexfiles: Fix layout merge mirror check. 2025-09-08 14:37:55 -04:00
Kconfig nfs: add missing selections of CONFIG_CRC32 2025-04-13 16:39:42 -04:00
Makefile
cache_lib.c
cache_lib.h
callback.c
callback.h
callback_proc.c NFS: CB_OFFLOAD can return NFS4ERR_DELAY 2025-01-21 11:34:50 -05:00
callback_xdr.c
client.c NFSv4: Clear the NFS_CAP_XATTR flag if not supported by the server 2025-08-29 12:56:43 -04:00
delegation.c NFS: use a hash table for delegation lookup 2025-07-22 08:10:41 -04:00
delegation.h NFS: use a hash table for delegation lookup 2025-07-22 08:10:41 -04:00
dir.c NFS: Fix wakeup of __nfs_lookup_revalidate() in unblock_revalidate() 2025-07-22 08:10:41 -04:00
direct.c nfs: direct: drop useless initializer in nfs_direct_write_completion() 2025-04-27 23:25:44 -04:00
dns_resolve.c
dns_resolve.h
export.c NFS: Fix filehandle bounds checking in nfs_fh_to_dentry() 2025-07-22 09:50:56 -04:00
file.c NFS: nfs_invalidate_folio() must observe the offset and size arguments 2025-09-06 16:51:26 -04:00
fs_context.c NFS: support the kernel keyring for TLS 2025-07-14 15:20:27 -07:00
fscache.c netfs: Fix undifferentiation of DIO reads from unbuffered reads 2025-05-23 10:35:03 +02:00
fscache.h
getroot.c
inode.c NFS: Serialise O_DIRECT i/o and truncate() 2025-09-06 16:51:25 -04:00
internal.h NFS: Serialise O_DIRECT i/o and truncate() 2025-09-06 16:51:25 -04:00
io.c NFS: Serialise O_DIRECT i/o and truncate() 2025-09-06 16:51:25 -04:00
iostat.h
localio.c nfs/localio: avoid bouncing LOCALIO if nfs_client_is_local() 2025-09-06 16:51:21 -04:00
mount_clnt.c NFS: Remove unused function nfs_umount 2025-07-14 15:20:28 -07: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
nfs.h
nfs2super.c
nfs2xdr.c
nfs3_fs.h
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
nfs3xdr.c
nfs4_fs.h NFSv4: Remove duplicate lookups, capability probes and fsinfo calls 2025-08-04 09:48:16 -07:00
nfs4client.c NFS: Fix the setting of capabilities when automounting a new filesystem 2025-08-04 09:16:45 -07:00
nfs4file.c NFSv4.2: Serialise O_DIRECT i/o and clone range 2025-09-06 16:51:25 -04:00
nfs4getroot.c NFSv4: Remove duplicate lookups, capability probes and fsinfo calls 2025-08-04 09:48:16 -07:00
nfs4idmap.c rpc_mkpipe_dentry(): saner calling conventions 2025-07-02 22:44:55 -04:00
nfs4idmap.h
nfs4namespace.c
nfs4proc.c NFSv4: Clear NFS_CAP_OPEN_XOR and NFS_CAP_DELEGTIME if not supported 2025-08-29 12:56:43 -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
nfs4sysctl.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
nfs4trace.c pNFS: Add prepare commit trace to block/scsi layout 2025-07-14 15:20:28 -07:00
nfs4trace.h pNFS: Add prepare commit trace to block/scsi layout 2025-07-14 15:20:28 -07:00
nfs4xdr.c nfs: Add timecreate to nfs inode 2025-07-14 15:20:02 -07:00
nfs42.h NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfs42proc.c NFSv4.2: Serialise O_DIRECT i/o and copy range 2025-09-06 16:51:25 -04:00
nfs42xattr.c
nfs42xdr.c NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfsroot.c
nfstrace.c
nfstrace.h NFS: Protect against 'eof page pollution' 2025-09-06 16:51:25 -04:00
pagelist.c NFS: Fix a race when updating an existing write 2025-08-19 11:16:02 -07:00
pnfs.c NFS: Clean up pnfs_put_layout_hdr()/pnfs_destroy_layout_final() 2025-07-22 08:10:41 -04:00
pnfs.h nfs: don't share pNFS DS connections between net namespaces 2025-04-27 23:25:44 -04:00
pnfs_dev.c
pnfs_nfs.c pnfs: add pnfs_ds_connect trace point 2025-07-14 15:20:03 -07: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 new helper: set_default_d_op() 2025-06-10 22:21:16 -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
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: Fix the marking of the folio as up to date 2025-09-06 16:51:26 -04:00