1 When ldiskfs run in failover mode whith read-only disk.
2 Part of allocation updates are lost and ldiskfs may fail
3 while mounting this is due to inconsistent state of
4 group-descriptor. Group-descriptor check is added after
7 Index: linux-4.15.0/fs/ext4/super.c
8 ===================================================================
9 --- linux-4.15.0.orig/fs/ext4/super.c
10 +++ linux-4.15.0/fs/ext4/super.c
11 @@ -4051,11 +4051,6 @@ static int ext4_fill_super(struct super_
15 - if (!ext4_check_descriptors(sb, logical_sb_block, &first_not_zeroed)) {
16 - ext4_msg(sb, KERN_ERR, "group descriptors corrupted!");
17 - ret = -EFSCORRUPTED;
21 sbi->s_gdb_count = db_count;
23 @@ -4196,6 +4191,13 @@ static int ext4_fill_super(struct super_
24 sbi->s_journal->j_commit_callback = ext4_journal_commit_callback;
28 + if (!ext4_check_descriptors(sb, logical_sb_block, &first_not_zeroed)) {
29 + ext4_msg(sb, KERN_ERR, "group descriptors corrupted!");
30 + ret = -EFSCORRUPTED;
31 + goto failed_mount_wq;
34 if (!test_opt(sb, NO_MBCACHE)) {
35 sbi->s_ea_block_cache = ext4_xattr_create_cache();
36 if (!sbi->s_ea_block_cache) {