~daniel-mehrmann/e2fsprogs/master

« back to all changes in this revision

Viewing changes to e2fsck/problem.c

  • Committer: Daniel Mehrmann
  • Date: 2014-12-16 09:16:59 UTC
  • mfrom: (1.2.25)
  • Revision ID: daniel.mehrmann@gmx.de-20141216091659-ymhbl4ualba43vuc
Tags: 1.43-SN-2014-12-16-0ubuntu1
* Merge in snapshot from the maint branch 

Show diffs side-by-side

added added

removed removed

Lines of Context:
126
126
          "    e2fsck -b 8193 <@v>\n"
127
127
          " or\n"
128
128
          "    e2fsck -b 32768 <@v>\n\n"),
129
 
          PROMPT_NONE, PR_FATAL },
 
129
          PROMPT_NONE, 0 },
130
130
 
131
131
        /* Filesystem size is wrong */
132
132
        { PR_0_FS_SIZE_WRONG,
435
435
          N_("ext2fs_check_desc: %m\n"),
436
436
          PROMPT_NONE, 0 },
437
437
 
 
438
        /*
 
439
         * metadata_csum implies uninit_bg; both feature bits cannot
 
440
         * be set simultaneously.
 
441
         */
 
442
        { PR_0_META_AND_GDT_CSUM_SET,
 
443
          N_("@S metadata_csum supersedes uninit_bg; both feature "
 
444
             "bits cannot be set simultaneously."),
 
445
          PROMPT_FIX, PR_PREEN_OK | PR_NO_OK},
 
446
 
 
447
        /* Superblock has invalid MMP checksum. */
 
448
        { PR_0_MMP_CSUM_INVALID,
 
449
          N_("@S MMP block checksum does not match MMP block.  "),
 
450
          PROMPT_FIX, PR_PREEN_OK | PR_NO_OK},
 
451
 
438
452
        /* 64bit is set but extents is unset. */
439
453
        { PR_0_64BIT_WITHOUT_EXTENTS,
440
454
          N_("@S 64bit filesystems needs extents to access the whole disk.  "),
445
459
          N_("First_meta_bg is too big.  (%N, max value %g).  "),
446
460
          PROMPT_CLEAR, 0 },
447
461
 
 
462
        /* External journal has corrupt superblock */
 
463
        { PR_0_EXT_JOURNAL_SUPER_CSUM_INVALID,
 
464
          N_("External @j @S checksum does not match @S.  "),
 
465
          PROMPT_FIX, PR_PREEN_OK },
 
466
 
448
467
        /* Pass 1 errors */
449
468
 
450
469
        /* Pass 1: Checking inodes, blocks, and sizes */
765
784
 
766
785
        /* Error allocating EA region allocation structure */
767
786
        { PR_1_EA_ALLOC_REGION_ABORT,
768
 
          N_("@A @a @b %b.  "),
 
787
          N_("@A @a region allocation structure.  "),
769
788
          PROMPT_NONE, PR_FATAL},
770
789
 
771
790
        /* Error EA allocation collision */
958
977
          N_("@i %i has zero length extent\n\t(@n logical @b %c, physical @b %b)\n"),
959
978
          PROMPT_CLEAR, 0 },
960
979
 
 
980
        /* inode seems to contain garbage */
 
981
        { PR_1_INODE_IS_GARBAGE,
 
982
          N_("@i %i seems to contain garbage.  "),
 
983
          PROMPT_CLEAR, 0 },
 
984
 
 
985
        /* inode passes checks, but checksum does not match inode */
 
986
        { PR_1_INODE_ONLY_CSUM_INVALID,
 
987
          N_("@i %i passes checks, but checksum does not match @i.  "),
 
988
          PROMPT_FIX, PR_PREEN_OK },
 
989
 
 
990
        /* Inode extended attribute is corrupt (allocation collision) */
 
991
        { PR_1_INODE_EA_ALLOC_COLLISION,
 
992
          N_("@i %i @a is corrupt (allocation collision).  "),
 
993
          PROMPT_CLEAR, 0},
 
994
 
 
995
        /*
 
996
         * Inode extent block passes checks, but checksum does not match
 
997
         * extent
 
998
         */
 
999
        { PR_1_EXTENT_ONLY_CSUM_INVALID,
 
1000
          N_("@i %i extent block passes checks, but checksum does not match "
 
1001
             "extent\n\t(logical @b %c, physical @b %b, len %N)\n"),
 
1002
          PROMPT_FIX, 0 },
 
1003
 
 
1004
        /*
 
1005
         * Inode extended attribute block passes checks, but checksum does not
 
1006
         * match block.
 
1007
         */
 
1008
        { PR_1_EA_BLOCK_ONLY_CSUM_INVALID,
 
1009
          N_("@i %i @a @b %b passes checks, but checksum does not match @b.  "),
 
1010
          PROMPT_FIX, 0 },
 
1011
 
961
1012
        /*
962
1013
         * Interior extent node logical offset doesn't match first node below it
963
1014
         */
971
1022
          N_("@i %i, end of extent exceeds allowed value\n\t(logical @b %c, physical @b %b, len %N)\n"),
972
1023
          PROMPT_CLEAR, 0 },
973
1024
 
 
1025
        /* Inode has inline data, but superblock is missing INLINE_DATA feature. */
 
1026
        { PR_1_INLINE_DATA_FEATURE,
 
1027
          N_("@i %i has inline data, but @S is missing INLINE_DATA feature\n"),
 
1028
          PROMPT_CLEAR, PR_PREEN_OK },
 
1029
 
 
1030
        /* INLINE_DATA feature is set in a non-inline-data filesystem */
 
1031
        { PR_1_INLINE_DATA_SET,
 
1032
          N_("@i %i has INLINE_DATA_FL flag on @f without inline data support.\n"),
 
1033
          PROMPT_CLEAR, 0 },
 
1034
 
 
1035
        /*
 
1036
         * Inode block conflicts with critical metadata, skipping
 
1037
         * block checks
 
1038
         */
 
1039
        { PR_1_CRITICAL_METADATA_COLLISION,
 
1040
          N_("@i %i block %b conflicts with critical metadata, skipping block checks.\n"),
 
1041
          PROMPT_NONE, 0 },
974
1042
 
975
1043
        /* Directory inode block <block> should be at block <otherblock> */
976
1044
        { PR_1_COLLAPSE_DBLOCK,
987
1055
          N_("@i %i logical @b %b (physical @b %c) violates cluster allocation rules.\nWill fix in pass 1B.\n"),
988
1056
          PROMPT_NONE, 0 },
989
1057
 
 
1058
        /* Inode has INLINE_DATA_FL flag but extended attribute not found */
 
1059
        { PR_1_INLINE_DATA_NO_ATTR,
 
1060
          N_("@i %i has INLINE_DATA_FL flag but @a not found.  "),
 
1061
          PROMPT_TRUNCATE, 0 },
 
1062
 
 
1063
        /* Extents/inlinedata flag set on a device or socket inode */
 
1064
        { PR_1_SPECIAL_EXTENTS_IDATA,
 
1065
          N_("Special (@v/socket/fifo) file (@i %i) has extents\n"
 
1066
             "or inline-data flag set.  "),
 
1067
          PROMPT_CLEAR, PR_PREEN_OK | PR_PREEN_NO | PR_NO_OK },
 
1068
 
 
1069
        /* Inode has extent header but inline data flag is set */
 
1070
        { PR_1_CLEAR_INLINE_DATA_FOR_EXTENT,
 
1071
          N_("@i %i has @x header but inline data flag is set.\n"),
 
1072
          PROMPT_FIX, 0 },
 
1073
 
 
1074
        /* Inode seems to have inline data but extent flag is set */
 
1075
        { PR_1_CLEAR_EXTENT_FOR_INLINE_DATA,
 
1076
          N_("@i %i seems to have inline data but @x flag is set.\n"),
 
1077
          PROMPT_FIX, 0 },
 
1078
 
 
1079
        /* Inode seems to have block map but inline data and extent flags set */
 
1080
        { PR_1_CLEAR_EXTENT_INLINE_DATA_FLAGS,
 
1081
          N_("@i %i seems to have @b map but inline data and @x flags set.\n"),
 
1082
          PROMPT_FIX, 0 },
 
1083
 
 
1084
        /* Inode has inline data and extent flags but i_block contains junk */
 
1085
        { PR_1_CLEAR_EXTENT_INLINE_DATA_INODE,
 
1086
          N_("@i %i has inline data and @x flags set but i_block contains junk.\n"),
 
1087
          PROMPT_CLEAR_INODE, 0 },
 
1088
 
 
1089
        /* Bad block list says the bad block list inode is bad */
 
1090
        { PR_1_BADBLOCKS_IN_BADBLOCKS,
 
1091
          N_("Bad block list says the bad block list @i is bad.  "),
 
1092
          PROMPT_CLEAR_INODE, 0 },
 
1093
 
 
1094
        /* Error allocating extent region allocation structure */
 
1095
        { PR_1_EXTENT_ALLOC_REGION_ABORT,
 
1096
          N_("@A @x region allocation structure.  "),
 
1097
          PROMPT_NONE, PR_FATAL},
 
1098
 
 
1099
        /* Inode has a duplicate extent mapping */
 
1100
        { PR_1_EXTENT_COLLISION,
 
1101
          N_("@i %i has a duplicate @x mapping\n\t(logical @b %c, @n physical @b %b, len %N)\n"),
 
1102
          PROMPT_CLEAR, 0 },
 
1103
 
990
1104
        /* Pass 1b errors */
991
1105
 
992
1106
        /* Pass 1B: Rescan for duplicate/bad blocks */
1030
1144
          N_("Error adjusting refcount for @a @b %b (@i %i): %m\n"),
1031
1145
          PROMPT_NONE, 0 },
1032
1146
 
 
1147
        /* Duplicate/bad block range in inode */
 
1148
        { PR_1B_DUP_RANGE,
 
1149
          " %b--%c",
 
1150
          PROMPT_NONE, PR_LATCH_DBLOCK | PR_PREEN_NOHDR },
 
1151
 
1033
1152
        /* Pass 1C: Scan directories for inodes with multiply-claimed blocks. */
1034
1153
        { PR_1C_PASS_HEADER,
1035
1154
          N_("Pass 1C: Scanning directories for @is with @m @bs\n"),
1409
1528
          N_("i_file_acl_hi @F %N, @s zero.\n"),
1410
1529
          PROMPT_CLEAR, PR_PREEN_OK },
1411
1530
 
 
1531
        /* htree root node fails checksum */
 
1532
        { PR_2_HTREE_ROOT_CSUM_INVALID,
 
1533
          N_("@p @h %d: root node fails checksum.\n"),
 
1534
          PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
1535
 
 
1536
        /* htree internal node fails checksum */
 
1537
        { PR_2_HTREE_NODE_CSUM_INVALID,
 
1538
          N_("@p @h %d: internal node fails checksum.\n"),
 
1539
          PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
1540
 
 
1541
        /* leaf node has no checksum */
 
1542
        { PR_2_LEAF_NODE_MISSING_CSUM,
 
1543
          N_("@d @i %i, %B, offset %N: @d has no checksum.\n"),
 
1544
          PROMPT_FIX, PR_PREEN_OK },
 
1545
 
 
1546
        /* leaf node passes checks but fails checksum */
 
1547
        { PR_2_LEAF_NODE_ONLY_CSUM_INVALID,
 
1548
          N_("@d @i %i, %B, offset %N: @d passes checks but fails checksum.\n"),
 
1549
          PROMPT_FIX, PR_PREEN_OK },
 
1550
 
 
1551
        /* inline directory inode size must be a multiple of 4 */
 
1552
        { PR_2_BAD_INLINE_DIR_SIZE,
 
1553
          N_("Inline @d @i %i size (%N) must be a multiple of 4.\n"),
 
1554
          PROMPT_FIX, 0 },
 
1555
 
 
1556
        /* fixing size of inline directory inode failed */
 
1557
        { PR_2_FIX_INLINE_DIR_FAILED,
 
1558
          N_("Fixing size of inline @d @i %i failed.\n"),
 
1559
          PROMPT_TRUNCATE, 0 },
 
1560
 
1412
1561
        /* Pass 3 errors */
1413
1562
 
1414
1563
        /* Pass 3: Checking directory connectivity */
1531
1680
          N_("/@l is not a @d (ino=%i)\n"),
1532
1681
          PROMPT_UNLINK, 0 },
1533
1682
 
 
1683
        /* Lost+found has inline data */
 
1684
        { PR_3_LPF_INLINE_DATA,
 
1685
          N_("/@l has inline data\n"),
 
1686
          PROMPT_CLEAR, 0 },
 
1687
 
 
1688
        /* Cannot allocate /lost+found. */
 
1689
        { PR_3_LPF_NO_SPACE,
 
1690
          N_("Cannot allocate space for /@l.\nPlace lost files in root directory instead"),
 
1691
          PROMPT_NULL, 0 },
 
1692
 
 
1693
        /* Delete some files and re-run e2fsck. */
 
1694
        { PR_3_NO_SPACE_TO_RECOVER,
 
1695
          N_("Insufficient space to recover lost files!\nMove data off the @f and re-run e2fsck.\n\n"),
 
1696
          PROMPT_NONE, 0 },
 
1697
 
1534
1698
        /* Pass 3A Directory Optimization       */
1535
1699
 
1536
1700
        /* Pass 3A: Optimizing directories */
1725
1889
          N_("@g %g @i(s) in use but @g is marked INODE_UNINIT\n"),
1726
1890
          PROMPT_FIX, PR_PREEN_OK },
1727
1891
 
 
1892
        /* Group N inode bitmap does not match checksum */
 
1893
        { PR_5_INODE_BITMAP_CSUM_INVALID,
 
1894
          N_("@g %g @i @B does not match checksum.\n"),
 
1895
          PROMPT_FIX, PR_LATCH_IBITMAP | PR_PREEN_OK },
 
1896
 
 
1897
        /* Group N block bitmap does not match checksum */
 
1898
        { PR_5_BLOCK_BITMAP_CSUM_INVALID,
 
1899
          N_("@g %g @b @B does not match checksum.\n"),
 
1900
          PROMPT_FIX, PR_LATCH_BBITMAP | PR_PREEN_OK },
 
1901
 
1728
1902
        /* Post-Pass 5 errors */
1729
1903
 
1730
1904
        /* Recreate journal if E2F_FLAG_JOURNAL_INODE flag is set */