summaryrefslogtreecommitdiffstats
path: root/sys/vm/vnode_pager.c
diff options
context:
space:
mode:
authordg <dg@FreeBSD.org>1995-01-11 20:00:10 +0000
committerdg <dg@FreeBSD.org>1995-01-11 20:00:10 +0000
commitdd94bc5ce1d2d4e5b70a9cf44509c15d34c57149 (patch)
treef9e4d016b6738d708e7e0e09108fcad0da58b98b /sys/vm/vnode_pager.c
parent555cadcf36fee3840eabdd3e13dd7361ee56a63e (diff)
downloadFreeBSD-src-dd94bc5ce1d2d4e5b70a9cf44509c15d34c57149.zip
FreeBSD-src-dd94bc5ce1d2d4e5b70a9cf44509c15d34c57149.tar.gz
Fixed a panic that Garrett reported to me...the OBJ_INTERNAL flag wasn't
being cleared in some cases for vnode backed objects; we now do this in vnode_pager_alloc proper to guarantee it. Also be more careful in the rcollapse code about messing with busy/bmapped pages.
Diffstat (limited to 'sys/vm/vnode_pager.c')
-rw-r--r--sys/vm/vnode_pager.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/vm/vnode_pager.c b/sys/vm/vnode_pager.c
index eedef9e..0693518 100644
--- a/sys/vm/vnode_pager.c
+++ b/sys/vm/vnode_pager.c
@@ -37,7 +37,7 @@
* SUCH DAMAGE.
*
* from: @(#)vnode_pager.c 7.5 (Berkeley) 4/20/91
- * $Id: vnode_pager.c,v 1.18 1994/11/24 14:43:22 davidg Exp $
+ * $Id: vnode_pager.c,v 1.19 1995/01/09 16:06:01 davidg Exp $
*/
/*
@@ -174,6 +174,7 @@ vnode_pager_alloc(handle, size, prot, offset)
*/
if ((rtval = VOP_GETATTR(vp, &vattr, p->p_ucred, p)) == 0) {
object = vm_object_allocate(round_page(vattr.va_size));
+ object->flags &= ~OBJ_INTERNAL;
vm_object_enter(object, pager);
vm_object_setpager(object, pager, 0, TRUE);
} else {
OpenPOWER on IntegriCloud