From 04609add88ef8428d725de6ef60f46a3ff0dbc8e Mon Sep 17 00:00:00 2001 From: Josef Bacik Date: Wed, 28 Mar 2012 14:20:52 -0400 Subject: btrfs-progs: enforce block count on all devices in mkfs I had a test that creates a 7gig raid1 device but it was ending up wonky because the second device that gets added is the full size of the disk instead of the limited size. So enforce the limited size on all disks passed in at mkfs time, otherwise our threshold calculations end up wonky when doing chunk allocations. Thanks, Signed-off-by: Josef Bacik --- mkfs.c | 1 + utils.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/mkfs.c b/mkfs.c index aa50819..99fd7d4 100644 --- a/mkfs.c +++ b/mkfs.c @@ -1407,6 +1407,7 @@ int main(int ac, char **av) close(fd); continue; } + dev_block_count = block_count; ret = btrfs_prepare_device(fd, file, zero_end, &dev_block_count, &mixed); mixed = old_mixed; diff --git a/utils.c b/utils.c index 492c439..5833030 100644 --- a/utils.c +++ b/utils.c @@ -555,6 +555,8 @@ int btrfs_prepare_device(int fd, char *file, int zero_end, u64 *block_count_ret, fprintf(stderr, "unable to find %s size\n", file); exit(1); } + if (*block_count_ret) + block_count = min(block_count, *block_count_ret); zero_end = 1; if (block_count < 1024 * 1024 * 1024 && !(*mixed)) { -- cgit v1.2.1