]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Correct an error of omission in the reimplementation of the page
authoralc <alc@FreeBSD.org>
Thu, 27 Sep 2007 04:21:59 +0000 (04:21 +0000)
committeralc <alc@FreeBSD.org>
Thu, 27 Sep 2007 04:21:59 +0000 (04:21 +0000)
commit9d3ffe57cefff26c40bcfe86213497c1af9e9be2
tree6b7cecdc04aa30481a7ed30edd9cc6bb042741b9
parenta4724ef3b4fc5854e1a7967115e32388061ea307
Correct an error of omission in the reimplementation of the page
cache: vm_object_page_remove() should convert any cached pages that
fall with the specified range to free pages.  Otherwise, there could
be a problem if a file is first truncated and then regrown.
Specifically, some old data from prior to the truncation might reappear.

Generalize vm_page_cache_free() to support the conversion of either a
subset or the entirety of an object's cached pages.

Reported by: tegge
Reviewed by: tegge
Approved by: re (kensmith)
sys/vm/vm_object.c
sys/vm/vm_page.c
sys/vm/vm_page.h