|
@@ -1655,6 +1655,11 @@ void btrfs_throttle(struct btrfs_root *root)
|
|
|
|
|
|
void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr)
|
|
void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr)
|
|
{
|
|
{
|
|
|
|
+ /*
|
|
|
|
+ * looks as though older kernels can get into trouble with
|
|
|
|
+ * this code, they end up stuck in balance_dirty_pages forever
|
|
|
|
+ */
|
|
|
|
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,23)
|
|
struct extent_io_tree *tree;
|
|
struct extent_io_tree *tree;
|
|
u64 num_dirty;
|
|
u64 num_dirty;
|
|
u64 start = 0;
|
|
u64 start = 0;
|
|
@@ -1670,6 +1675,9 @@ void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr)
|
|
balance_dirty_pages_ratelimited_nr(
|
|
balance_dirty_pages_ratelimited_nr(
|
|
root->fs_info->btree_inode->i_mapping, 1);
|
|
root->fs_info->btree_inode->i_mapping, 1);
|
|
}
|
|
}
|
|
|
|
+#else
|
|
|
|
+ return;
|
|
|
|
+#endif
|
|
}
|
|
}
|
|
|
|
|
|
void btrfs_set_buffer_defrag(struct extent_buffer *buf)
|
|
void btrfs_set_buffer_defrag(struct extent_buffer *buf)
|