diff options
author | David Sterba <dsterba@suse.com> | 2015-07-01 19:12:38 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2015-07-01 19:12:38 +0200 |
commit | 21f26887cdde8e16a55031782a99a3c4fb4cfc11 (patch) | |
tree | 3a242b2600b6f32502f1095585aa9bb5b1191dc9 | |
parent | 00d07721ec732334bc0620dc3057c3f1291675df (diff) |
btrfs-progs: split metadata group creation out of make_root_dir
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | mkfs.c | 23 |
1 files changed, 21 insertions, 2 deletions
@@ -59,11 +59,10 @@ struct mkfs_allocation { u64 system; }; -static int make_root_dir(struct btrfs_root *root, int mixed, +static int create_metadata_block_groups(struct btrfs_root *root, int mixed, struct mkfs_allocation *allocation) { struct btrfs_trans_handle *trans; - struct btrfs_key location; u64 bytes_used; u64 chunk_start = 0; u64 chunk_size = 0; @@ -117,6 +116,20 @@ static int make_root_dir(struct btrfs_root *root, int mixed, root->fs_info->system_allocs = 0; btrfs_commit_transaction(trans, root); + +err: + return ret; +} + +static int make_root_dir(struct btrfs_root *root, int mixed, + struct mkfs_allocation *allocation) +{ + struct btrfs_trans_handle *trans; + struct btrfs_key location; + u64 chunk_start = 0; + u64 chunk_size = 0; + int ret; + trans = btrfs_start_transaction(root, 1); BUG_ON(!trans); @@ -1530,6 +1543,12 @@ int main(int ac, char **av) } root->fs_info->alloc_start = alloc_start; + ret = create_metadata_block_groups(root, mixed, &allocation); + if (ret) { + fprintf(stderr, "failed to create default block groups\n"); + exit(1); + } + ret = make_root_dir(root, mixed, &allocation); if (ret) { fprintf(stderr, "failed to setup the root directory\n"); |