+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().
#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;
}
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
}
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;
}
}
}
#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();