Btrfs: only flush down bios for writeback pages
authorChris Mason <chris.mason@oracle.com>
Thu, 20 Nov 2008 15:46:35 +0000 (10:46 -0500)
committerChris Mason <chris.mason@oracle.com>
Thu, 20 Nov 2008 15:46:35 +0000 (10:46 -0500)
The btrfs write_cache_pages call has a flush function so that it submits
the bio it has been building before it waits on any writeback pages.

This adds a check so that flush only happens on writeback pages.

Signed-off-by: Chris Mason <chris.mason@oracle.com>
fs/btrfs/extent_io.c

index 3a65c10dce3358b57f7b4b50b37ac1951e452d89..87dba8517935d2516ee0745b4215a1bd16a32e5c 100644 (file)
@@ -2462,7 +2462,8 @@ retry:
                        }
 
                        if (wbc->sync_mode != WB_SYNC_NONE) {
-                               flush_fn(data);
+                               if (PageWriteback(page))
+                                       flush_fn(data);
                                wait_on_page_writeback(page);
                        }