From 9fea9a6f5beaf626f7c2631cd723340f3144fc6d Mon Sep 17 00:00:00 2001 From: John Dyson Date: Tue, 10 Sep 1996 05:28:23 +0000 Subject: [PATCH] The whole issue of not support VOP_LOCK for VBLK devices should be rethought. This fixes YET another problem with unmounting filesystems. The root cause is not fixed here, but at least the problem has gone away. --- sys/vm/vnode_pager.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c index e2c33f93274..6f31dd3dfb1 100644 --- a/sys/vm/vnode_pager.c +++ b/sys/vm/vnode_pager.c @@ -38,7 +38,7 @@ * SUCH DAMAGE. * * from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91 - * $Id: vnode_pager.c,v 1.62 1996/07/30 03:08:21 dyson Exp $ + * $Id: vnode_pager.c,v 1.63 1996/08/21 21:56:23 dyson Exp $ */ /* @@ -375,9 +375,16 @@ vnode_pager_uncache(vp) return; vm_object_reference(object); - VOP_UNLOCK(vp); + + /* + * XXX We really should handle locking on + * VBLK devices... + */ + if (vp->v_type != VBLK) + VOP_UNLOCK(vp); pager_cache(object, FALSE); - VOP_LOCK(vp); + if (vp->v_type != VBLK) + VOP_LOCK(vp); return; }