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);
 	}