diff options
author | dyson <dyson@FreeBSD.org> | 1996-09-10 05:28:23 +0000 |
---|---|---|
committer | dyson <dyson@FreeBSD.org> | 1996-09-10 05:28:23 +0000 |
commit | 49ad6efb1b83170415608c7b484379d456e5f6dd (patch) | |
tree | 9e17239e3819d53ff5cd7ede1aecaceb11722f28 /sys/vm/vnode_pager.c | |
parent | 3b5f1bef26f376ca12d064c97ca5b23c5f704de9 (diff) | |
download | FreeBSD-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.c | 13 |
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; } |