summaryrefslogtreecommitdiff
path: root/mkfs/main.c
diff options
context:
space:
mode:
authorQu Wenruo <wqu@suse.com>2017-10-16 16:22:56 +0800
committerDavid Sterba <dsterba@suse.com>2017-11-14 15:59:00 +0100
commitb84aa6033c340118e5ecc18acecd6b7492569fa7 (patch)
treeeb134049a739d0b49e7ce51610550a8398334ad7 /mkfs/main.c
parentda2659b090af383dea6dec71d2d4e128c643d455 (diff)
btrfs-progs: mkfs: refactor test_minimum_size to use the calculated minimal size
test_minimum_size() function is only called to check if provided device is large enough. However the minimal device size only needs to be calculated once, and can be reused everywhere. Refactor that function to make later modification easier. Signed-off-by: Qu Wenruo <wqu@suse.com> Reviewed-by: Lu Fengqi <lufq.fnst@cn.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'mkfs/main.c')
-rw-r--r--mkfs/main.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/mkfs/main.c b/mkfs/main.c
index 7d9fa38c..a69a699f 100644
--- a/mkfs/main.c
+++ b/mkfs/main.c
@@ -1453,6 +1453,7 @@ int main(int argc, char **argv)
u64 num_of_meta_chunks = 0;
u64 size_of_data = 0;
u64 source_dir_size = 0;
+ u64 min_dev_size;
int dev_cnt = 0;
int saved_optind;
char fs_uuid[BTRFS_UUID_UNPARSED_SIZE] = { 0 };
@@ -1663,19 +1664,20 @@ int main(int argc, char **argv)
goto error;
}
+ min_dev_size = btrfs_min_dev_size(nodesize);
/* Check device/block_count after the nodesize is determined */
- if (block_count && block_count < btrfs_min_dev_size(nodesize)) {
+ if (block_count && block_count < min_dev_size) {
error("size %llu is too small to make a usable filesystem",
block_count);
error("minimum size for btrfs filesystem is %llu",
- btrfs_min_dev_size(nodesize));
+ min_dev_size);
goto error;
}
for (i = saved_optind; i < saved_optind + dev_cnt; i++) {
char *path;
path = argv[i];
- ret = test_minimum_size(path, nodesize);
+ ret = test_minimum_size(path, min_dev_size);
if (ret < 0) {
error("failed to check size for %s: %s",
path, strerror(-ret));
@@ -1685,7 +1687,7 @@ int main(int argc, char **argv)
error("'%s' is too small to make a usable filesystem",
path);
error("minimum size for each btrfs device is %llu",
- btrfs_min_dev_size(nodesize));
+ min_dev_size);
goto error;
}
}