diff options
author | Josef Bacik <jbacik@fusionio.com> | 2012-07-27 08:37:55 -0400 |
---|---|---|
committer | David Sterba <dsterba@suse.cz> | 2012-10-02 13:02:48 +0200 |
commit | 605e806166847872bb91831b397d58f95027975a (patch) | |
tree | 94032f0e981816e4d36a74003abb5d7c757cd226 /utils.c | |
parent | 45e9ec733deb73672c9bae3b1adf50f44bc8ae0c (diff) |
Btrfs-progs: only enforce a maximum size if we specify one
My patch
04609add88ef8428d725de6ef60f46a3ff0dbc8e
introduced a regression where if you mkfs'ed a group of disks with different
sizes it limited the disks to the size of the first one that is specified.
This was not the intent of my patch, I only want it to limit the size based
on the -b option, so I've reworked the code to pass in a max block count and
that fixes the issue. Thanks,
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'utils.c')
-rw-r--r-- | utils.c | 12 |
1 files changed, 3 insertions, 9 deletions
@@ -537,13 +537,7 @@ int btrfs_add_to_fsid(struct btrfs_trans_handle *trans, } int btrfs_prepare_device(int fd, char *file, int zero_end, u64 *block_count_ret, - int *mixed) -{ - /* discard by default when called from 'device add' */ - return __btrfs_prepare_device(fd, file, zero_end, block_count_ret, mixed, 0); -} -int __btrfs_prepare_device(int fd, char *file, int zero_end, u64 *block_count_ret, - int *mixed, int nodiscard) + u64 max_block_count, int *mixed, int nodiscard) { u64 block_count; u64 bytenr; @@ -561,8 +555,8 @@ int __btrfs_prepare_device(int fd, char *file, int zero_end, u64 *block_count_re fprintf(stderr, "unable to find %s size\n", file); exit(1); } - if (*block_count_ret) - block_count = min(block_count, *block_count_ret); + if (max_block_count) + block_count = min(block_count, max_block_count); zero_end = 1; if (block_count < 1024 * 1024 * 1024 && !(*mixed)) { |