diff options
author | alc <alc@FreeBSD.org> | 2009-05-28 07:26:36 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2009-05-28 07:26:36 +0000 |
commit | eabd244030d12b67a19f8ff9fc1573d49010ee8a (patch) | |
tree | 7473722536ba75f98fe795d5a90c73f7bdc69fa2 /sys/vm | |
parent | 7449a8ffdf985258921afef4fed9c58fd370b9c3 (diff) | |
download | FreeBSD-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.c | 4 |
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")) |