diff options
Diffstat (limited to 'src/ext4_mkfs.c')
| -rw-r--r-- | src/ext4_mkfs.c | 29 |
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; |
