git: b952606b4f99 - main - unionfs_lock(): eliminate LK_CANRECURSE special-case

Jason A. Harmening <[email protected]>
Newsgroups gmane.os.freebsd.devel.cvs.src
Message-ID <6a88fc30.3320f.2112fbc5__18224.4324054167$1787362390$gmane$org@gitrepo.freebsd.org>
The branch main has been updated by jah:

URL: https://cgit.FreeBSD.org/src/commit/?id=b952606b4f999d2e691a1adf02f0ef0b2b34d26c

commit b952606b4f999d2e691a1adf02f0ef0b2b34d26c
Author:     Jason A. Harmening <[email protected]>
AuthorDate: 2026-08-15 16:05:46 +0000
Commit:     Jason A. Harmening <[email protected]>
CommitDate: 2026-08-22 01:32:15 +0000

    unionfs_lock(): eliminate LK_CANRECURSE special-case
    
    As of commit 9f5c4ef328 ("dounmount(9): temporarily enable recursion
    for the covered vnode lock"), the unmount path handles recursion
    automatically, so there's no longer a need to handle this case
    in unionfs-specific code.
    
    Reviewed by:    kib, markj
    Tested by:      pho
    Differential Revision:  https://reviews.freebsd.org/D58858
---
 sys/fs/unionfs/union_vnops.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/sys/fs/unionfs/union_vnops.c b/sys/fs/unionfs/union_vnops.c
index cfa0f4ab768e..998ca5ea7889 100644
--- a/sys/fs/unionfs/union_vnops.c
+++ b/sys/fs/unionfs/union_vnops.c
@@ -2252,17 +2252,6 @@ unionfs_lock_restart:
 		lvp_locked = true;
 	}
 
-	/*
-	 * During unmount, the root vnode lock may be taken recursively,
-	 * because it may share the same v_vnlock field as the vnode covered by
-	 * the unionfs mount.  The covered vnode is locked across VFS_UNMOUNT(),
-	 * and the same lock may be taken recursively here during vflush()
-	 * issued by unionfs_unmount().
-	 */
-	if ((flags & LK_TYPE_MASK) == LK_EXCLUSIVE &&
-	    (vp->v_vflag & VV_ROOT) != 0)
-		flags |= LK_CANRECURSE;
-
 	vholdnz(tvp);
 	VI_UNLOCK(vp);
 	error = VOP_LOCK(tvp, flags);
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.