Commit dba72cb3 authored by Holger Hoffstätte's avatar Holger Hoffstätte Committed by Chris Mason

btrfs: fix balance range usage filters in 4.4-rc

There's a regression in 4.4-rc since commit bc309467
(btrfs: extend balance filter usage to take minimum and maximum) in that
existing (non-ranged) balance with -dusage=x no longer works; all chunks
are skipped.

After staring at the code for a while and wondering why a non-ranged
balance would even need min and max thresholds (..which then were not
set correctly, leading to the bug) I realized that the only problem
was the fact that the filter functions were named wrong, thanks to
patching copypasta. Simply renaming both functions lets the existing
btrfs-progs call balance with -dusage=x and now the non-ranged filter
function is invoked, properly using only a single chunk limit.
Signed-off-by: default avatarHolger Hoffstätte <holger.hoffstaette@googlemail.com>
Fixes: bc309467 ("btrfs: extend balance filter usage to take minimum and maximum")
Reviewed-by: default avatarFilipe Manana <fdmanana@suse.com>
Signed-off-by: default avatarChris Mason <clm@fb.com>
parent 82bd101b
...@@ -3122,7 +3122,7 @@ static int chunk_profiles_filter(u64 chunk_type, ...@@ -3122,7 +3122,7 @@ static int chunk_profiles_filter(u64 chunk_type,
return 1; return 1;
} }
static int chunk_usage_filter(struct btrfs_fs_info *fs_info, u64 chunk_offset, static int chunk_usage_range_filter(struct btrfs_fs_info *fs_info, u64 chunk_offset,
struct btrfs_balance_args *bargs) struct btrfs_balance_args *bargs)
{ {
struct btrfs_block_group_cache *cache; struct btrfs_block_group_cache *cache;
...@@ -3155,7 +3155,7 @@ static int chunk_usage_filter(struct btrfs_fs_info *fs_info, u64 chunk_offset, ...@@ -3155,7 +3155,7 @@ static int chunk_usage_filter(struct btrfs_fs_info *fs_info, u64 chunk_offset,
return ret; return ret;
} }
static int chunk_usage_range_filter(struct btrfs_fs_info *fs_info, static int chunk_usage_filter(struct btrfs_fs_info *fs_info,
u64 chunk_offset, struct btrfs_balance_args *bargs) u64 chunk_offset, struct btrfs_balance_args *bargs)
{ {
struct btrfs_block_group_cache *cache; struct btrfs_block_group_cache *cache;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment