Skip to contentSkip to conversation

ext4: reject the 'commit' option on ext2 filesystems

PATCH Applied Eric Biggers 4 participants 4 messages May 10, 2022 – May 19, 2022 ext4 file system

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 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")
---
 fs/ext4/super.c | 1 +
 1 file changed, 1 insertion(+)
fs/ext4/super.c +1 -0
index 1847b46af8083..69d67724df24f 100644
@@ -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

Signature · 1 line
2.36.1
Reviewed-by on v1 1/1
#1 lore raw
Quoted 10 lines · Eric Biggers

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")

Good catch, thanks.

Quoted 21 lines
---
 fs/ext4/super.c | 1 +
 1 file changed, 1 insertion(+)
fs/ext4/super.c +1 -0
index 1847b46af8083..69d67724df24f 100644
@@ -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

Signature · 1 line
2.36.1
reviewer Reviewed-by on v1 1/1
#2 lore raw
In reply to Eric Biggers
Quoted 5 lines · Eric Biggers

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 -

-ritesh

Quoted 26 lines

This fixes a failure in xfstest ext4/053.

Fixes 8dc0aa8cf0f7 ("ext4: check incompatible mount options while mounting ext2/3")
---
 fs/ext4/super.c | 1 +
 1 file changed, 1 insertion(+)
fs/ext4/super.c +1 -0
index 1847b46af8083..69d67724df24f 100644
@@ -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

maintainer Applied
#3 lore raw
In reply to Eric Biggers
Quoted 9 lines · Eric Biggers

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,

Signature · 1 line
Theodore Ts'o <[email protected]>