OSDN Git Service

Update to deal with the fact that the INDEX_FL code in the ext2 2.4
authorTheodore Ts'o <tytso@mit.edu>
Wed, 13 Nov 2002 12:00:16 +0000 (07:00 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Wed, 13 Nov 2002 12:00:16 +0000 (07:00 -0500)
code accidentally had the INDEX_FL backwards compatibility code
removed.   E2fsck will now fix HTREE corruptions in preen mode, and
mke2fs will not create filesystems with the dir_index flag set
by default.  (The user has to specifically request it.)

e2fsck/ChangeLog
e2fsck/problem.c
misc/ChangeLog
misc/mke2fs.c

index 954552f..83a7b49 100644 (file)
@@ -1,3 +1,9 @@
+2002-11-12  Theodore Ts'o  <tytso@mit.edu>
+
+       * problem.c: Make HTREE problems PR_PREEN_OK, so that we don't
+               abort an e2fsck after the filesystem has been mounted
+               using the 2.4 ext2 codebase.
+
 2002-11-09  Theodore Ts'o  <tytso@mit.edu>
 
        * Release of E2fsprogs 1.32
index 51879e6..dfd12e8 100644 (file)
@@ -671,32 +671,32 @@ static const struct e2fsck_problem problem_table[] = {
        /* INDEX_FL flag set on a non-HTREE filesystem */
        { PR_1_HTREE_SET,
          N_("@i %i has INDEX_FL flag set on @f without htree support.\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* INDEX_FL flag set on a non-directory */      
        { PR_1_HTREE_NODIR,
          N_("@i %i has INDEX_FL flag set but is not a @d.\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* Invalid root node in HTREE directory */      
        { PR_1_HTREE_BADROOT,
          N_("@h %i has an invalid root node.\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* Unsupported hash version in HTREE directory */       
        { PR_1_HTREE_HASHV,
          N_("@h %i has an unsupported hash version (%N)\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* Incompatible flag in HTREE root node */      
        { PR_1_HTREE_INCOMPAT,
          N_("@h %i uses an incompatible htree root node flag.\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* HTREE too deep */    
        { PR_1_HTREE_DEPTH,
          N_("@h %i has a tree depth (%N) which is too big\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK0 },
                  
        /* Pass 1b errors */
 
@@ -1065,22 +1065,22 @@ static const struct e2fsck_problem problem_table[] = {
        /* Invalid HTREE root node */
        { PR_2_HTREE_BAD_ROOT,
          N_("@p @h %d: root node is invalid\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* Invalid HTREE limit */
        { PR_2_HTREE_BAD_LIMIT,
          N_("@p @h %d: node (%B) has bad limit (%N)\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* Invalid HTREE count */
        { PR_2_HTREE_BAD_COUNT,
          N_("@p @h %d: node (%B) has bad count (%N)\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* HTREE interior node has out-of-order hashes in table */
        { PR_2_HTREE_HASH_ORDER,
          N_("@p @h %d: node (%B) has an unordered hash table\n"),
-         PROMPT_CLEAR_HTREE, 0 },
+         PROMPT_CLEAR_HTREE, PR_PREEN_OK },
 
        /* Node in HTREE directory has bad depth */
        { PR_2_HTREE_BAD_DEPTH,
index 635a8c4..e5e4fc1 100644 (file)
@@ -1,3 +1,10 @@
+2002-11-12  Theodore Ts'o  <tytso@mit.edu>
+
+       * mke2fs.c (PRS): Don't enable the dir_index feature by default;
+               the ext2 code on 2.4 kernels (but not 2.2 kernels, and not
+               the 2.4 ext3 code) accidentally had the backwards
+               compatibility support for dir_indexing removed.
+
 2002-11-09  Theodore Ts'o  <tytso@mit.edu>
 
        * Release of E2fsprogs 1.32
index 0371c37..d03d80a 100644 (file)
@@ -843,7 +843,9 @@ static void PRS(int argc, char *argv[])
        param.s_rev_level = 1;  /* Create revision 1 filesystems now */
        param.s_feature_incompat |= EXT2_FEATURE_INCOMPAT_FILETYPE;
        param.s_feature_ro_compat |= EXT2_FEATURE_RO_COMPAT_SPARSE_SUPER;
+#if 0
        param.s_feature_compat |= EXT2_FEATURE_COMPAT_DIR_INDEX;
+#endif
 
 #ifdef __linux__
        if (uname(&ut)) {