Subject: linux-next: manual merge of the vfs tree with the vfs-brauner tree

From: Mark Brown <[email-masked]>
Date: Wed, 8 Apr 2026 13:43:50 +0100

Hi all,

Today's linux-next merge of the vfs tree got a conflict in:

  Documentation/filesystems/porting.rst

between commits:

  336faf5d9115c ("VFS: make lookup_one_qstr_excl() static.")
  4d94ce88c77e7 ("VFS: unexport lock_rename(), lock_rename_child(), unlock_rename()")

from the vfs-brauner tree and commit:

  408d8af01f3a4 ("for_each_alias(): helper macro for iterating through dentries of given inode")

from the vfs tree.

I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging.  You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.

diff --cc Documentation/filesystems/porting.rst
index d02aa57e44775,9a9babd9ec486..0000000000000
--- a/Documentation/filesystems/porting.rst
+++ b/Documentation/filesystems/porting.rst
@@@ -1364,14 -1364,10 +1364,22 @@@ lifetime, consider using inode_set_cach
  
  ---
  
 +**mandatory**
 +
 +lookup_one_qstr_excl() is no longer exported - use start_creating() or
 +similar.
 +---
 +
 +** mandatory**
 +
 +lock_rename(), lock_rename_child(), unlock_rename() are no
 +longer available.  Use start_renaming() or similar.
++---
 +
+ **recommended**
+ 
+ If you really need to iterate through dentries for given inode, use
+ for_each_alias(dentry, inode) instead of hlist_for_each_entry; better
+ yet, see if any of the exported primitives could be used instead of
+ the entire loop.  You still need to hold ->i_lock of the inode over
+ either form of manual loop.