Whamcloud - gitweb
e2fsck: allow deleting or zeroing shared blocks
[tools/e2fsprogs.git] / e2fsck / problem.c
index dcdf9ab..b56b4d9 100644 (file)
@@ -174,7 +174,7 @@ static struct e2fsck_problem problem_table[] = {
          N_("Corruption found in @S.  (%s = %N).\n"),
          PROMPT_NONE, PR_AFTER_CODE, PR_0_SB_CORRUPT },
 
-       /* Error determing physical device size of filesystem */
+       /* Error determining physical device size of filesystem */
        { PR_0_GETSIZE_ERROR,
          N_("Error determining size of the physical @v: %m\n"),
          PROMPT_NONE, PR_FATAL },
@@ -418,7 +418,7 @@ static struct e2fsck_problem problem_table[] = {
 
        /* Making quota inode hidden */
        { PR_0_HIDE_QUOTA,
-         N_("Making @q @i %i (%Q) hidden.\n"),
+         N_("Hiding %U @q @i %i (%Q).\n"),
          PROMPT_NONE, PR_PREEN_OK },
 
        /* Superblock has invalid MMP block. */
@@ -450,7 +450,7 @@ static struct e2fsck_problem problem_table[] = {
 
        /* Superblock MMP block checksum does not match MMP block. */
        { PR_0_MMP_CSUM_INVALID,
-         N_("@S MMP @b checksum does not match MMP @b.  "),
+         N_("@S MMP @b checksum does not match.  "),
          PROMPT_FIX, PR_PREEN_OK | PR_NO_OK},
 
        /* Superblock 64bit filesystem needs extents to access the whole disk */
@@ -488,6 +488,16 @@ static struct e2fsck_problem problem_table[] = {
          N_("Bad desired extra isize in @S (%N).  "),
          PROMPT_FIX, 0 },
 
+       /* Invalid quota inode number */
+       { PR_0_INVALID_QUOTA_INO,
+         N_("Invalid %U @q @i %i.  "),
+         PROMPT_FIX, 0 },
+
+       /* Too many inodes in the filesystem */
+       { PR_0_INODE_COUNT_BIG,
+         N_("@S would have too many inodes (%N).\n"),
+         PROMPT_NONE, PR_AFTER_CODE, PR_0_SB_CORRUPT },
+
        /* Pass 1 errors */
 
        /* Pass 1: Checking inodes, blocks, and sizes */
@@ -1150,11 +1160,6 @@ static struct e2fsck_problem problem_table[] = {
          N_("@i %i has @I @a value @i %N.\n"),
          PROMPT_CLEAR, PR_PREEN_OK },
 
-       /* Invalid backpointer from extended attribute inode to parent inode */
-       { PR_1_ATTR_INVAL_EA_INODE,
-         N_("@n backpointer from @a @i %N to parent @i %i.\n"),
-         PROMPT_CLEAR, PR_PREEN_OK },
-
        /* Inode has invalid extended attribute. EA inode missing
         * EA_INODE flag. */
        { PR_1_ATTR_NO_EA_INODE_FL,
@@ -1264,6 +1269,14 @@ static struct e2fsck_problem problem_table[] = {
        { PR_1D_CLONE_ERROR,
          N_("Couldn't clone file: %m\n"), PROMPT_NONE, 0 },
 
+       /* File with shared blocks found */
+       { PR_1D_DISCONNECT_QUESTION,
+         N_("File with shared blocks found\n"), PROMPT_CONNECT, 0 },
+
+       /* Couldn't unlink file (error) */
+       { PR_1D_DISCONNECT_ERROR,
+         N_("Couldn't unlink file: %m\n"), PROMPT_NONE, 0 },
+
        /* Pass 1E Extent tree optimization     */
 
        /* Pass 1E: Optimizing extent trees */
@@ -1328,7 +1341,7 @@ static struct e2fsck_problem problem_table[] = {
          N_("@E has @D/unused @i %Di.  "),
          PROMPT_CLEAR, PR_PREEN_OK },
 
-       /* Directry entry is link to '.' */
+       /* Directory entry is link to '.' */
        { PR_2_LINK_DOT,
          N_("@E @L to '.'  "),
          PROMPT_CLEAR, 0 },
@@ -1343,7 +1356,7 @@ static struct e2fsck_problem problem_table[] = {
          N_("@E @L to @d %P (%Di).\n"),
          PROMPT_CLEAR, 0 },
 
-       /* Directory entry contains a link to the root directry */
+       /* Directory entry contains a link to the root directory */
        { PR_2_LINK_ROOT,
          N_("@E @L to the @r.\n"),
          PROMPT_CLEAR, 0 },
@@ -1874,6 +1887,15 @@ static struct e2fsck_problem problem_table[] = {
          "They @s the same!\n"),
          PROMPT_NONE, 0 },
 
+       { PR_4_EA_INODE_REF_COUNT,
+         N_("@a @i %i ref count is %N, @s %n. "),
+         PROMPT_FIX, PR_PREEN_OK },
+
+       /* directory exceeds max links, but no DIR_NLINK feature in superblock*/
+       { PR_4_DIR_NLINK_FEATURE,
+         N_("@d exceeds max links, but no DIR_NLINK feature in @S.\n"),
+         PROMPT_FIX, 0 },
+
        /* Pass 5 errors */
 
        /* Pass 5: Checking group summary information */