]> git.ipfire.org Git - thirdparty/e2fsprogs.git/commitdiff
e2fsck: use "Optimize?" prompt for PR_1E_CAN_{COLLAPSE,NARROW}_EXTENT_TREE
authorTheodore Ts'o <tytso@mit.edu>
Sun, 16 Dec 2018 03:13:41 +0000 (22:13 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Sun, 16 Dec 2018 03:37:53 +0000 (22:37 -0500)
If e2fsck can optimize an inode's extent tree, it should ask for
permission to optimize it, not to "fix" it.  This was causing some
confusion, since some users interpreted this prompt as an indication
that the file system was inconsistent.

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
e2fsck/problem.c
tests/d_punch/expect
tests/d_punch_bigalloc/expect
tests/f_collapse_extent_tree/expect.1
tests/f_compress_extent_tree_level/expect.1
tests/f_extent_bad_node/expect.1
tests/f_extent_int_bad_magic/expect.1
tests/f_extent_leaf_bad_magic/expect.1
tests/f_extent_oobounds/expect.1
tests/f_quota_extent_opt/expect.1

index 4082e373e3700709b8325f5b340adf0a1206c33c..0e6bacec21abe48bf2101ef5fb9542407a002a55 100644 (file)
@@ -41,7 +41,8 @@
 #define PROMPT_UNLINK  17
 #define PROMPT_CLEAR_HTREE 18
 #define PROMPT_RECREATE 19
-#define PROMPT_NULL    20
+#define PROMPT_OPTIMIZE 20
+#define PROMPT_NULL    21
 
 /*
  * These are the prompts which are used to ask the user if they want
@@ -68,7 +69,8 @@ static const char *prompt[] = {
        N_("Unlink"),           /* 17 */
        N_("Clear HTree index"),/* 18 */
        N_("Recreate"),         /* 19 */
-       "",                     /* 20 */
+       N_("Optimize"),         /* 20 */
+       "",                     /* 21 */
 };
 
 /*
@@ -96,7 +98,8 @@ static const char *preen_msg[] = {
        N_("UNLINKED"),         /* 17 */
        N_("HTREE INDEX CLEARED"),/* 18 */
        N_("WILL RECREATE"),    /* 19 */
-       "",                     /* 20 */
+       N_("WILL OPTIMIZE"),    /* 20 */
+       "",                     /* 21 */
 };
 
 #if __GNUC_PREREQ (4, 6)
@@ -1313,12 +1316,12 @@ static struct e2fsck_problem problem_table[] = {
        /* Inode extent tree could be shorter */
        { PR_1E_CAN_COLLAPSE_EXTENT_TREE,
          N_("@i %i @x tree (at level %b) could be shorter.  "),
-         PROMPT_FIX, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK | PR_NOT_A_FIX, 0, 0, 0 },
+         PROMPT_OPTIMIZE, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK | PR_NOT_A_FIX, 0, 0, 0 },
 
        /* Inode extent tree could be narrower */
        { PR_1E_CAN_NARROW_EXTENT_TREE,
          N_("@i %i @x tree (at level %b) could be narrower.  "),
-         PROMPT_FIX, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK | PR_NOT_A_FIX, 0, 0, 0 },
+         PROMPT_OPTIMIZE, PR_NO_OK | PR_PREEN_NO | PR_PREEN_OK | PR_NOT_A_FIX, 0, 0, 0 },
 
        /* Pass 2 errors */
 
index 2b39f8ecd9d79f46e591f38e59ca0028817c6c46..b13462b707331d45ef7c986e9e9ac8566d601f9a 100644 (file)
@@ -127,37 +127,37 @@ Level Entries       Logical      Physical Length Flags
  0/ 0   1/  2     0 -     0  9000 -  9000      1 Uninit
  0/ 0   2/  2  8999 -  8999 17999 - 17999      1 Uninit
 Pass 1: Checking inodes, blocks, and sizes
-Inode 15 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 15 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 16 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 16 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 17 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 17 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 18 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 18 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 19 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 19 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 20 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 20 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 21 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 21 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 22 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 22 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 23 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 23 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 24 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 24 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 25 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 25 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 26 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 26 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 27 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 27 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 28 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 28 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 29 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 29 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 30 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 30 extent tree (at level 1) could be shorter.  Optimize? yes
 
 Pass 1E: Optimizing extent trees
 Pass 2: Checking directory structure
index 0138c3a01524fe1abd42834366c933df8569eabf..caeb3a618d21dff5efd2e433eb828f558891c7a0 100644 (file)
@@ -126,37 +126,37 @@ Level Entries       Logical      Physical Length Flags
  0/ 0   1/  2     0 -     0  9000 -  9000      1 Uninit
  0/ 0   2/  2  8999 -  8999 17999 - 17999      1 Uninit
 Pass 1: Checking inodes, blocks, and sizes
-Inode 14 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 14 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 15 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 15 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 16 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 16 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 17 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 17 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 18 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 18 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 19 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 19 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 20 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 20 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 22 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 22 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 23 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 23 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 24 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 24 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 25 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 25 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 26 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 26 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 27 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 27 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 28 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 28 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 29 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 29 extent tree (at level 1) could be shorter.  Optimize? yes
 
-Inode 30 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 30 extent tree (at level 1) could be shorter.  Optimize? yes
 
 Pass 1E: Optimizing extent trees
 Pass 2: Checking directory structure
index 8165a589abb800ee0495624f44e39e3f13b80ee7..a62e99dc40b8fb9464890d39a295a854a8d15cc7 100644 (file)
@@ -3,7 +3,7 @@ Level Entries       Logical      Physical Length Flags
  0/ 1   1/  1     0 -     0     9              1
  1/ 1   1/  1     0 -     0    10 -    10      1 
 Pass 1: Checking inodes, blocks, and sizes
-Inode 12 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 12 extent tree (at level 1) could be shorter.  Optimize? yes
 
 Pass 1E: Optimizing extent trees
 Pass 2: Checking directory structure
index dd33f63d280ca014212829464dcfbbda1df13b26..241faa362b057c92cd9ba540249129263d849bee 100644 (file)
@@ -10,7 +10,7 @@ Level Entries       Logical      Physical Length Flags
  1/ 1   2/  3    19 -    19   104 -   104      1 
  1/ 1   3/  3    21 -    21   105 -   105      1 
 Pass 1: Checking inodes, blocks, and sizes
-Inode 12 extent tree (at level 1) could be narrower.  Fix? yes
+Inode 12 extent tree (at level 1) could be narrower.  Optimize? yes
 
 Pass 1E: Optimizing extent trees
 Pass 2: Checking directory structure
index 81c25a371de3fe5c4b4757fb605edfab92462db7..e6cdf97e4b64a7343035bb15b1416e59bc343c74 100644 (file)
@@ -2,7 +2,7 @@ Pass 1: Checking inodes, blocks, and sizes
 Inode 12 has an invalid extent node (blk 22, lblk 0)
 Clear? yes
 
-Inode 12 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 12 extent tree (at level 1) could be shorter.  Optimize? yes
 
 Inode 12, i_blocks is 16, should be 8.  Fix? yes
 
index 52091aceba9691f31693fba099c60777d82fbd4a..096be4c0a1e6654ac5181aafbb579eeb41043271 100644 (file)
@@ -2,7 +2,7 @@ Pass 1: Checking inodes, blocks, and sizes
 Inode 12 has an invalid extent node (blk 1295, lblk 0)
 Clear? yes
 
-Inode 12 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 12 extent tree (at level 1) could be shorter.  Optimize? yes
 
 Inode 12, i_blocks is 712, should be 0.  Fix? yes
 
index 4c1777c61272a7dc6452f4b9cde8b3de31052b1a..83b8157372b81ab746e62fa3a67d6ad281c9d303 100644 (file)
@@ -2,7 +2,7 @@ Pass 1: Checking inodes, blocks, and sizes
 Inode 12 has an invalid extent node (blk 1604, lblk 0)
 Clear? yes
 
-Inode 12 extent tree (at level 1) could be shorter.  Fix? yes
+Inode 12 extent tree (at level 1) could be shorter.  Optimize? yes
 
 Inode 12, i_blocks is 18, should be 0.  Fix? yes
 
index 056689fdb9061827156784bcb06c23201c18c61a..9c3277525edd80fc9bc8b244e20876ad50f5feff 100644 (file)
@@ -3,7 +3,7 @@ Inode 12, end of extent exceeds allowed value
        (logical block 15, physical block 200, len 30)
 Clear? yes
 
-Inode 12 extent tree (at level 1) could be narrower.  Fix? yes
+Inode 12 extent tree (at level 1) could be narrower.  Optimize? yes
 
 Inode 12, i_blocks is 154, should be 94.  Fix? yes
 
index 1b966213a11d21fefd42b44120cd3f1ab89e6706..002c9b656f22889f6c971b5a8abbd0caa9765604 100644 (file)
@@ -1,5 +1,5 @@
 Pass 1: Checking inodes, blocks, and sizes
-Inode 12 extent tree (at level 1) could be narrower.  Fix? yes
+Inode 12 extent tree (at level 1) could be narrower.  Optimize? yes
 
 Pass 1E: Optimizing extent trees
 Pass 2: Checking directory structure