Page MenuHomeFreeBSD

D21426.id61335.diff
No OneTemporary

D21426.id61335.diff

Index: sys/kern/vfs_subr.c
===================================================================
--- sys/kern/vfs_subr.c
+++ sys/kern/vfs_subr.c
@@ -1034,8 +1034,8 @@
(vp->v_iflag & VI_FREE) != 0 ||
(vp->v_object != NULL &&
vp->v_object->resident_page_count > trigger)) {
- VOP_UNLOCK(vp, LK_INTERLOCK);
- vdrop(vp);
+ VOP_UNLOCK(vp, 0);
+ vdropl(vp);
goto next_iter_mntunlocked;
}
KASSERT((vp->v_iflag & VI_DOOMED) == 0,
@@ -1398,7 +1398,8 @@
*/
VI_LOCK(vp);
if (vp->v_usecount) {
- VOP_UNLOCK(vp, LK_INTERLOCK);
+ VOP_UNLOCK(vp, 0);
+ VI_UNLOCK(vp);
vn_finished_write(vnmp);
CTR2(KTR_VFS,
"%s: impossible to recycle, %p is already referenced",
@@ -1409,7 +1410,8 @@
counter_u64_add(recycles_count, 1);
vgonel(vp);
}
- VOP_UNLOCK(vp, LK_INTERLOCK);
+ VOP_UNLOCK(vp, 0);
+ VI_UNLOCK(vp);
vn_finished_write(vnmp);
return (0);
}

File Metadata

Mime Type
text/plain
Expires
Fri, May 1, 11:53 AM (16 h, 27 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
32575249
Default Alt Text
D21426.id61335.diff (900 B)

Event Timeline