diff options
author | Theodore Ts'o <tytso@mit.edu> | 2008-04-20 23:33:34 -0400 |
---|---|---|
committer | Theodore Ts'o <tytso@mit.edu> | 2008-04-20 23:33:34 -0400 |
commit | 16b851cdae98244e117fe91d93b267fcad1102b3 (patch) | |
tree | 0a264c773e7e111349d4b878f8dfe11ad8414ad4 /e2fsck | |
parent | 4a568505ab904d39d9553e9c1d1c565615a5c6ca (diff) | |
download | e2fsprogs-16b851cdae98244e117fe91d93b267fcad1102b3.tar.gz |
Remove LAZY_BG feature
This simplifies the code, and using the uninit_bg with the inode table
lazily initialized is just as good.
Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
Diffstat (limited to 'e2fsck')
-rw-r--r-- | e2fsck/pass5.c | 16 | ||||
-rw-r--r-- | e2fsck/super.c | 6 |
2 files changed, 8 insertions, 14 deletions
diff --git a/e2fsck/pass5.c b/e2fsck/pass5.c index 0f41a7e8..cc17820b 100644 --- a/e2fsck/pass5.c +++ b/e2fsck/pass5.c @@ -121,7 +121,7 @@ static void check_block_bitmaps(e2fsck_t ctx) struct problem_context pctx; int problem, save_problem, fixit, had_problem; errcode_t retval; - int lazy_flag, csum_flag; + int csum_flag; int skip_group = 0; clear_problem_context(&pctx); @@ -158,15 +158,13 @@ static void check_block_bitmaps(e2fsck_t ctx) goto errout; } - lazy_flag = EXT2_HAS_COMPAT_FEATURE(fs->super, - EXT2_FEATURE_COMPAT_LAZY_BG); csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM); redo_counts: had_problem = 0; save_problem = 0; pctx.blk = pctx.blk2 = NO_BLK; - if ((lazy_flag || csum_flag) && + if (csum_flag && (fs->group_desc[group].bg_flags & EXT2_BG_BLOCK_UNINIT)) skip_group++; super = fs->super->s_first_data_block; @@ -270,7 +268,7 @@ redo_counts: if ((ctx->progress)(ctx, 5, group, fs->group_desc_count*2)) goto errout; - if ((lazy_flag || csum_flag) && + if (csum_flag && (i != fs->super->s_blocks_count-1) && (fs->group_desc[group].bg_flags & EXT2_BG_BLOCK_UNINIT)) @@ -350,7 +348,7 @@ static void check_inode_bitmaps(e2fsck_t ctx) errcode_t retval; struct problem_context pctx; int problem, save_problem, fixit, had_problem; - int lazy_flag, csum_flag; + int csum_flag; int skip_group = 0; clear_problem_context(&pctx); @@ -387,15 +385,13 @@ static void check_inode_bitmaps(e2fsck_t ctx) goto errout; } - lazy_flag = EXT2_HAS_COMPAT_FEATURE(fs->super, - EXT2_FEATURE_COMPAT_LAZY_BG); csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM); redo_counts: had_problem = 0; save_problem = 0; pctx.ino = pctx.ino2 = 0; - if ((lazy_flag || csum_flag) && + if (csum_flag && (fs->group_desc[group].bg_flags & EXT2_BG_INODE_UNINIT)) skip_group++; @@ -474,7 +470,7 @@ do_counts: group + fs->group_desc_count, fs->group_desc_count*2)) goto errout; - if ((lazy_flag || csum_flag) && + if (csum_flag && (i != fs->super->s_inodes_count) && (fs->group_desc[group].bg_flags & EXT2_BG_INODE_UNINIT)) diff --git a/e2fsck/super.c b/e2fsck/super.c index b8a1df7c..f5abac94 100644 --- a/e2fsck/super.c +++ b/e2fsck/super.c @@ -468,7 +468,7 @@ void check_super_block(e2fsck_t ctx) struct problem_context pctx; blk_t free_blocks = 0; ino_t free_inodes = 0; - int lazy_flag, csum_flag; + int csum_flag; inodes_per_block = EXT2_INODES_PER_BLOCK(fs->super); ipg_max = inodes_per_block * (blocks_per_group - 4); @@ -578,8 +578,6 @@ void check_super_block(e2fsck_t ctx) first_block = sb->s_first_data_block; last_block = sb->s_blocks_count-1; - lazy_flag = EXT2_HAS_COMPAT_FEATURE(fs->super, - EXT2_FEATURE_COMPAT_LAZY_BG); csum_flag = EXT2_HAS_RO_COMPAT_FEATURE(fs->super, EXT4_FEATURE_RO_COMPAT_GDT_CSUM); for (i = 0, gd=fs->group_desc; i < fs->group_desc_count; i++, gd++) { @@ -641,7 +639,7 @@ void check_super_block(e2fsck_t ctx) ext2fs_unmark_valid(fs); } - if (!lazy_flag && !csum_flag && + if (!csum_flag && (gd->bg_flags &(EXT2_BG_BLOCK_UNINIT|EXT2_BG_INODE_UNINIT)|| gd->bg_itable_unused != 0)){ if (fix_problem(ctx, PR_0_GDT_UNINIT, &pctx)) { |