On Tue, Nov 17, 2015 at 11:29 AM, Holger Hoffstätte
<holger.hoffstaette@xxxxxxxxxxxxxx> wrote:
> There's a regression in 4.4-rc since commit bc3094673f22
> (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: Holger Hoffstätte <holger.hoffstaette@xxxxxxxxxxxxxx>
> Fixes: bc3094673f22 ("btrfs: extend balance filter usage to take minimum and maximum")
Reviewed-by: Filipe Manana <fdmanana@xxxxxxxx>
Besides prefixing the title with "Btrfs: " as correctly pointed by
Duncan, a better title would be like "Btrfs: fix broken balance usage
filters", as it's a problem in the filters and not the balance code
itself.
Thanks for chasing and fixing this.
> ---
> --- linux-4.1.13/fs/btrfs/volumes.c 2015-11-16 22:34:27.475045363 +0100
> +++ linux-4.1.13-filters/fs/btrfs/volumes.c 2015-11-17 12:08:41.308898665 +0100
> @@ -3189,7 +3189,7 @@
> 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_block_group_cache *cache;
> @@ -3222,7 +3222,7 @@
> 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)
> {
> struct btrfs_block_group_cache *cache;
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Filipe David Manana,
"Reasonable men adapt themselves to the world.
Unreasonable men adapt the world to themselves.
That's why all progress depends on unreasonable men."
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html