|
@@ -294,6 +294,8 @@ static void __save_error_info(struct super_block *sb, const char *func,
|
|
struct ext4_super_block *es = EXT4_SB(sb)->s_es;
|
|
struct ext4_super_block *es = EXT4_SB(sb)->s_es;
|
|
|
|
|
|
EXT4_SB(sb)->s_mount_state |= EXT4_ERROR_FS;
|
|
EXT4_SB(sb)->s_mount_state |= EXT4_ERROR_FS;
|
|
|
|
+ if (bdev_read_only(sb->s_bdev))
|
|
|
|
+ return;
|
|
es->s_state |= cpu_to_le16(EXT4_ERROR_FS);
|
|
es->s_state |= cpu_to_le16(EXT4_ERROR_FS);
|
|
es->s_last_error_time = cpu_to_le32(get_seconds());
|
|
es->s_last_error_time = cpu_to_le32(get_seconds());
|
|
strncpy(es->s_last_error_func, func, sizeof(es->s_last_error_func));
|
|
strncpy(es->s_last_error_func, func, sizeof(es->s_last_error_func));
|