summaryrefslogtreecommitdiffstats
path: root/sys/vm/vnode_pager.c
diff options
context:
space:
mode:
authordyson <dyson@FreeBSD.org>1996-09-10 05:28:23 +0000
committerdyson <dyson@FreeBSD.org>1996-09-10 05:28:23 +0000
commit49ad6efb1b83170415608c7b484379d456e5f6dd (patch)
tree9e17239e3819d53ff5cd7ede1aecaceb11722f28 /sys/vm/vnode_pager.c
parent3b5f1bef26f376ca12d064c97ca5b23c5f704de9 (diff)
downloadFreeBSD-src-49ad6efb1b83170415608c7b484379d456e5f6dd.zip
FreeBSD-src-49ad6efb1b83170415608c7b484379d456e5f6dd.tar.gz
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.
Diffstat (limited to 'sys/vm/vnode_pager.c')
-rw-r--r--sys/vm/vnode_pager.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index e2c33f9..6f31dd3 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;
}
OpenPOWER on IntegriCloud