diff options
Diffstat (limited to 'sys/kern/vfs_subr.c')
-rw-r--r-- | sys/kern/vfs_subr.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index 7968dcbb181..dc87e22f497 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -1,4 +1,4 @@ -/* $OpenBSD: vfs_subr.c,v 1.22 1998/08/30 23:34:36 csapuntz Exp $ */ +/* $OpenBSD: vfs_subr.c,v 1.23 1998/10/13 16:42:01 csapuntz Exp $ */ /* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */ /* @@ -768,11 +768,9 @@ vput(vp) panic("vput: ref cnt"); } #endif - VOP_INACTIVE(vp, p); - - if (vp->v_usecount == 0) - vputonfreelist(vp); + vputonfreelist(vp); + VOP_INACTIVE(vp, p); simple_unlock(&vp->v_interlock); } @@ -802,12 +800,11 @@ vrele(vp) panic("vrele: ref cnt"); } #endif + vputonfreelist(vp); + if (vn_lock(vp, LK_EXCLUSIVE |LK_INTERLOCK, p) == 0) VOP_INACTIVE(vp, p); - if (vp->v_usecount == 0) - vputonfreelist(vp); - simple_unlock(&vp->v_interlock); } |