Btrfs: Don't do btree balance_dirty_pages on old kernels, it stalls forever
Signed-off-by: Chris Mason <chris.mason@oracle.com>
This commit is contained in:
parent
323da79c9f
commit
188de649c5
1 changed files with 8 additions and 0 deletions
|
@ -1655,6 +1655,11 @@ void btrfs_throttle(struct btrfs_root *root)
|
|||
|
||||
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;
|
||||
u64 num_dirty;
|
||||
u64 start = 0;
|
||||
|
@ -1670,6 +1675,9 @@ void btrfs_btree_balance_dirty(struct btrfs_root *root, unsigned long nr)
|
|||
balance_dirty_pages_ratelimited_nr(
|
||||
root->fs_info->btree_inode->i_mapping, 1);
|
||||
}
|
||||
#else
|
||||
return;
|
||||
#endif
|
||||
}
|
||||
|
||||
void btrfs_set_buffer_defrag(struct extent_buffer *buf)
|
||||
|
|
Loading…
Reference in a new issue