summaryrefslogtreecommitdiffstats
path: root/fs/btrfs/ctree.h
diff options
context:
space:
mode:
authorGabríel Arthúr Pétursson <gabriel@system.is>2015-09-28 22:32:41 +0000
committerChris Mason <clm@fb.com>2015-10-26 19:38:29 -0700
commitdee32d0ac3719ef8d640efaf0884111df444730f (patch)
tree26664ba9632bdac8539e8cfec61807f8e7d120bd /fs/btrfs/ctree.h
parent12907fc79818a62a2478f84f7795afa774bf7f9c (diff)
downloadop-kernel-dev-dee32d0ac3719ef8d640efaf0884111df444730f.zip
op-kernel-dev-dee32d0ac3719ef8d640efaf0884111df444730f.tar.gz
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.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/fs/btrfs/ctree.h b/fs/btrfs/ctree.h
index 460cd69..8ccbf43 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__));
/*
OpenPOWER on IntegriCloud