Author: bonefish Date: 2010-02-20 13:36:49 +0100 (Sat, 20 Feb 2010) New Revision: 35532 Changeset: http://dev.haiku-os.org/changeset/35532/haiku Modified: haiku/trunk/src/system/kernel/cache/file_cache.cpp Log: reserve_pages(): When cannibalizing pages from the own cache it didn't check whether the pages where mapped. Was introduced already in r22731. Modified: haiku/trunk/src/system/kernel/cache/file_cache.cpp =================================================================== --- haiku/trunk/src/system/kernel/cache/file_cache.cpp 2010-02-20 12:29:42 UTC (rev 35531) +++ haiku/trunk/src/system/kernel/cache/file_cache.cpp 2010-02-20 12:36:49 UTC (rev 35532) @@ -309,9 +309,10 @@ vm_page* page; for (VMCachePagesTree::Iterator it = cache->pages.GetIterator(); (page = it.Next()) != NULL && left > 0;) { - if (page->state != PAGE_STATE_MODIFIED && !page->modified - && !page->busy) { + if (page->state == PAGE_STATE_CACHED && !page->busy) { DEBUG_PAGE_ACCESS_START(page); + ASSERT(!page->IsMapped()); + ASSERT(!page->modified); cache->RemovePage(page); vm_page_set_state(page, PAGE_STATE_FREE); left--;