diff options
author | Gabríel Arthúr Pétursson <gabriel@system.is> | 2015-09-28 22:32:41 +0000 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-10-26 19:38:29 -0700 |
commit | dee32d0ac3719ef8d640efaf0884111df444730f (patch) | |
tree | 26664ba9632bdac8539e8cfec61807f8e7d120bd /fs/btrfs/ctree.h | |
parent | 12907fc79818a62a2478f84f7795afa774bf7f9c (diff) |
btrfs: add balance filter for stripes
Balance block groups which have the given number of stripes, defined by
a range min..max. This is useful to selectively rebalance only chunks
that do not span enough devices, applies to RAID0/10/5/6.
Signed-off-by: Gabríel Arthúr Pétursson <gabriel@system.is>
[ renamed bargs members, added to the UAPI, wrote the changelog ]
Signed-off-by: David Sterba <dsterba@suse.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/ctree.h')
-rw-r--r-- | fs/btrfs/ctree.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h index 460cd69b405e..8ccbf4317a4a 100644 --- a/fs/btrfs/ctree.h +++ b/fs/btrfs/ctree.h @@ -859,7 +859,14 @@ struct btrfs_disk_balance_args { }; }; - __le64 unused[7]; + /* + * Process chunks that cross stripes_min..stripes_max devices, + * BTRFS_BALANCE_ARGS_STRIPES_RANGE + */ + __le32 stripes_min; + __le32 stripes_max; + + __le64 unused[6]; } __attribute__ ((__packed__)); /* |