pass2.c (e2fsck_pass2): Use dx_dir->numblocks instead of

dx_dir->ino to indicate that a bad inode was cleared.
bitmap-optimize
Theodore Ts'o 2002-07-15 16:54:42 -04:00
parent a8a813ee33
commit 62acaa1de1
2 changed files with 11 additions and 6 deletions

View File

@ -1,3 +1,8 @@
2002-07-15 Theodore Ts'o <tytso@mit.edu>
* pass2.c (e2fsck_pass2): Use dx_dir->numblocks instead of
dx_dir->ino to indicate that a bad inode was cleared.
2002-06-26 Theodore Ts'o <tytso@mit.edu>
* pass1.c (check_blocks): Move htree handling to handle_htree().

View File

@ -148,7 +148,7 @@ void e2fsck_pass2(e2fsck_t ctx)
#ifdef ENABLE_HTREE
for (i=0; (dx_dir = e2fsck_dx_dir_info_iter(ctx, &i)) != 0;) {
if (dx_dir->ino == 0)
if (dx_dir->numblocks == 0)
continue;
clear_problem_context(&pctx);
bad_dir = 0;
@ -221,13 +221,13 @@ void e2fsck_pass2(e2fsck_t ctx)
}
if (bad_dir && fix_problem(ctx, PR_2_HTREE_CLEAR, &pctx)) {
clear_htree(ctx, dx_dir->ino);
dx_dir->ino = 0;
dx_dir->numblocks = 0;
}
#ifdef ENABLE_HTREE_CLEAR
if (dx_dir->ino) {
if (dx_dir->numblocks) {
fix_problem(ctx, PR_2_HTREE_FCLR, &pctx);
clear_htree(ctx, dx_dir->ino);
dx_dir->ino = 0;
dx_dir->numblocks = 0;
}
#endif
}
@ -503,7 +503,7 @@ static void parse_int_node(ext2_filsys fs,
if (fix_problem(cd->ctx, PR_2_HTREE_BADBLK,
&cd->pctx)) {
clear_htree(cd->ctx, cd->pctx.ino);
dx_dir->ino = 0;
dx_dir->numblocks = 0;
return;
}
}
@ -610,7 +610,7 @@ static int check_dir_block(ext2_filsys fs,
}
#ifdef ENABLE_HTREE
dx_dir = e2fsck_get_dx_dir_info(ctx, ino);
if (dx_dir && dx_dir->ino) {
if (dx_dir && dx_dir->numblocks) {
if (db->blockcnt >= dx_dir->numblocks) {
printf("XXX should never happen!!!\n");
abort();