ext4: Do not override ext2 or ext3 if built they are built as modules
authorTheodore Ts'o <tytso@mit.edu>
Thu, 10 Dec 2009 02:09:58 +0000 (21:09 -0500)
committerTheodore Ts'o <tytso@mit.edu>
Thu, 10 Dec 2009 02:09:58 +0000 (21:09 -0500)
The CONFIG_EXT4_USE_FOR_EXT23 option must not try to take over the
ext2 or ext3 file systems if the those file system drivers are
configured to be built as mdoules.

Signed-off-by: "Theodore Ts'o" <tytso@mit.edu>
fs/ext4/Kconfig
fs/ext4/super.c

index a6b4e93..9acf7e8 100644 (file)
@@ -28,7 +28,7 @@ config EXT4_FS
 
 config EXT4_USE_FOR_EXT23
        bool "Use ext4 for ext2/ext3 file systems"
-       depends on !EXT3_FS || !EXT2_FS
+       depends on EXT3_FS=n || EXT2_FS=n
        default y
        help
          Allow the ext4 file system driver code to be used for ext2 or
index 2b13dcf..8b58a14 100644 (file)
@@ -3964,7 +3964,7 @@ static int ext4_get_sb(struct file_system_type *fs_type, int flags,
        return get_sb_bdev(fs_type, flags, dev_name, data, ext4_fill_super,mnt);
 }
 
-#if !defined(CONTIG_EXT2_FS) && defined(CONFIG_EXT4_USE_FOR_EXT23)
+#if !defined(CONTIG_EXT2_FS) && !defined(CONFIG_EXT2_FS_MODULE) && defined(CONFIG_EXT4_USE_FOR_EXT23)
 static struct file_system_type ext2_fs_type = {
        .owner          = THIS_MODULE,
        .name           = "ext2",
@@ -3990,7 +3990,7 @@ static inline void register_as_ext2(void) { }
 static inline void unregister_as_ext2(void) { }
 #endif
 
-#if !defined(CONTIG_EXT3_FS) && defined(CONFIG_EXT4_USE_FOR_EXT23)
+#if !defined(CONTIG_EXT3_FS) && !defined(CONFIG_EXT3_FS_MODULE) && defined(CONFIG_EXT4_USE_FOR_EXT23)
 static struct file_system_type ext3_fs_type = {
        .owner          = THIS_MODULE,
        .name           = "ext3",