X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=e2fsck%2Fproblem.h;h=a2bd2b5ff2ed935b65410af870f08f89e2a2feec;hb=f628acea2671dda839fc086f1017718e41e34eca;hp=4561c6188ac0bf14086dc6cf623c1a10f6ac5652;hpb=5d17119d14fe1276936c85d7986695a4543b1aa1;p=tools%2Fe2fsprogs.git diff --git a/e2fsck/problem.h b/e2fsck/problem.h index 4561c61..a2bd2b5 100644 --- a/e2fsck/problem.h +++ b/e2fsck/problem.h @@ -16,7 +16,7 @@ struct problem_context { ext2_ino_t ino, ino2, dir; struct ext2_inode *inode; struct ext2_dir_entry *dirent; - blk_t blk, blk2; + blk64_t blk, blk2; e2_blkcnt_t blkcount; int group; __u64 num; @@ -193,6 +193,21 @@ struct problem_context { /* Superblock hint for external journal incorrect */ #define PR_0_EXTERNAL_JOURNAL_HINT 0x000033 +/* Superblock hint for external journal incorrect */ +#define PR_0_DIRHASH_HINT 0x000034 + +/* Group descriptor N checksum is invalid */ +#define PR_0_GDT_CSUM 0x000035 + +/* Group descriptor N marked uninitialized without feature set. */ +#define PR_0_GDT_UNINIT 0x000036 + +/* Block bitmap is not initialised and Inode bitmap is */ +#define PR_0_BB_UNINIT_IB_INIT 0x000037 + +/* Group descriptor N has invalid unused inodes count. */ +#define PR_0_GDT_ITABLE_UNUSED 0x000038 + /* * Pass 1 errors */ @@ -449,6 +464,33 @@ struct problem_context { /* wrong EA hash value */ #define PR_1_ATTR_HASH 0x010054 +/* inode appears to be a directory */ +#define PR_1_TREAT_AS_DIRECTORY 0x010055 + +/* Error while reading extent tree */ +#define PR_1_READ_EXTENT 0x010056 + +/* Error deleting a bogus extent */ +#define PR_1_EXTENT_DELETE_FAIL 0x010057 + +/* Bad starting block in extent */ +#define PR_1_EXTENT_BAD_START_BLK 0x010058 + +/* Extent ends beyond filesystem */ +#define PR_1_EXTENT_ENDS_BEYOND 0x010059 + +/* EXTENTS_FL flag set on a non-extents capable filesystem */ +#define PR_1_EXTENTS_SET 0x01005A + +/* inode has extents, superblock missing INCOMPAT_EXTENTS feature */ +#define PR_1_EXTENT_FEATURE 0x01005B + +/* inode missing EXTENTS_FL, but is an extent inode */ +#define PR_1_UNSET_EXTENT_FL 0x01005C + +/* Fast symlink has EXTENTS_FL set */ +#define PR_1_FAST_SYMLINK_EXTENT_FL 0x01005D + /* * Pass 1b errors */ @@ -702,6 +744,15 @@ struct problem_context { /* i_blocks_hi should be zero */ #define PR_2_BLOCKS_HI_ZERO 0x020044 +/* Unexpected HTREE block */ +#define PR_2_UNEXPECTED_HTREE_BLOCK 0x020045 + +/* Inode found in group where _INODE_UNINIT is set */ +#define PR_2_INOREF_BG_INO_UNINIT 0x020046 + +/* Inode found in group unused inodes area */ +#define PR_2_INOREF_IN_UNUSED 0x020047 + /* * Pass 3 errors */ @@ -890,10 +941,23 @@ struct problem_context { /* Inode range not used, but marked in bitmap */ #define PR_5_INODE_RANGE_UNUSED 0x050016 - + /* Inode rangeused, but not marked used in bitmap */ #define PR_5_INODE_RANGE_USED 0x050017 +/* Block in use but group is marked BLOCK_UNINIT */ +#define PR_5_BLOCK_UNINIT 0x050018 + +/* Inode in use but group is marked INODE_UNINIT */ +#define PR_5_INODE_UNINIT 0x050019 + +/* + * Post-Pass 5 errors + */ + +/* Recreate the journal if E2F_FLAG_JOURNAL_INODE flag is set */ +#define PR_6_RECREATE_JOURNAL 0x060001 + /* * Function declarations */ @@ -905,5 +969,6 @@ void clear_problem_context(struct problem_context *ctx); /* message.c */ void print_e2fsck_message(e2fsck_t ctx, const char *msg, - struct problem_context *pctx, int first); + struct problem_context *pctx, int first, + int recurse);