Whamcloud - gitweb
mke2fs: Use a fs_type of 'journal' when creating an external journal
authorTheodore Ts'o <tytso@mit.edu>
Mon, 7 Jul 2008 00:24:29 +0000 (20:24 -0400)
committerTheodore Ts'o <tytso@mit.edu>
Mon, 7 Jul 2008 00:24:29 +0000 (20:24 -0400)
If creating a an external journal via "mke2fs -O journal_dev",
override the fs_type list (i.e., "ext2", "small"), and replace it with
an fs_type list of "journal".  This will prevent external journals
smaller than 512MB from being created with a block size of 1k, which
is not very useful and leads to much confusion.

Addresses-Debian-Bug: #488663

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
misc/mke2fs.c

index acb3054..c47470b 100644 (file)
@@ -1446,25 +1446,6 @@ static void PRS(int argc, char *argv[])
                fprintf(stderr, _("Failed to parse fs types list\n"));
                exit(1);
        }
-       if (verbose) {
-               fputs("Fs_types for mke2fs.conf resolution: ", stdout);
-               print_str_list(fs_types);
-       }
-
-       if (!fs_type) {
-               int megs = (__u64)fs_param.s_blocks_count *
-                       (EXT2_BLOCK_SIZE(&fs_param) / 1024) / 1024;
-
-               if (fs_param.s_feature_incompat & 
-                   EXT3_FEATURE_INCOMPAT_JOURNAL_DEV)
-                       fs_type = "journal";
-               else if (megs <= 3)
-                       fs_type = "floppy";
-               else if (megs <= 512)
-                       fs_type = "small";
-               else
-                       fs_type = "default";
-       }
 
        /* Figure out what features should be enabled */
 
@@ -1492,6 +1473,16 @@ static void PRS(int argc, char *argv[])
        if (tmp)
                free(tmp);
 
+       if (fs_param.s_feature_incompat & EXT3_FEATURE_INCOMPAT_JOURNAL_DEV) {
+               fs_types[0] = strdup("journal");
+               fs_types[1] = 0;
+       }
+
+       if (verbose) {
+               fputs(_("fs_types for mke2fs.conf resolution: "), stdout);
+               print_str_list(fs_types);
+       }
+
        if (r_opt == EXT2_GOOD_OLD_REV && 
            (fs_param.s_feature_compat || fs_param.s_feature_incompat ||
             fs_param.s_feature_incompat)) {