]> git.ipfire.org Git - thirdparty/linux.git/commit
ext4: commit super block if fs record error when journal record without error
authorYe Bin <yebin10@huawei.com>
Tue, 7 Mar 2023 06:17:02 +0000 (14:17 +0800)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 11 Mar 2023 05:44:24 +0000 (00:44 -0500)
commiteee00237fa5ec8f704f7323b54e48cc34e2d9168
tree445ade12ba330e6df21f9f05d41ce42c5aeebdf2
parent62913ae96de747091c4dacd06d158e7729c1a76d
ext4: commit super block if fs record error when journal record without error

Now, 'es->s_state' maybe covered by recover journal. And journal errno
maybe not recorded in journal sb as IO error. ext4_update_super() only
update error information when 'sbi->s_add_error_count' large than zero.
Then 'EXT4_ERROR_FS' flag maybe lost.
To solve above issue just recover 'es->s_state' error flag after journal
replay like error info.

Signed-off-by: Ye Bin <yebin10@huawei.com>
Reviewed-by: Baokun Li <libaokun1@huawei.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://lore.kernel.org/r/20230307061703.245965-2-yebin@huaweicloud.com
fs/ext4/super.c