diff options
author | dg <dg@FreeBSD.org> | 1995-01-11 20:00:10 +0000 |
---|---|---|
committer | dg <dg@FreeBSD.org> | 1995-01-11 20:00:10 +0000 |
commit | dd94bc5ce1d2d4e5b70a9cf44509c15d34c57149 (patch) | |
tree | f9e4d016b6738d708e7e0e09108fcad0da58b98b /sys/vm/vnode_pager.c | |
parent | 555cadcf36fee3840eabdd3e13dd7361ee56a63e (diff) | |
download | FreeBSD-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.c | 3 |
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 { |