From: Ilya Dryomov Date: Tue, 12 Feb 2013 16:28:59 +0000 (+0000) Subject: Btrfs: allow for selecting only completely empty chunks X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=3e39cea61c4ecb5774c08f3e30507fdd58c1cca9;p=openwrt%2Fstaging%2Fblogic.git Btrfs: allow for selecting only completely empty chunks Enhance balance usage filter by making it possible to balance out only completely empty chunks. Today, usage filter properly acts on values from 1 to 99 inclusive, usage=100 selects all chunks, and usage=0 selects no chunks. This commit changes the usage=0 case: the new meaning is to restripe only completely empty chunks and nothing else. Suggested-by: David Sterba Signed-off-by: Ilya Dryomov Signed-off-by: Josef Bacik --- diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c index d778e9666597..567076542d1d 100644 --- a/fs/btrfs/volumes.c +++ b/fs/btrfs/volumes.c @@ -2679,7 +2679,7 @@ static int chunk_usage_filter(struct btrfs_fs_info *fs_info, u64 chunk_offset, chunk_used = btrfs_block_group_used(&cache->item); if (bargs->usage == 0) - user_thresh = 0; + user_thresh = 1; else if (bargs->usage > 100) user_thresh = cache->key.offset; else