summaryrefslogtreecommitdiffstats
path: root/sys/vm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2009-05-28 07:26:36 +0000
committeralc <alc@FreeBSD.org>2009-05-28 07:26:36 +0000
commiteabd244030d12b67a19f8ff9fc1573d49010ee8a (patch)
tree7473722536ba75f98fe795d5a90c73f7bdc69fa2 /sys/vm
parent7449a8ffdf985258921afef4fed9c58fd370b9c3 (diff)
downloadFreeBSD-src-eabd244030d12b67a19f8ff9fc1573d49010ee8a.zip
FreeBSD-src-eabd244030d12b67a19f8ff9fc1573d49010ee8a.tar.gz
Change vm_object_page_remove() such that it clears the page's dirty bits
when it invalidates the page. Suggested by: tegge
Diffstat (limited to 'sys/vm')
-rw-r--r--sys/vm/vm_object.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/vm/vm_object.c b/sys/vm/vm_object.c
index 34332f6..d98f944 100644
--- a/sys/vm/vm_object.c
+++ b/sys/vm/vm_object.c
@@ -1902,8 +1902,10 @@ again:
pmap_remove_all(p);
/* Account for removal of managed, wired mappings. */
p->wire_count -= wirings;
- if (!clean_only)
+ if (!clean_only) {
p->valid = 0;
+ vm_page_undirty(p);
+ }
continue;
}
if (vm_page_sleep_if_busy(p, TRUE, "vmopar"))
OpenPOWER on IntegriCloud