summaryrefslogtreecommitdiff
path: root/e2fsck/pass2.c
diff options
context:
space:
mode:
Diffstat (limited to 'e2fsck/pass2.c')
-rw-r--r--e2fsck/pass2.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/e2fsck/pass2.c b/e2fsck/pass2.c
index 103b1551..882950d6 100644
--- a/e2fsck/pass2.c
+++ b/e2fsck/pass2.c
@@ -91,6 +91,7 @@ void e2fsck_pass2(e2fsck_t ctx)
struct check_dir_struct cd;
struct dx_dir_info *dx_dir;
struct dx_dirblock_info *dx_db, *dx_parent;
+ unsigned int save_type;
int b;
int i, depth;
problem_t code;
@@ -110,11 +111,15 @@ void e2fsck_pass2(e2fsck_t ctx)
&ctx->inode_count);
if (ctx->inode_count)
cd.pctx.errcode = 0;
- else
+ else {
+ e2fsck_set_bitmap_type(fs, EXT2FS_BMAP64_RBTREE,
+ "inode_count", &save_type);
cd.pctx.errcode = ext2fs_create_icount2(fs,
EXT2_ICOUNT_OPT_INCREMENT,
0, ctx->inode_link_info,
&ctx->inode_count);
+ fs->default_bitmap_type = save_type;
+ }
if (cd.pctx.errcode) {
fix_problem(ctx, PR_2_ALLOCATE_ICOUNT, &cd.pctx);
ctx->flags |= E2F_FLAG_ABORT;