Commit 9e089e670e9a for kernel

commit 9e089e670e9ad1caf4a5b2b63e01b2dc076efbe3
Merge: 47439bb1635e ef30b3efb7e8
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Oct 25 15:42:16 2026 -1000

    Merge tag 'nfs-for-7.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfs

    Pull nfs client updates from Anna Schumaker:
     "New Features:
       - Modernize the direct I/O path
       - Size the LAYOUTGET reply buffer for wide flexfiles layouts
       - Flexfiles device notifications and caching for wide striped layouts
       - isolate mTLS client credentials by network namespace

      Bugfixes:
       - Various localio, flexfiles, xprtrdma, and TLS fixes
       - Merged bugfixes from Trond that he was unable to send during the 7.3-rc cycle

      Other Cleanups and Improvements:
       - Split up pNFS block layout and SCSI layout support"

    * tag 'nfs-for-7.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (68 commits)
      nfs/localio: pin UUIDs during global invalidation
      NFSv4/flexfiles: fail I/O to the data server once a lock is lost
      pNFS/flexfiles: don't report an interrupted DS connect as a DS error
      pNFS/flexfiles: make pg_init retry loops killable
      nfsv4/pnfs: use the MDS authflavor for data server connections
      xprtrdma: trim head iovec when the payload arrives via a Write chunk
      nfs: set gencount on protocol-specific remove
      xprtrdma: prevent disconnect feedback during endpoint teardown
      NFS: add a key type that reveals the namespace .nfs keyring serial number
      NFS: name the namespace .nfs keyring in the x509 handshake
      SUNRPC: pass a keyring serial number to the TLS handshake
      NFS: allocate the .nfs keyring per network namespace
      NFS: name the init_nfs_fs() error labels
      NFS: return DENIED in decode_lock_denied if we cannot decode owner
      pNFS/flexfiles: don't reset to MDS for v4 error when previous layout forbid it
      pNFS/flexfiles: don't read through MDS when previous layout forbid it
      pNFS/flexfiles: honor FF_FLAGS_NO_IO_THRU_MDS over the mdsthreshold hint
      NFS/localio: report the stability a DIO WRITE actually has
      NFS/localio: detect a short read or write before the iterator has moved
      NFS/localio: fix nfs_local_dio_misaligned tracepoint
      ...

diff --cc fs/nfs/internal.h
index cbb323c6530d,f6f7f70b21e2..5af6a032f145
--- a/fs/nfs/internal.h
+++ b/fs/nfs/internal.h
@@@ -394,11 -396,12 +396,12 @@@ extern unsigned long nfs_access_cache_c
  					    struct shrink_control *sc);
  extern unsigned long nfs_access_cache_scan(struct shrinker *shrink,
  					   struct shrink_control *sc);
+ extern void nfs_drop_nlink(struct inode *inode, unsigned long gencount);
  struct dentry *nfs_lookup(struct inode *, struct dentry *, unsigned int);
  void nfs_d_prune_case_insensitive_aliases(struct inode *inode);
 -int nfs_create(struct mnt_idmap *, struct inode *, struct dentry *,
 +int nfs_create(const struct mnt_idmap *, struct inode *, struct dentry *,
  	       umode_t);
 -struct dentry *nfs_mkdir(struct mnt_idmap *, struct inode *, struct dentry *,
 +struct dentry *nfs_mkdir(const struct mnt_idmap *, struct inode *, struct dentry *,
  			 umode_t);
  int nfs_rmdir(struct inode *, struct dentry *);
  int nfs_unlink(struct inode *, struct dentry *);