summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorGabríel Arthúr Pétursson <gabriel@system.is>2015-09-29 00:32:41 +0200
committerChris Mason <clm@fb.com>2015-10-27 03:38:29 +0100
commitdee32d0ac3719ef8d640efaf0884111df444730f (patch)
tree26664ba9632bdac8539e8cfec61807f8e7d120bd /include
parentbtrfs: extend balance filter limit to take minimum and maximum (diff)
downloadlinux-dee32d0ac3719ef8d640efaf0884111df444730f.tar.xz
linux-dee32d0ac3719ef8d640efaf0884111df444730f.zip
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 '')
-rw-r--r--include/uapi/linux/btrfs.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/include/uapi/linux/btrfs.h b/include/uapi/linux/btrfs.h
index 11f13108b78b..17a94704b183 100644
--- a/include/uapi/linux/btrfs.h
+++ b/include/uapi/linux/btrfs.h
@@ -229,7 +229,15 @@ struct btrfs_balance_args {
__u32 limit_max;
};
};
- __u64 unused[7];
+
+ /*
+ * Process chunks that cross stripes_min..stripes_max devices,
+ * BTRFS_BALANCE_ARGS_STRIPES_RANGE
+ */
+ __le32 stripes_min;
+ __le32 stripes_max;
+
+ __u64 unused[6];
} __attribute__ ((__packed__));
/* report balance progress to userspace */