Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] ext4: clarify error messages for mounting fs w/o journal /w journal options

82 views
Skip to first unread message

Georg Altmann

unread,
Feb 12, 2016, 8:53:06 AM2/12/16
to ty...@mit.edu, adilger...@dilger.ca, linux...@vger.kernel.org, linux-...@vger.kernel.org, Georg Altmann
Previous message was hard to understand: When mounting a ext4 fs without a
journal, but a mount option that controls journaling is used, clearly state
that the fs cannot be mounted with this option because it has no journal.

See also comments at
https://bugs.archlinux.org/task/48135

Signed-off-by: Georg Altmann <geo...@george-net.de>
---
fs/ext4/super.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 486e869..4c50f0d 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3716,25 +3716,25 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
} else {
/* Nojournal mode, all journal mount options are illegal */
if (test_opt2(sb, EXPLICIT_JOURNAL_CHECKSUM)) {
- ext4_msg(sb, KERN_ERR, "can't mount with "
- "journal_checksum, fs mounted w/o journal");
+ ext4_msg(sb, KERN_ERR, "can't mount with option "
+ "journal_checksum, fs has no journal");
goto failed_mount_wq;
}
if (test_opt(sb, JOURNAL_ASYNC_COMMIT)) {
- ext4_msg(sb, KERN_ERR, "can't mount with "
- "journal_async_commit, fs mounted w/o journal");
+ ext4_msg(sb, KERN_ERR, "can't mount with option "
+ "journal_async_commit, fs has no journal");
goto failed_mount_wq;
}
if (sbi->s_commit_interval != JBD2_DEFAULT_MAX_COMMIT_AGE*HZ) {
- ext4_msg(sb, KERN_ERR, "can't mount with "
- "commit=%lu, fs mounted w/o journal",
+ ext4_msg(sb, KERN_ERR, "can't mount with option "
+ "commit=%lu, fs has no journal",
sbi->s_commit_interval / HZ);
goto failed_mount_wq;
}
if (EXT4_MOUNT_DATA_FLAGS &
(sbi->s_mount_opt ^ sbi->s_def_mount_opt)) {
- ext4_msg(sb, KERN_ERR, "can't mount with "
- "data=, fs mounted w/o journal");
+ ext4_msg(sb, KERN_ERR, "can't mount with option "
+ "data=, fs has no journal");
goto failed_mount_wq;
}
sbi->s_def_mount_opt &= EXT4_MOUNT_JOURNAL_CHECKSUM;
--
2.7.1

Theodore Ts'o

unread,
Feb 12, 2016, 12:03:22 PM2/12/16
to Georg Altmann, adilger...@dilger.ca, linux...@vger.kernel.org, linux-...@vger.kernel.org
On Fri, Feb 12, 2016 at 02:31:49PM +0100, Georg Altmann wrote:
> Previous message was hard to understand: When mounting a ext4 fs without a
> journal, but a mount option that controls journaling is used, clearly state
> that the fs cannot be mounted with this option because it has no journal.

Well, technically it's possible for the file system to have a journal,
but for journalling not to be enabled. For example:

root@kvm-xfstests:~# dmesg -n 7
root@kvm-xfstests:~# mke2fs -t ext4 -Fq /dev/vdc
/dev/vdc contains a ext4 file system
created on Fri Feb 12 11:59:10 2016
root@kvm-xfstests:~# dumpe2fs /dev/vdc | grep features
dumpe2fs 1.43-WIP (18-May-2015)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent 64bit flex_bg sparse_super large_file huge_file dir_nlink extra_isize metadata_csum
Journal features: (none)
root@kvm-xfstests:~# mount -o noload,commit=1 /dev/vdc /vdc 2> /dev/null
[ 313.867505] EXT4-fs (vdc): can't mount with commit=1, fs mounted w/o journal

So saying "fs has no journal" isn't necessarily going to be correct.
Maybe "Can't mount with data=xxx, journalling not enabled" would be
less confusing to users?

Cheers,

- Ted

Georg Altmann

unread,
Feb 12, 2016, 12:32:59 PM2/12/16
to adilger...@dilger.ca, linux...@vger.kernel.org, linux-...@vger.kernel.org
Yes.

I do not understand the error checking logic here enough:
it could be either fs without journal or journal not enabled, right?
So how about
"can't mount with data=xxx, journalling not enabled or no journal"
?

Or, if this can be justified in regard of code complexity, handle both
cases separately. Even nicer diagnostics for the user...

Should I send a new patch?

Regards,
Georg


--
PGP-Key: 0x1E320E65
D150 7783 A0D1 7507 1266 C5B3 BBF1 9C42 1E32 0E65

I don't like the idea of secret agencies to analyse and archive
personal communication. GnuPG is available as open source, free as as in
freedom, as a countermeasure. I use http://www.enigmail.net/ for Mozilla
Thunderbird. If you can, please use a frontend of your choice to send me
encrypted e-mail. See http://www.gnupg.org/ for an overview.

signature.asc
0 new messages