btrfs-progs: split data block group creation out of make_root_dir

Signed-off-by: David Sterba <dsterba@suse.com>
master
David Sterba 2015-07-01 19:19:05 +02:00
parent 3161806153
commit ac2ba40fa0
1 changed files with 20 additions and 3 deletions

23
mkfs.c
View File

@ -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");