summaryrefslogtreecommitdiff
path: root/src/ext4_mkfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext4_mkfs.c')
-rw-r--r--src/ext4_mkfs.c29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/ext4_mkfs.c b/src/ext4_mkfs.c
index 4765926..a2a1a34 100644
--- a/src/ext4_mkfs.c
+++ b/src/ext4_mkfs.c
@@ -317,6 +317,7 @@ static int write_bgroups(struct ext4_fs *fs, struct ext4_blockdev *bd, struct fs
uint64_t sb_free_blk = 0;
for (uint32_t i = 0; i < aux_info->groups; i++) {
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "Writing aux_info group %d of %d", i, aux_info->groups);
uint64_t bg_start_block = aux_info->first_data_block +
aux_info->first_data_block + i * info->blocks_per_group;
uint32_t blk_off = 0;
@@ -375,6 +376,7 @@ static int write_bgroups(struct ext4_fs *fs, struct ext4_blockdev *bd, struct fs
int r = EOK;
for (uint32_t i = 0; i < aux_info->groups; i++) {
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "Writing block group header %d of %d", i, aux_info->groups);
if (progress) {
progress(progress_context, (float) i / aux_info->groups);
}
@@ -480,10 +482,12 @@ static int mkfs_init(struct ext4_fs *fs, struct ext4_blockdev *bd, struct ext4_m
fill_sb(&aux_info, info);
memcpy(&fs->sb, aux_info.sb, sizeof(struct ext4_sblock));
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "mkfs_init: write_bgroups");
r = write_bgroups(fs, bd, &aux_info, info, progress, progress_context);
if (r != EOK)
goto Finish;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "mkfs_init: write_sblocks");
r = write_sblocks(bd, &aux_info, info);
if (r != EOK)
goto Finish;
@@ -665,6 +669,10 @@ int ext4_mkfs(struct ext4_fs *fs, struct ext4_blockdev *bd,
{
int r;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_mkfs start");
+
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_block_init");
+
r = ext4_block_init(bd);
if (r != EOK)
return r;
@@ -771,16 +779,22 @@ int ext4_mkfs(struct ext4_fs *fs, struct ext4_blockdev *bd,
memset(&bc, 0, sizeof(struct ext4_bcache));
ext4_block_set_lb_size(bd, info->block_size);
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_bcache_init_dynamic");
+
r = ext4_bcache_init_dynamic(&bc, CONFIG_BLOCK_DEV_CACHE_SIZE,
info->block_size);
if (r != EOK)
goto block_fini;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_block_bind_bcache");
+
/*Bind block cache to block device*/
r = ext4_block_bind_bcache(bd, &bc);
if (r != EOK)
goto cache_fini;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_block_cache_write_back");
+
r = ext4_block_cache_write_back(bd, 1);
if (r != EOK)
goto cache_fini;
@@ -788,34 +802,49 @@ int ext4_mkfs(struct ext4_fs *fs, struct ext4_blockdev *bd,
fs->bdev = bd;
fs->read_only = false;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "mkfs_init");
+
r = mkfs_init(fs, bd, info, progress, progress_context);
if (r != EOK)
goto cache_fini;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_fs_init");
+
r = ext4_fs_init(fs, bd, false);
if (r != EOK)
goto cache_fini;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "alloc_inodes");
+
r = alloc_inodes(fs);
if (r != EOK)
goto fs_fini;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "create_dirs");
+
r = create_dirs(fs);
if (r != EOK)
goto fs_fini;
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "create_journal_inode");
+
r = create_journal_inode(fs, info);
if (r != EOK)
goto fs_fini;
fs_fini:
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_fs_fini");
ext4_fs_fini(fs);
cache_fini:
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_block_cache_write_back");
ext4_block_cache_write_back(bd, 0);
+
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_bcache_fini_dynamic");
ext4_bcache_fini_dynamic(&bc);
block_fini:
+ ext4_dbg(DEBUG_MKFS, DBG_NONE "ext4_block_fini");
ext4_block_fini(bd);
return r;