summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbp <bp@FreeBSD.org>2000-10-02 09:57:06 +0000
committerbp <bp@FreeBSD.org>2000-10-02 09:57:06 +0000
commita9effa9b459a2393332e1beb8aab7b838f10c423 (patch)
tree79fd9e873634552c46f336b0ac9994751a0344d1
parentaf5c59dc4ff3f56184587c5798871262a8a7a217 (diff)
downloadFreeBSD-src-a9effa9b459a2393332e1beb8aab7b838f10c423.zip
FreeBSD-src-a9effa9b459a2393332e1beb8aab7b838f10c423.tar.gz
Move KASSERTs which checks value of v_usecount after vnode locking, so
it will not produce wrong alarms.
-rw-r--r--sys/kern/vfs_export.c6
-rw-r--r--sys/kern/vfs_subr.c6
2 files changed, 8 insertions, 4 deletions
diff --git a/sys/kern/vfs_export.c b/sys/kern/vfs_export.c
index 8beb3e6..d7a9436 100644
--- a/sys/kern/vfs_export.c
+++ b/sys/kern/vfs_export.c
@@ -1479,10 +1479,11 @@ vrele(vp)
struct proc *p = curproc; /* XXX */
KASSERT(vp != NULL, ("vrele: null vp"));
- KASSERT(vp->v_writecount < vp->v_usecount, ("vrele: missed vn_close"));
simple_lock(&vp->v_interlock);
+ KASSERT(vp->v_writecount < vp->v_usecount, ("vrele: missed vn_close"));
+
if (vp->v_usecount > 1) {
vp->v_usecount--;
@@ -1525,10 +1526,11 @@ vput(vp)
struct proc *p = curproc; /* XXX */
KASSERT(vp != NULL, ("vput: null vp"));
- KASSERT(vp->v_writecount < vp->v_usecount, ("vput: missed vn_close"));
simple_lock(&vp->v_interlock);
+ KASSERT(vp->v_writecount < vp->v_usecount, ("vput: missed vn_close"));
+
if (vp->v_usecount > 1) {
vp->v_usecount--;
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index 8beb3e6..d7a9436 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -1479,10 +1479,11 @@ vrele(vp)
struct proc *p = curproc; /* XXX */
KASSERT(vp != NULL, ("vrele: null vp"));
- KASSERT(vp->v_writecount < vp->v_usecount, ("vrele: missed vn_close"));
simple_lock(&vp->v_interlock);
+ KASSERT(vp->v_writecount < vp->v_usecount, ("vrele: missed vn_close"));
+
if (vp->v_usecount > 1) {
vp->v_usecount--;
@@ -1525,10 +1526,11 @@ vput(vp)
struct proc *p = curproc; /* XXX */
KASSERT(vp != NULL, ("vput: null vp"));
- KASSERT(vp->v_writecount < vp->v_usecount, ("vput: missed vn_close"));
simple_lock(&vp->v_interlock);
+ KASSERT(vp->v_writecount < vp->v_usecount, ("vput: missed vn_close"));
+
if (vp->v_usecount > 1) {
vp->v_usecount--;
OpenPOWER on IntegriCloud