]> Pileus Git - ~andy/linux/blobdiff - mm/truncate.c
Fix dirty page accounting leak with ext3 data=journal
[~andy/linux] / mm / truncate.c
index 3855492f1c3a4fe654384cbb44d158611eec68ac..9838c050e2ddf0a6825f2b7abb6df460a2b13455 100644 (file)
@@ -98,11 +98,11 @@ truncate_complete_page(struct address_space *mapping, struct page *page)
        if (page->mapping != mapping)
                return;
 
-       cancel_dirty_page(page, PAGE_CACHE_SIZE);
-
        if (PagePrivate(page))
                do_invalidatepage(page, 0);
 
+       cancel_dirty_page(page, PAGE_CACHE_SIZE);
+
        remove_from_page_cache(page);
        ClearPageUptodate(page);
        ClearPageMappedToDisk(page);