summaryrefslogtreecommitdiff
path: root/sys/kern
diff options
context:
space:
mode:
authorArtur Grabowski <art@cvs.openbsd.org>2001-03-21 17:05:30 +0000
committerArtur Grabowski <art@cvs.openbsd.org>2001-03-21 17:05:30 +0000
commit5cb79026beff0465c910ca32038a4980b717cff9 (patch)
tree4ac3bcdb6489e75ed16904f9125c4a5b0277dfca /sys/kern
parent45cb786e35ecd036696a483496992fb276d5e8d2 (diff)
uvm_vnp_terminate expect the vnode to be locked.
Why didn't LOCKDEBUG catch this?
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/vfs_subr.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/sys/kern/vfs_subr.c b/sys/kern/vfs_subr.c
index bad71924e8e..90386b2ac44 100644
--- a/sys/kern/vfs_subr.c
+++ b/sys/kern/vfs_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vfs_subr.c,v 1.56 2001/03/16 16:10:31 art Exp $ */
+/* $OpenBSD: vfs_subr.c,v 1.57 2001/03/21 17:05:29 art Exp $ */
/* $NetBSD: vfs_subr.c,v 1.53 1996/04/22 01:39:13 christos Exp $ */
/*
@@ -979,12 +979,6 @@ vclean(vp, flags, p)
if (vp->v_flag & VXLOCK)
panic("vclean: deadlock");
vp->v_flag |= VXLOCK;
-#ifdef UVM
- /*
- * clean out any VM data associated with the vnode.
- */
- uvm_vnp_terminate(vp);
-#endif
/*
* Even if the count is zero, the VOP_INACTIVE routine may still
* have the object locked while it cleans it out. The VOP_LOCK
@@ -994,6 +988,12 @@ vclean(vp, flags, p)
*/
VOP_LOCK(vp, LK_DRAIN | LK_INTERLOCK, p);
+#ifdef UVM
+ /*
+ * clean out any VM data associated with the vnode.
+ */
+ uvm_vnp_terminate(vp);
+#endif
/*
* Clean out any buffers associated with the vnode.
*/