aboutsummaryrefslogtreecommitdiffstats
path: root/fs/btrfs/disk-io.c
diff options
context:
space:
mode:
Diffstat (limited to 'fs/btrfs/disk-io.c')
-rw-r--r--fs/btrfs/disk-io.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/fs/btrfs/disk-io.c b/fs/btrfs/disk-io.c
index 9d5424ad01a3..c3083165b172 100644
--- a/fs/btrfs/disk-io.c
+++ b/fs/btrfs/disk-io.c
@@ -1655,6 +1655,11 @@ void btrfs_throttle(struct btrfs_root *root)
1655 1655
1656void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr) 1656void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr)
1657{ 1657{
1658 /*
1659 * looks as though older kernels can get into trouble with
1660 * this code, they end up stuck in balance_dirty_pages forever
1661 */
1662#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
1658 struct extent_io_tree *tree; 1663 struct extent_io_tree *tree;
1659 u64 num_dirty; 1664 u64 num_dirty;
1660 u64 start = 0; 1665 u64 start = 0;
@@ -1670,6 +1675,9 @@ void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr)
1670 balance_dirty_pages_ratelimited_nr( 1675 balance_dirty_pages_ratelimited_nr(
1671 root->fs_info->btree_inode->i_mapping, 1); 1676 root->fs_info->btree_inode->i_mapping, 1);
1672 } 1677 }
1678#else
1679 return;
1680#endif
1673} 1681}
1674 1682
1675void btrfs_set_buffer_defrag(struct extent_buffer *buf) 1683void btrfs_set_buffer_defrag(struct extent_buffer *buf)