This is a note to let you know that I've just added the patch titled ext4: return EROFS if device is r/o and journal replay is needed to the 4.9-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: ext4-return-erofs-if-device-is-r-o-and-journal-replay-is-needed.patch and it can be found in the queue-4.9 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From 4753d8a24d4588657bc0a4cd66d4e282dff15c8c Mon Sep 17 00:00:00 2001 From: Theodore Ts'o <tytso@xxxxxxx> Date: Sun, 5 Feb 2017 01:26:48 -0500 Subject: ext4: return EROFS if device is r/o and journal replay is needed From: Theodore Ts'o <tytso@xxxxxxx> commit 4753d8a24d4588657bc0a4cd66d4e282dff15c8c upstream. If the file system requires journal recovery, and the device is read-ony, return EROFS to the mount system call. This allows xfstests generic/050 to pass. Signed-off-by: Theodore Ts'o <tytso@xxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- fs/ext4/super.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -3913,7 +3913,8 @@ static int ext4_fill_super(struct super_ * root first: it may be modified in the journal! */ if (!test_opt(sb, NOLOAD) && ext4_has_feature_journal(sb)) { - if (ext4_load_journal(sb, es, journal_devnum)) + err = ext4_load_journal(sb, es, journal_devnum); + if (err) goto failed_mount3a; } else if (test_opt(sb, NOLOAD) && !(sb->s_flags & MS_RDONLY) && ext4_has_feature_journal_needs_recovery(sb)) { Patches currently in stable-queue which might be from tytso@xxxxxxx are queue-4.9/ext4-fix-data-corruption-in-data-journal-mode.patch queue-4.9/ext4-fix-use-after-iput-when-fscrypt-contexts-are-inconsistent.patch queue-4.9/ext4-return-erofs-if-device-is-r-o-and-journal-replay-is-needed.patch queue-4.9/ext4-include-forgotten-start-block-on-fallocate-insert-range.patch queue-4.9/ext4-preserve-the-needs_recovery-flag-when-the-journal-is-aborted.patch queue-4.9/ext4-fix-deadlock-between-inline_data-and-ext4_expand_extra_isize_ea.patch queue-4.9/ext4-trim-allocation-requests-to-group-size.patch queue-4.9/ext4-do-not-polute-the-extents-cache-while-shifting-extents.patch queue-4.9/ext4-fix-inline-data-error-paths.patch queue-4.9/jbd2-don-t-leak-modified-metadata-buffers-on-an-aborted-journal.patch