Page MenuHomeFreeBSD

D41731.diff
No OneTemporary

D41731.diff

diff --git a/sys/kern/vfs_lookup.c b/sys/kern/vfs_lookup.c
--- a/sys/kern/vfs_lookup.c
+++ b/sys/kern/vfs_lookup.c
@@ -905,8 +905,15 @@
crosslkflags |= LK_EXCLUSIVE | LK_CANRECURSE;
} else if ((crosslkflags & LK_EXCLUSIVE) != 0) {
error = vn_lock(dp, LK_UPGRADE);
- if (error != 0)
+ if (error != 0) {
+ MPASS(error == ENOENT);
+ vrele(dp);
+ if (dp != ndp->ni_dvp)
+ vput(ndp->ni_dvp);
+ else
+ vrele(ndp->ni_dvp);
break;
+ }
if (dp->v_mountedhere != mp) {
continue;
}

File Metadata

Mime Type
text/plain
Expires
Wed, Jul 22, 7:10 AM (6 h, 8 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
35353218
Default Alt Text
D41731.diff (542 B)

Event Timeline