diff options
author | bp <bp@FreeBSD.org> | 2000-10-02 09:57:06 +0000 |
---|---|---|
committer | bp <bp@FreeBSD.org> | 2000-10-02 09:57:06 +0000 |
commit | a9effa9b459a2393332e1beb8aab7b838f10c423 (patch) | |
tree | 79fd9e873634552c46f336b0ac9994751a0344d1 /sys/kern/vfs_export.c | |
parent | af5c59dc4ff3f56184587c5798871262a8a7a217 (diff) | |
download | FreeBSD-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.
Diffstat (limited to 'sys/kern/vfs_export.c')
-rw-r--r-- | sys/kern/vfs_export.c | 6 |
1 files changed, 4 insertions, 2 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--; |