memcpy(thread_context, global_ctx, sizeof(struct e2fsck_struct));
thread_context->block_dup_map = NULL;
thread_context->encrypted_dirs = NULL;
+ thread_context->expand_eisize_map = NULL;
retval = e2fsck_allocate_block_bitmap(global_ctx->fs,
_("in-use block map"), EXT2FS_BMAP64_RBTREE,
global_ctx->invalid_bitmaps = invalid_bitmaps;
e2fsck_pass1_merge_invalid_bitmaps(global_ctx, thread_ctx);
+ if (thread_ctx->min_extra_isize < global_ctx->min_extra_isize)
+ global_ctx->min_extra_isize = thread_ctx->min_extra_isize;
+
retval = e2fsck_pass1_merge_bitmap(global_fs,
&thread_ctx->inode_used_map,
&global_ctx->inode_used_map);
if (retval)
return retval;
+ retval = e2fsck_pass1_merge_bitmap(global_fs,
+ &thread_ctx->expand_eisize_map,
+ &global_ctx->expand_eisize_map);
+ if (retval)
+ return retval;
+
if (ext2fs_has_feature_shared_blocks(global_fs->super) &&
!(global_ctx->options & E2F_OPT_UNSHARE_BLOCKS))
return 0;
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)