diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 15f8aeda9ee7f9aac5c3027dc19d5dc9c701a268..18870ae874ab6193acc408bb05b2bab483e2ad88 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -509,9 +509,12 @@ static void ext4_handle_error(struct super_block *sb) if (test_opt(sb, WARN_ON_ERROR)) WARN_ON_ONCE(1); - if (sb_rdonly(sb) || test_opt(sb, ERRORS_CONT)) + if (sb_rdonly(sb)) return; + if (test_opt(sb, ERRORS_CONT)) + goto out; + EXT4_SB(sb)->s_mount_flags |= EXT4_MF_FS_ABORTED; if (journal) jbd2_journal_abort(journal, -EIO); @@ -533,6 +536,7 @@ static void ext4_handle_error(struct super_block *sb) sb->s_id); } +out: ext4_netlink_send_info(sb, 1); }