Page MenuHomeFreeBSD

D52608.diff
No OneTemporary

D52608.diff

diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -3713,11 +3713,12 @@
ASSERT_VOP_LOCKED(vp, __func__);
ASSERT_VI_UNLOCKED(vp, __func__);
- if (!refcount_release(&vp->v_usecount)) {
- VOP_UNLOCK(vp);
+ if (refcount_release_if_last(&vp->v_usecount)) {
+ vput_final(vp, VPUT);
return;
}
- vput_final(vp, VPUT);
+ VOP_UNLOCK(vp);
+ vrele(vp);
}
/*

File Metadata

Mime Type
text/plain
Expires
Sat, Feb 28, 6:38 PM (42 m, 18 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
29078919
Default Alt Text
D52608.diff (423 B)

Event Timeline