btrfs-progs: split metadata group creation out of make_root_dir

Signed-off-by: David Sterba <dsterba@suse.com>
This commit is contained in:
David Sterba 2015-07-01 19:12:38 +02:00
parent 00d07721ec
commit 21f26887cd

23
mkfs.c
View File

@ -59,11 +59,10 @@ struct mkfs_allocation {
u64 system; 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 mkfs_allocation *allocation)
{ {
struct btrfs_trans_handle *trans; struct btrfs_trans_handle *trans;
struct btrfs_key location;
u64 bytes_used; u64 bytes_used;
u64 chunk_start = 0; u64 chunk_start = 0;
u64 chunk_size = 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; root->fs_info->system_allocs = 0;
btrfs_commit_transaction(trans, root); 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); trans = btrfs_start_transaction(root, 1);
BUG_ON(!trans); BUG_ON(!trans);
@ -1530,6 +1543,12 @@ int main(int ac, char **av)
} }
root->fs_info->alloc_start = alloc_start; 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); ret = make_root_dir(root, mixed, &allocation);
if (ret) { if (ret) {
fprintf(stderr, "failed to setup the root directory\n"); fprintf(stderr, "failed to setup the root directory\n");