mm: rcu-protected get_mm_exe_file()
[linux-2.6-block.git] / fs / buffer.c
index 20805db2c98774a8cbe3242d37c63f370149f1a9..c7a5602d01eed200912d3a90ca4ac6780209cb6f 100644 (file)
@@ -3243,8 +3243,8 @@ int try_to_free_buffers(struct page *page)
         * to synchronise against __set_page_dirty_buffers and prevent the
         * dirty bit from being lost.
         */
-       if (ret)
-               cancel_dirty_page(page, PAGE_CACHE_SIZE);
+       if (ret && TestClearPageDirty(page))
+               account_page_cleaned(page, mapping);
        spin_unlock(&mapping->private_lock);
 out:
        if (buffers_to_free) {