summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2017-03-12 08:18:46 +0000
committerandroid-build-merger <android-build-merger@google.com>2017-03-12 08:18:46 +0000
commit666ec57cb1f98f1e2e80ea3b32ba9cbc29c0e40b (patch)
tree8fb9465c3e6a7266e174d055db5672a39205158e
parentd3b42f102b3b4f2445eaffde6f5d8c315f8de838 (diff)
parent6ad4196f1952ffb8e5cac931b5825997c8a39e75 (diff)
ext4: return EROFS if device is r/o and journal replay is needed
am: 6ad4196f19 Change-Id: Id2fea1964520c451afc4bfd2d903526bff0ff090
-rw-r--r--fs/ext4/super.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 2f7b74e07fb0..6fe8e30eeb99 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3748,7 +3748,8 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
* 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)) {