From 710b77326dcacb1ed5deab5d02db3c6ec162be70 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Axel=20D=C3=B6rfler?= Date: Sun, 1 Jun 2008 10:53:10 +0000 Subject: [PATCH] * vm_cache::virtual_size is not always a multiple of B_PAGE_SIZE for files. In these cases, the last partial page would have never been written back. * This fixes bug #2282, and eventually others. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25747 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/kernel/vm/vm_page.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/system/kernel/vm/vm_page.cpp b/src/system/kernel/vm/vm_page.cpp index 1b34910a75..6e00966650 100644 --- a/src/system/kernel/vm/vm_page.cpp +++ b/src/system/kernel/vm/vm_page.cpp @@ -1398,7 +1398,7 @@ status_t vm_page_write_modified_pages(vm_cache *cache, bool fsReenter) { return vm_page_write_modified_page_range(cache, 0, - cache->virtual_size >> PAGE_SHIFT, fsReenter); + (cache->virtual_size + B_PAGE_SIZE - 1) >> PAGE_SHIFT, fsReenter); }