diff options
author | Chris Mason <chris.mason@oracle.com> | 2011-11-01 10:08:06 -0400 |
---|---|---|
committer | Chris Mason <chris.mason@oracle.com> | 2011-11-06 03:03:48 -0500 |
commit | 01d658f2ca3c85c1ffb20b306e30d16197000ce7 (patch) | |
tree | eda62586bb95967a4001f8fb70e6955b531cf801 /fs/btrfs/disk-io.h | |
parent | e688b7252f784c2479d559f9f70ca8354752c5e7 (diff) | |
download | op-kernel-dev-01d658f2ca3c85c1ffb20b306e30d16197000ce7.zip op-kernel-dev-01d658f2ca3c85c1ffb20b306e30d16197000ce7.tar.gz |
Btrfs: make sure to flush queued bios if write_cache_pages waits
write_cache_pages tries to build up a large bio to stuff down the pipe.
But if it needs to wait for a page lock, it needs to make sure and send
down any pending writes so we don't deadlock with anyone who has the
page lock and is waiting for writeback of things inside the bio.
Dave Sterba triggered this as a deadlock between the autodefrag code and
the extent write_cache_pages
Signed-off-by: Chris Mason <chris.mason@oracle.com>
Diffstat (limited to 'fs/btrfs/disk-io.h')
-rw-r--r-- | fs/btrfs/disk-io.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/fs/btrfs/disk-io.h b/fs/btrfs/disk-io.h index bec3ea4..e678539 100644 --- a/fs/btrfs/disk-io.h +++ b/fs/btrfs/disk-io.h @@ -83,8 +83,6 @@ int btrfs_init_log_root_tree(struct btrfs_trans_handle *trans, struct btrfs_fs_info *fs_info); int btrfs_add_log_tree(struct btrfs_trans_handle *trans, struct btrfs_root *root); -int btree_lock_page_hook(struct page *page); - #ifdef CONFIG_DEBUG_LOCK_ALLOC void btrfs_init_lockdep(void); |