Btrfs: allow for selecting only completely empty chunks
authorIlya Dryomov <idryomov@gmail.com>
Tue, 12 Feb 2013 16:28:59 +0000 (16:28 +0000)
committerJosef Bacik <jbacik@fusionio.com>
Wed, 20 Feb 2013 17:59:54 +0000 (12:59 -0500)
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 <dsterba@suse.cz>
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
fs/btrfs/volumes.c

index d778e96665971ffc5e0915ecd9f16df3b6dbcb1c..567076542d1dc5c8b28370ba062c2ce5987b5b21 100644 (file)
@@ -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