2022-05-10 19:54:05

by Eric Biggers

[permalink] [raw]
Subject: [PATCH] ext4: reject the 'commit' option on ext2 filesystems

From: Eric Biggers <[email protected]>

The 'commit' option is only applicable for ext3 and ext4 filesystems,
and has never been accepted by the ext2 filesystem driver, so the ext4
driver shouldn't allow it on ext2 filesystems.

This fixes a failure in xfstest ext4/053.

Fixes: 8dc0aa8cf0f7 ("ext4: check incompatible mount options while mounting ext2/3")
Signed-off-by: Eric Biggers <[email protected]>
---
fs/ext4/super.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 1847b46af8083..69d67724df24f 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -1913,6 +1913,7 @@ static const struct mount_opts {
MOPT_EXT4_ONLY | MOPT_CLEAR},
{Opt_warn_on_error, EXT4_MOUNT_WARN_ON_ERROR, MOPT_SET},
{Opt_nowarn_on_error, EXT4_MOUNT_WARN_ON_ERROR, MOPT_CLEAR},
+ {Opt_commit, 0, MOPT_NO_EXT2},
{Opt_nojournal_checksum, EXT4_MOUNT_JOURNAL_CHECKSUM,
MOPT_EXT4_ONLY | MOPT_CLEAR},
{Opt_journal_checksum, EXT4_MOUNT_JOURNAL_CHECKSUM,

base-commit: 23e3d7f7061f8682c751c46512718f47580ad8f0
--
2.36.1



2022-05-11 08:53:17

by Lukas Czerner

[permalink] [raw]
Subject: Re: [PATCH] ext4: reject the 'commit' option on ext2 filesystems

On Tue, May 10, 2022 at 11:32:32AM -0700, Eric Biggers wrote:
> From: Eric Biggers <[email protected]>
>
> The 'commit' option is only applicable for ext3 and ext4 filesystems,
> and has never been accepted by the ext2 filesystem driver, so the ext4
> driver shouldn't allow it on ext2 filesystems.
>
> This fixes a failure in xfstest ext4/053.
>
> Fixes: 8dc0aa8cf0f7 ("ext4: check incompatible mount options while mounting ext2/3")
> Signed-off-by: Eric Biggers <[email protected]>

Good catch, thanks.

Reviewed-by: Lukas Czerner <[email protected]>

> ---
> fs/ext4/super.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 1847b46af8083..69d67724df24f 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -1913,6 +1913,7 @@ static const struct mount_opts {
> MOPT_EXT4_ONLY | MOPT_CLEAR},
> {Opt_warn_on_error, EXT4_MOUNT_WARN_ON_ERROR, MOPT_SET},
> {Opt_nowarn_on_error, EXT4_MOUNT_WARN_ON_ERROR, MOPT_CLEAR},
> + {Opt_commit, 0, MOPT_NO_EXT2},
> {Opt_nojournal_checksum, EXT4_MOUNT_JOURNAL_CHECKSUM,
> MOPT_EXT4_ONLY | MOPT_CLEAR},
> {Opt_journal_checksum, EXT4_MOUNT_JOURNAL_CHECKSUM,
>
> base-commit: 23e3d7f7061f8682c751c46512718f47580ad8f0
> --
> 2.36.1
>


2022-05-11 16:18:09

by Ritesh Harjani

[permalink] [raw]
Subject: Re: [PATCH] ext4: reject the 'commit' option on ext2 filesystems

On 22/05/10 11:32AM, Eric Biggers wrote:
> From: Eric Biggers <[email protected]>
>
> The 'commit' option is only applicable for ext3 and ext4 filesystems,
> and has never been accepted by the ext2 filesystem driver, so the ext4
> driver shouldn't allow it on ext2 filesystems.

Yes indeed.

Although with -o commit=1 it doesn't mount due to extra checks when commit is not
equal to it's default value where it also checks if the fs has journal or not.

[19084.421413] EXT4-fs (loop2): mounting ext2 file system using the ext4 subsystem
[19084.422679] EXT4-fs (loop2): can't mount with commit=1, fs mounted w/o journal


But when mounted with -o commit=5, ext2 gets mounted w/o this patch ;)

[19146.337981] EXT4-fs (loop2): mounting ext2 file system using the ext4 subsystem
[19146.345082] EXT4-fs (loop2): mounted filesystem without journal. Quota mode: none.

Feel free to add -

Reviewed-by: Ritesh Harjani <[email protected]>

-ritesh

>
> This fixes a failure in xfstest ext4/053.
>
> Fixes: 8dc0aa8cf0f7 ("ext4: check incompatible mount options while mounting ext2/3")
> Signed-off-by: Eric Biggers <[email protected]>
> ---
> fs/ext4/super.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/fs/ext4/super.c b/fs/ext4/super.c
> index 1847b46af8083..69d67724df24f 100644
> --- a/fs/ext4/super.c
> +++ b/fs/ext4/super.c
> @@ -1913,6 +1913,7 @@ static const struct mount_opts {
> MOPT_EXT4_ONLY | MOPT_CLEAR},
> {Opt_warn_on_error, EXT4_MOUNT_WARN_ON_ERROR, MOPT_SET},
> {Opt_nowarn_on_error, EXT4_MOUNT_WARN_ON_ERROR, MOPT_CLEAR},
> + {Opt_commit, 0, MOPT_NO_EXT2},
> {Opt_nojournal_checksum, EXT4_MOUNT_JOURNAL_CHECKSUM,
> MOPT_EXT4_ONLY | MOPT_CLEAR},
> {Opt_journal_checksum, EXT4_MOUNT_JOURNAL_CHECKSUM,
>
> base-commit: 23e3d7f7061f8682c751c46512718f47580ad8f0
> --
> 2.36.1
>

2022-05-19 02:17:42

by Theodore Ts'o

[permalink] [raw]
Subject: Re: [PATCH] ext4: reject the 'commit' option on ext2 filesystems

On Tue, 10 May 2022 11:32:32 -0700, Eric Biggers wrote:
> From: Eric Biggers <[email protected]>
>
> The 'commit' option is only applicable for ext3 and ext4 filesystems,
> and has never been accepted by the ext2 filesystem driver, so the ext4
> driver shouldn't allow it on ext2 filesystems.
>
> This fixes a failure in xfstest ext4/053.
>
> [...]

Applied, thanks!

[1/1] ext4: reject the 'commit' option on ext2 filesystems
commit: cb8435dc8ba33bcafa41cf2aa253794320a3b8df

Best regards,
--
Theodore Ts'o <[email protected]>