From: Wang Shilong Date: Wed, 23 Sep 2020 10:05:34 +0000 (+0800) Subject: LU-8465 e2fsck: cleanup e2fsck_pass1_thread_join() X-Git-Tag: v1.45.6.wc2~16 X-Git-Url: https://git.whamcloud.com/?a=commitdiff_plain;h=59b7eac3b747afa1027cd9a905ed08d5fd8c3d54;p=tools%2Fe2fsprogs.git LU-8465 e2fsck: cleanup e2fsck_pass1_thread_join() Use e2fsck_reset_context() to free memory to simpify codes. Signed-off-by: Wang Shilong Change-Id: Iddb7942d5bcb8fbd44ec15cb9e7de58d466a4430 Reviewed-on: https://review.whamcloud.com/40016 Tested-by: jenkins Tested-by: Maloo Reviewed-by: Andreas Dilger --- diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index 35be1dd..4a49a60 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -3353,36 +3353,14 @@ static int e2fsck_pass1_thread_join(e2fsck_t global_ctx, e2fsck_t thread_ctx) fputs("\n", thread_ctx->problem_logf); fclose(thread_ctx->problem_logf); } - e2fsck_pass1_free_bitmap(&thread_ctx->inode_used_map); - e2fsck_pass1_free_bitmap(&thread_ctx->inode_bad_map); - e2fsck_pass1_free_bitmap(&thread_ctx->inode_dir_map); - e2fsck_pass1_free_bitmap(&thread_ctx->inode_bb_map); - e2fsck_pass1_free_bitmap(&thread_ctx->inode_imagic_map); - e2fsck_pass1_free_bitmap(&thread_ctx->inode_reg_map); - e2fsck_pass1_free_bitmap(&thread_ctx->inodes_to_rebuild); - e2fsck_pass1_free_bitmap(&thread_ctx->block_found_map); - e2fsck_pass1_free_bitmap(&thread_ctx->block_ea_map); - e2fsck_pass1_free_bitmap(&thread_ctx->expand_eisize_map); - if (thread_ctx->refcount) - ea_refcount_free(thread_ctx->refcount); - if (thread_ctx->refcount_extra) - ea_refcount_free(thread_ctx->refcount_extra); - if (thread_ctx->ea_inode_refs) - ea_refcount_free(thread_ctx->ea_inode_refs); - if (thread_ctx->refcount_orig) - ea_refcount_free(thread_ctx->refcount_orig); - e2fsck_free_dir_info(thread_ctx); - ext2fs_free_icount(thread_ctx->inode_count); - ext2fs_free_icount(thread_ctx->inode_link_info); - ext2fs_free_icount(thread_ctx->inode_badness); - if (thread_ctx->dirs_to_hash) - ext2fs_badblocks_list_free(thread_ctx->dirs_to_hash); - if (thread_ctx->encrypted_dirs) - ext2fs_badblocks_list_free(thread_ctx->encrypted_dirs); - quota_release_context(&thread_ctx->qctx); - ext2fs_free_mem(&thread_ctx->invalid_block_bitmap_flag); - ext2fs_free_mem(&thread_ctx->invalid_inode_bitmap_flag); - ext2fs_free_mem(&thread_ctx->invalid_inode_table_flag); + + /* + * @block_metadata_map and @block_dup_map are + * shared, so we don't free them. + */ + thread_ctx->block_metadata_map = NULL; + thread_ctx->block_dup_map = NULL; + e2fsck_reset_context(thread_ctx); ext2fs_free_mem(&thread_ctx); return retval;