From 8ce4b41a3786dfcce6d02f1e4faf3dcbd62c7a46 Mon Sep 17 00:00:00 2001 From: Wang Shilong Date: Fri, 20 Mar 2020 09:55:18 +0800 Subject: [PATCH] LU-8465 e2fsck: merge extent depth count after threads finish tests covered by f_extent_htree. Change-Id: Ica5a61ce9fbf73770eb014e0e938148cccb1b357 Signed-off-by: Wang Shilong Reviewed-on: https://review.whamcloud.com/38000 Reviewed-by: Andreas Dilger Tested-by: jenkins Tested-by: Maloo --- e2fsck/pass1.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/e2fsck/pass1.c b/e2fsck/pass1.c index b6a9da7..3a65679 100644 --- a/e2fsck/pass1.c +++ b/e2fsck/pass1.c @@ -3209,8 +3209,11 @@ static int e2fsck_pass1_thread_join_one(e2fsck_t global_ctx, e2fsck_t thread_ctx ext2fs_block_bitmap block_found_map = global_ctx->block_found_map; ext2fs_block_bitmap block_dup_map = global_ctx->block_dup_map; ext2_u32_list encrypted_dirs = global_ctx->encrypted_dirs; - int options = global_ctx->options; + int options = global_ctx->options, i; + __u32 extent_depth_count[MAX_EXTENT_DEPTH_COUNT]; + memcpy(extent_depth_count, global_ctx->extent_depth_count, + sizeof(extent_depth_count)); #ifdef HAVE_SETJMP_H jmp_buf old_jmp; @@ -3271,6 +3274,12 @@ static int e2fsck_pass1_thread_join_one(e2fsck_t global_ctx, e2fsck_t thread_ctx * later passes will recalculate it if necessary */ global_ctx->lost_and_found = 0; + memcpy(global_ctx->extent_depth_count, extent_depth_count, + sizeof(extent_depth_count)); + /* merge extent depth count */ + for (i = 0; i < MAX_EXTENT_DEPTH_COUNT; i++) + global_ctx->extent_depth_count[i] += + thread_ctx->extent_depth_count[i]; retval = e2fsck_pass1_merge_fs(global_fs, thread_fs); if (retval) { -- 1.8.3.1