summaryrefslogtreecommitdiffstats
path: root/sys/vm/vm_object.c
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>1999-07-11 18:30:32 +0000
committeralc <alc@FreeBSD.org>1999-07-11 18:30:32 +0000
commitc7285cff599c1a401d1c26faf50f32b276a23004 (patch)
tree588552e1e8a49ea53640d89b4e620a04b8e007c5 /sys/vm/vm_object.c
parentc3265a3445aac316d7f2e40cc8c45c5b569474b0 (diff)
downloadFreeBSD-src-c7285cff599c1a401d1c26faf50f32b276a23004.zip
FreeBSD-src-c7285cff599c1a401d1c26faf50f32b276a23004.tar.gz
Cleanup OBJ_ONEMAPPING management.
vm_map.c: Don't set OBJ_ONEMAPPING on arbitrary vm objects. Only default and swap type vm objects should have it set. vm_object_deallocate already handles these cases. vm_object.c: If OBJ_ONEMAPPING isn't already clear in vm_object_shadow, we are in trouble. Instead of clearing it, make it an assertion that it is already clear.
Diffstat (limited to 'sys/vm/vm_object.c')
-rw-r--r--sys/vm/vm_object.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 9166b06..d29b92b 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -61,7 +61,7 @@
* any improvements or extensions that they make and grant Carnegie the
* rights to redistribute these changes.
*
- * $Id: vm_object.c,v 1.157 1999/06/20 21:47:00 alc Exp $
+ * $Id: vm_object.c,v 1.158 1999/07/01 19:53:42 peter Exp $
*/
/*
@@ -876,6 +876,9 @@ vm_object_shadow(object, offset, length)
source->type == OBJT_SWAP))
return;
+ KASSERT((source->flags & OBJ_ONEMAPPING) == 0,
+ ("vm_object_shadow: source object has OBJ_ONEMAPPING set.\n"));
+
/*
* Allocate a new object with the given length
*/
@@ -896,7 +899,6 @@ vm_object_shadow(object, offset, length)
result->backing_object = source;
if (source) {
TAILQ_INSERT_TAIL(&source->shadow_head, result, shadow_list);
- vm_object_clear_flag(source, OBJ_ONEMAPPING);
source->shadow_count++;
source->generation++;
result->pg_color = (source->pg_color + OFF_TO_IDX(*offset)) & PQ_L2_MASK;
OpenPOWER on IntegriCloud