From ac2ba40fa0139e5549a7d18e08b0ac4497220e83 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Wed, 1 Jul 2015 19:19:05 +0200 Subject: [PATCH] btrfs-progs: split data block group creation out of make_root_dir Signed-off-by: David Sterba --- mkfs.c | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/mkfs.c b/mkfs.c index 9da3fa39..166c6a8a 100644 --- a/mkfs.c +++ b/mkfs.c @@ -121,12 +121,13 @@ err: return ret; } -static int make_root_dir(struct btrfs_trans_handle *trans, struct btrfs_root *root, - int mixed, struct mkfs_allocation *allocation) +static int create_data_block_groups(struct btrfs_trans_handle *trans, + struct btrfs_root *root, int mixed, + struct mkfs_allocation *allocation) { u64 chunk_start = 0; u64 chunk_size = 0; - int ret; + int ret = 0; if (!mixed) { ret = btrfs_alloc_chunk(trans, root->fs_info->extent_root, @@ -145,6 +146,16 @@ static int make_root_dir(struct btrfs_trans_handle *trans, struct btrfs_root *ro BUG_ON(ret); } +err: + return ret; +} + +static int make_root_dir(struct btrfs_trans_handle *trans, struct btrfs_root *root, + int mixed, struct mkfs_allocation *allocation) +{ + struct btrfs_key location; + int ret; + ret = btrfs_make_root_dir(trans, root->fs_info->tree_root, BTRFS_ROOT_TREE_DIR_OBJECTID); if (ret) @@ -1546,6 +1557,12 @@ int main(int ac, char **av) trans = btrfs_start_transaction(root, 1); BUG_ON(!trans); + ret = create_data_block_groups(trans, root, mixed, &allocation); + if (ret) { + fprintf(stderr, "failed to create default data block groups\n"); + exit(1); + } + ret = make_root_dir(trans, root, mixed, &allocation); if (ret) { fprintf(stderr, "failed to setup the root directory\n");