Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 7 Jul 2023 01:15:46 GMT
From:      Mateusz Guzik <mjg@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   git: ebf37c3fed04 - main - vfs: drop LK_RETRY when crossing mount points in vfs_lookup
Message-ID:  <202307070115.3671FkKr059695@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by mjg:

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

commit ebf37c3fed04f10d452b426cf83e741b6365a2ec
Author:     Mateusz Guzik <mjg@FreeBSD.org>
AuthorDate: 2023-07-05 22:56:04 +0000
Commit:     Mateusz Guzik <mjg@FreeBSD.org>
CommitDate: 2023-07-07 01:14:55 +0000

    vfs: drop LK_RETRY when crossing mount points in vfs_lookup
    
    vn_lock already returns the expected error.
    
    Reviewed by:    kib
    Differential Revision:  https://reviews.freebsd.org/D40883
---
 sys/kern/vfs_lookup.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c
index 588ef88d24df..5a5560a4c26f 100644
--- a/sys/kern/vfs_lookup.c
+++ b/sys/kern/vfs_lookup.c
@@ -1314,11 +1314,9 @@ good:
 				crosslkflags &= ~LK_SHARED;
 				crosslkflags |= LK_EXCLUSIVE | LK_CANRECURSE;
 			} else if ((crosslkflags & LK_EXCLUSIVE) != 0) {
-				vn_lock(dp, LK_UPGRADE | LK_RETRY);
-				if (VN_IS_DOOMED(dp)) {
-					error = ENOENT;
-					goto bad2;
-				}
+				error = vn_lock(dp, LK_UPGRADE);
+				if (error != 0)
+					goto bad_unlocked;
 				if (dp->v_mountedhere != mp) {
 					continue;
 				}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202307070115.3671FkKr059695>