From cbe64dd591fb9ebfbb4f3939b8074d312e288a3c Mon Sep 17 00:00:00 2001 From: phk <phk@FreeBSD.org> Date: Wed, 3 Sep 1997 09:18:48 +0000 Subject: [PATCH] Revert the v_usecount handling in relation to VOP_INACTIVE. --- sys/kern/vfs_export.c | 9 ++------- sys/kern/vfs_subr.c | 9 ++------- 2 files changed, 4 insertions(+), 14 deletions(-) diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c index f4e488577901..6555ba9cc6c9 100644 --- a/sys/kern/vfs_export.c +++ b/sys/kern/vfs_export.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95 - * $Id: vfs_subr.c,v 1.96 1997/08/31 07:32:14 phk Exp $ + * $Id: vfs_subr.c,v 1.97 1997/09/02 20:06:02 bde Exp $ */ /* @@ -1114,8 +1114,7 @@ vputrele(vp, put) panic("vputrele: negative ref cnt"); } - vp->v_holdcnt++; /* Make sure vnode isn't recycled */ - + vp->v_usecount--; /* * If we are doing a vput, the node is already locked, and we must * call VOP_INACTIVE with the node locked. So, in the case of @@ -1125,15 +1124,11 @@ vputrele(vp, put) simple_unlock(&vp->v_interlock); VOP_INACTIVE(vp, p); simple_lock(&vp->v_interlock); - vp->v_usecount--; - vp->v_holdcnt--; if (VSHOULDFREE(vp)) vfree(vp); simple_unlock(&vp->v_interlock); } else if (vn_lock(vp, LK_EXCLUSIVE | LK_INTERLOCK, p) == 0) { VOP_INACTIVE(vp, p); - vp->v_usecount--; - vp->v_holdcnt--; if (VSHOULDFREE(vp)) vfree(vp); } diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c index f4e488577901..6555ba9cc6c9 100644 --- a/sys/kern/vfs_subr.c +++ b/sys/kern/vfs_subr.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)vfs_subr.c 8.31 (Berkeley) 5/26/95 - * $Id: vfs_subr.c,v 1.96 1997/08/31 07:32:14 phk Exp $ + * $Id: vfs_subr.c,v 1.97 1997/09/02 20:06:02 bde Exp $ */ /* @@ -1114,8 +1114,7 @@ vputrele(vp, put) panic("vputrele: negative ref cnt"); } - vp->v_holdcnt++; /* Make sure vnode isn't recycled */ - + vp->v_usecount--; /* * If we are doing a vput, the node is already locked, and we must * call VOP_INACTIVE with the node locked. So, in the case of @@ -1125,15 +1124,11 @@ vputrele(vp, put) simple_unlock(&vp->v_interlock); VOP_INACTIVE(vp, p); simple_lock(&vp->v_interlock); - vp->v_usecount--; - vp->v_holdcnt--; if (VSHOULDFREE(vp)) vfree(vp); simple_unlock(&vp->v_interlock); } else if (vn_lock(vp, LK_EXCLUSIVE | LK_INTERLOCK, p) == 0) { VOP_INACTIVE(vp, p); - vp->v_usecount--; - vp->v_holdcnt--; if (VSHOULDFREE(vp)) vfree(vp); }