linux/fs/nfs
Linus Torvalds b85900e91c NFS client updates for Linux 7.1
Highlights include:
 
 Bugfixes:
 - NFS: Fix handling of ENOSPC so that if we have to resend writes, they
   are written synchronously.
 - SUNRPC: RDMA transport fixes from Chuck
 - NFSv4.2: Several fixes for delegated timestamps
 - NFSv4: Failure to obtain a directory delegation should not cause
   stat() to fail.
 - NFSv4: Rename was failing to update timestamps when a directory
   delegation is held.
 - NFSv4: Ensure we check rsize/wsize after crossing a NFSv4 filesystem
   boundary.
 - NFSv4/pnfs: If the server is down, retry the layout returns on reboot
 - NFSv4/pnfs: Fallback to MDS could result in a short write being
   incorrectly logged.
 
 Cleanups:
 - NFS: use memcpy_and_pad in decode_fh
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQR8xgHcVzJNfOYElJo6EXfx2a6V0QUCaevSUgAKCRA6EXfx2a6V
 0ewIAQD+23uMo5sxY10btKATcBBxswY5YMtN1qQBMyn88N0XfwEAz0+zoEbRv4L2
 39goJ/WeJ0/gqhfJV9F+Oe2U1DbsEgM=
 =l9y/
 -----END PGP SIGNATURE-----

Merge tag 'nfs-for-7.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs

Pull NFS client updates from Trond Myklebust:
 "Bugfixes:

   - Fix handling of ENOSPC so that if we have to resend writes, they
     are written synchronously

   - SUNRPC RDMA transport fixes from Chuck

   - Several fixes for delegated timestamps in NFSv4.2

   - Failure to obtain a directory delegation should not cause stat() to
     fail with NFSv4

   - Rename was failing to update timestamps when a directory delegation
     is held on NFSv4

   - Ensure we check rsize/wsize after crossing a NFSv4 filesystem
     boundary

   - NFSv4/pnfs:

      - If the server is down, retry the layout returns on reboot

      - Fallback to MDS could result in a short write being incorrectly
        logged

  Cleanups:

   - Use memcpy_and_pad in decode_fh"

* tag 'nfs-for-7.1-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs: (21 commits)
  NFS: Fix RCU dereference of cl_xprt in nfs_compare_super_address
  NFS: remove redundant __private attribute from nfs_page_class
  NFSv4.2: fix CLONE/COPY attrs in presence of delegated attributes
  NFS: fix writeback in presence of errors
  nfs: use memcpy_and_pad in decode_fh
  NFSv4.1: Apply session size limits on clone path
  NFSv4: retry GETATTR if GET_DIR_DELEGATION failed
  NFS: fix RENAME attr in presence of directory delegations
  pnfs/flexfiles: validate ds_versions_cnt is non-zero
  NFS/blocklayout: print each device used for SCSI layouts
  xprtrdma: Post receive buffers after RPC completion
  xprtrdma: Scale receive batch size with credit window
  xprtrdma: Replace rpcrdma_mr_seg with xdr_buf cursor
  xprtrdma: Decouple frwr_wp_create from frwr_map
  xprtrdma: Close lost-wakeup race in xprt_rdma_alloc_slot
  xprtrdma: Avoid 250 ms delay on backlog wakeup
  xprtrdma: Close sendctx get/put race that can block a transport
  nfs: update inode ctime after removexattr operation
  nfs: fix utimensat() for atime with delegated timestamps
  NFS: improve "Server wrote zero bytes" error
  ...
2026-04-24 14:20:03 -07:00
..
blocklayout NFS client updates for Linux 7.1 2026-04-24 14:20:03 -07:00
filelayout treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
flexfilelayout NFS client updates for Linux 7.1 2026-04-24 14:20:03 -07:00
cache_lib.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
cache_lib.h
callback_proc.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
callback_xdr.c nfs: use memcpy_and_pad in decode_fh 2026-04-22 08:53:23 -04:00
callback.c NFS Client Updates for Linux 7.0 2026-02-12 17:49:33 -08:00
callback.h NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4 2026-01-30 11:42:21 -05:00
client.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
delegation.c Convert remaining multi-line kmalloc_obj/flex GFP_KERNEL uses 2026-02-22 08:26:33 -08:00
delegation.h NFS: fix delayed delegation return handling 2026-01-30 16:49:15 -05:00
dir.c Fixing livelocks in shrink_dcache_tree() 2026-04-21 07:30:44 -07:00
direct.c nfs: direct: drop useless initializer in nfs_direct_write_completion() 2025-04-27 23:25:44 -04:00
dns_resolve.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
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 treewide: change inode->i_ino from unsigned long to u64 2026-03-06 14:31:28 +01:00
fs_context.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
fscache.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
fscache.h netfs: Drop the was_async arg from netfs_read_subreq_terminated() 2024-12-20 22:34:03 +01:00
getroot.c struct dentry: make ->d_u anonymous 2026-04-02 03:47:31 -04:00
inode.c NFS client updates for Linux 7.1 2026-04-24 14:20:03 -07:00
internal.h NFS client updates for Linux 7.1 2026-04-24 14:20:03 -07:00
io.c NFS: Fix size read races in truncate, fallocate and copy offload 2026-01-15 14:38:25 -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: Fix NFS KConfig typos 2026-02-27 15:42:14 -05:00
localio.c NFS: fix writeback in presence of errors 2026-04-22 08:53:23 -04:00
Makefile NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4 2026-01-30 11:42:21 -05:00
mount_clnt.c NFS: Remove unused function nfs_umount 2025-07-14 15:20:28 -07:00
namespace.c NFS: Fix up the automount fs_context to use the correct cred 2025-11-29 17:23:03 -05:00
netns.h NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4 2026-01-30 11:42:21 -05:00
nfs.h NFS: Implement get_nfs_version() 2024-11-08 14:17:37 -05:00
nfs2super.c fs: nfs: add missing MODULE_DESCRIPTION() macros 2024-07-08 13:47:24 -04:00
nfs2xdr.c nfs/localio: add tracepoints for misaligned DIO READ and WRITE support 2025-09-30 16:10:30 -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: Set transport security policy to RPC_XPRTSEC_NONE unless using TLS 2025-11-10 10:32:28 -05:00
nfs3proc.c lockd: Move xdr.h from include/linux/lockd/ to fs/lockd/ 2026-03-29 21:25:09 -04:00
nfs3super.c fs: nfs: add missing MODULE_DESCRIPTION() macros 2024-07-08 13:47:24 -04:00
nfs3xdr.c nfs/localio: add tracepoints for misaligned DIO READ and WRITE support 2025-09-30 16:10:30 -04:00
nfs4_fs.h NFSv4: pass lease period in seconds to nfs4_set_lease_period() 2026-02-09 13:39:39 -05:00
nfs4client.c NFSv4.1: Apply session size limits on clone path 2026-04-13 14:56:09 -07:00
nfs4file.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nfs4getroot.c NFSv4: Remove duplicate lookups, capability probes and fsinfo calls 2025-08-04 09:48:16 -07:00
nfs4idmap.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nfs4idmap.h
nfs4namespace.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nfs4proc.c NFS client updates for Linux 7.1 2026-04-24 14:20:03 -07:00
nfs4renewd.c NFSv4: limit lease period in nfs4_set_lease_period() 2026-02-09 13:39:39 -05:00
nfs4session.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
nfs4session.h NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4 2026-01-30 11:42:21 -05:00
nfs4state.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nfs4super.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nfs4sysctl.c treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
nfs4trace.c NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4 2026-01-30 11:42:21 -05:00
nfs4trace.h NFS: fix delayed delegation return handling 2026-01-30 16:49:15 -05:00
nfs4xdr.c NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4 2026-01-30 11:42:21 -05:00
nfs40.h NFS: Move NFS v4.0 pathdown recovery into nfs40client.c 2026-01-30 11:42:20 -05:00
nfs40client.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
nfs40proc.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
nfs42.h NFS: Add support for fallocate(FALLOC_FL_ZERO_RANGE) 2025-05-28 17:17:13 -04:00
nfs42proc.c NFSv4.2: fix CLONE/COPY attrs in presence of delegated attributes 2026-04-22 08:53:23 -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: update inode ctime after removexattr operation 2026-04-13 11:46:08 -07: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: remove redundant __private attribute from nfs_page_class 2026-04-22 08:53:23 -04:00
pagelist.c NFS: fix writeback in presence of errors 2026-04-22 08:53:23 -04:00
pnfs_dev.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
pnfs_nfs.c treewide: Replace kmalloc with kmalloc_obj for non-scalar types 2026-02-21 01:02:28 -08:00
pnfs.c NFS client updates for Linux 7.1 2026-04-24 14:20:03 -07:00
pnfs.h NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4 2026-01-30 11:42:21 -05:00
proc.c lockd: Move xdr.h from include/linux/lockd/ to fs/lockd/ 2026-03-29 21:25:09 -04:00
read.c NFS: Merge CONFIG_NFS_V4_1 with CONFIG_NFS_V4 2026-01-30 11:42:21 -05:00
super.c NFS: Fix RCU dereference of cl_xprt in nfs_compare_super_address 2026-04-22 08:53:23 -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 NFSD 7.1 Release Notes 2026-04-20 10:44:02 -07:00
sysfs.h NFS: Add sysfs links to sunrpc clients for nfs_clients 2023-06-19 15:04:13 -04:00
unlink.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
write.c NFS client updates for Linux 7.1 2026-04-24 14:20:03 -07:00