diff --git a/e2fsck/ChangeLog b/e2fsck/ChangeLog index 966e5a97..b3027611 100644 --- a/e2fsck/ChangeLog +++ b/e2fsck/ChangeLog @@ -1,3 +1,14 @@ +2000-12-30 + + * problem.h: Fixed numbering of pass1 error messages; an extra 0 + had slipped into some of the numbers. (Pointed out by + Andreas Dilger) + + * journal.c (e2fsck_journal_fix_corrupt_super): Clean up + unnecessary automatic variable. Add explanatory comment + about the kernel emulation routines. (Suggested by + Andreas Dilger) + 2000-12-13 Theodore Ts'o * journal.c (e2fsck_check_ext3_journal): Check to make sure the diff --git a/e2fsck/journal.c b/e2fsck/journal.c index 1c596095..8eaa954b 100644 --- a/e2fsck/journal.c +++ b/e2fsck/journal.c @@ -29,6 +29,10 @@ static int bh_count = 0; int journal_enable_debug = 0; #endif +/* Kernel compatibility functions for handling the journal. These allow us + * to use the recovery.c file virtually unchanged from the kernel, so we + * don't have to do much to keep kernel and user recovery in sync. + */ int bmap(struct inode *inode, int block) { int retval; @@ -432,10 +436,8 @@ static int e2fsck_journal_fix_corrupt_super(e2fsck_t ctx, journal_t *journal, if (s->s_feature_compat & EXT3_FEATURE_COMPAT_HAS_JOURNAL) { if (fix_problem(ctx, PR_0_JOURNAL_BAD_SUPER, pctx)) { - journal_superblock_t *jsb = journal->j_superblock; - - e2fsck_journal_reset_super(ctx, jsb, journal); - + e2fsck_journal_reset_super(ctx, journal->j_superblock, + journal); journal->j_transaction_sequence = 1; e2fsck_clear_recover(ctx, recover); return 0; diff --git a/e2fsck/problem.h b/e2fsck/problem.h index 399afd14..0ea3298e 100644 --- a/e2fsck/problem.h +++ b/e2fsck/problem.h @@ -219,73 +219,73 @@ struct problem_context { #define PR_1_BBINODE_BAD_METABLOCK_PROMPT 0x010016 /* Bad primary block */ -#define PR_1_BAD_PRIMARY_BLOCK 0x0100017 +#define PR_1_BAD_PRIMARY_BLOCK 0x010017 /* Bad primary block prompt */ -#define PR_1_BAD_PRIMARY_BLOCK_PROMPT 0x0100018 +#define PR_1_BAD_PRIMARY_BLOCK_PROMPT 0x010018 /* Bad primary superblock */ -#define PR_1_BAD_PRIMARY_SUPERBLOCK 0x0100019 +#define PR_1_BAD_PRIMARY_SUPERBLOCK 0x010019 /* Bad primary block group descriptors */ -#define PR_1_BAD_PRIMARY_GROUP_DESCRIPTOR 0x010001A +#define PR_1_BAD_PRIMARY_GROUP_DESCRIPTOR 0x01001A /* Bad superblock in group */ -#define PR_1_BAD_SUPERBLOCK 0x010001B +#define PR_1_BAD_SUPERBLOCK 0x01001B /* Bad block group descriptors in group */ -#define PR_1_BAD_GROUP_DESCRIPTORS 0x010001C +#define PR_1_BAD_GROUP_DESCRIPTORS 0x01001C /* Block claimed for no reason */ -#define PR_1_PROGERR_CLAIMED_BLOCK 0x010001D +#define PR_1_PROGERR_CLAIMED_BLOCK 0x01001D /* Error allocating blocks for relocating metadata */ -#define PR_1_RELOC_BLOCK_ALLOCATE 0x010001E +#define PR_1_RELOC_BLOCK_ALLOCATE 0x01001E /* Error allocating block buffer during relocation process */ -#define PR_1_RELOC_MEMORY_ALLOCATE 0x010001F +#define PR_1_RELOC_MEMORY_ALLOCATE 0x01001F /* Relocating metadata group information from X to Y */ -#define PR_1_RELOC_FROM_TO 0x0100020 +#define PR_1_RELOC_FROM_TO 0x010020 /* Relocating metatdata group information to X */ -#define PR_1_RELOC_TO 0x0100021 +#define PR_1_RELOC_TO 0x010021 /* Block read error during relocation process */ -#define PR_1_RELOC_READ_ERR 0x0100022 +#define PR_1_RELOC_READ_ERR 0x010022 /* Block write error during relocation process */ -#define PR_1_RELOC_WRITE_ERR 0x0100023 +#define PR_1_RELOC_WRITE_ERR 0x010023 /* Error allocating inode bitmap */ -#define PR_1_ALLOCATE_IBITMAP_ERROR 0x0100024 +#define PR_1_ALLOCATE_IBITMAP_ERROR 0x010024 /* Error allocating block bitmap */ -#define PR_1_ALLOCATE_BBITMAP_ERROR 0x0100025 +#define PR_1_ALLOCATE_BBITMAP_ERROR 0x010025 /* Error allocating icount structure */ -#define PR_1_ALLOCATE_ICOUNT 0x0100026 +#define PR_1_ALLOCATE_ICOUNT 0x010026 /* Error allocating dbcount */ -#define PR_1_ALLOCATE_DBCOUNT 0x0100027 +#define PR_1_ALLOCATE_DBCOUNT 0x010027 /* Error while scanning inodes */ -#define PR_1_ISCAN_ERROR 0x0100028 +#define PR_1_ISCAN_ERROR 0x010028 /* Error while iterating over blocks */ -#define PR_1_BLOCK_ITERATE 0x0100029 +#define PR_1_BLOCK_ITERATE 0x010029 /* Error while storing inode count information */ -#define PR_1_ICOUNT_STORE 0x010002A +#define PR_1_ICOUNT_STORE 0x01002A /* Error while storing directory block information */ -#define PR_1_ADD_DBLOCK 0x010002B +#define PR_1_ADD_DBLOCK 0x01002B /* Error while reading inode (for clearing) */ -#define PR_1_READ_INODE 0x010002C +#define PR_1_READ_INODE 0x01002C /* Suppress messages prompt */ -#define PR_1_SUPPRESS_MESSAGES 0x010002D +#define PR_1_SUPPRESS_MESSAGES 0x01002D /* Filesystem contains large files, but has no such flag in sb */ #define PR_1_FEATURE_LARGE_FILES 0x01002E