Re: [PATCH] Reorder ext4 and ext2 so that ext2 root filesystems aremounted using ext2

From: Eric Sandeen
Date: Sat Feb 28 2009 - 10:40:58 EST


Theodore Ts'o wrote:
> In fs/Makefile, ext3 was placed before ext2 so that a root filesystem
> that possessed a journal, it would be mounted as ext3 instead of ext2.
> This was necessary because a cleanly unmounted ext3 filesystem was
> fully backwards compatible with ext2, and could be mounted by ext2 ---
> but it was desirable that it be mounted with ext3 so that the
> journaling would be enabled.
>
> The ext4 filesystem supports new incompatible features, so there is no
> danger of an ext4 filesystem being mistaken for an ext2 filesystem.
> However, ordering didn't matter until ext4 gained the ability to mount
> filesystems without a journal. Now that this is the case, given that
> ext4 is before ext2, it means that root filesystems that were only
> using the plain-jane ext2 format are getting mounted using the ext4
> filesystem driver, which is a change in behavior which could be
> surprising to users
>
> It's doubtful that there are that many ext2-only root filesystem users
> that would also have ext4 compiled into the kernel, but to adhere to
> the principle of least surprise, the correct ordering in fs/Makefile
> is ext3, followed by ext2, and finally ext4.
>
> Signed-off-by: "Theodore Ts'o" <tytso@xxxxxxx>
> ---
> fs/Makefile | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/fs/Makefile b/fs/Makefile
> index 38bc735..21c2f50 100644
> --- a/fs/Makefile
> +++ b/fs/Makefile
> @@ -69,10 +69,12 @@ obj-$(CONFIG_DLM) += dlm/
> # Do not add any filesystems before this line
> obj-$(CONFIG_REISERFS_FS) += reiserfs/
> obj-$(CONFIG_EXT3_FS) += ext3/ # Before ext2 so root fs can be ext3
> -obj-$(CONFIG_EXT4_FS) += ext4/ # Before ext2 so root fs can be ext4
> +obj-$(CONFIG_EXT2_FS) += ext2/
> +# We place ext4 after ext2 so plain ext2 root fs's are mounted using ext4
> +# unless explicitly requested by rootfstype

Shouldn't that be "aren't mounted using ext4..." ?

-Eric

> +obj-$(CONFIG_EXT4_FS) += ext4/
> obj-$(CONFIG_JBD) += jbd/
> obj-$(CONFIG_JBD2) += jbd2/
> -obj-$(CONFIG_EXT2_FS) += ext2/
> obj-$(CONFIG_CRAMFS) += cramfs/
> obj-$(CONFIG_SQUASHFS) += squashfs/
> obj-y += ramfs/

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/