]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/buffer.c
[PATCH] mm: tracking shared dirty pages
[net-next-2.6.git] / fs / buffer.c
index 71649ef9b6586696c695e2d80c000ceedaa51282..3b6d701073e7f09a311f10297a58d8c06e715df5 100644 (file)
@@ -2987,6 +2987,7 @@ int try_to_free_buffers(struct page *page)
 
        spin_lock(&mapping->private_lock);
        ret = drop_buffers(page, &buffers_to_free);
+       spin_unlock(&mapping->private_lock);
        if (ret) {
                /*
                 * If the filesystem writes its buffers by hand (eg ext3)
@@ -2998,7 +2999,6 @@ int try_to_free_buffers(struct page *page)
                 */
                clear_page_dirty(page);
        }
-       spin_unlock(&mapping->private_lock);
 out:
        if (buffers_to_free) {
                struct buffer_head *bh = buffers_to_free;