+++ /dev/null
-Index: linux-stage/fs/ext4/super.c
-When ldiskfs run in failover mode whith read-only disk.
-Part of allocation updates are lost and ldiskfs may fail
-while mounting this is due to inconsistent state of
-group-descriptor. Group-descriptor check is added after
-journal replay.
-===================================================================
---- linux-stage/fs/ext4/super.c 2016-11-06 15:15:30.892386878 +0530
-+++ linux-stage.orig.1/fs/ext4/super.c 2016-11-08 10:56:45.579892189 +0530
-@@ -3884,12 +3884,6 @@ static int ext4_fill_super(struct super_
- }
- }
- sbi->s_gdb_count = db_count;
-- if (!ext4_check_descriptors(sb, logical_sb_block, &first_not_zeroed)) {
-- ext4_msg(sb, KERN_ERR, "group descriptors corrupted!");
-- ret = -EFSCORRUPTED;
-- goto failed_mount2;
-- }
--
- get_random_bytes(&sbi->s_next_generation, sizeof(u32));
- spin_lock_init(&sbi->s_next_gen_lock);
-
-@@ -4020,6 +4014,13 @@ static int ext4_fill_super(struct super_
- sbi->s_journal->j_commit_callback = ext4_journal_commit_callback;
-
- no_journal:
-+
-+ if (!ext4_check_descriptors(sb, logical_sb_block, &first_not_zeroed)) {
-+ ext4_msg(sb, KERN_ERR, "group descriptors corrupted!");
-+ ret = -EFSCORRUPTED;
-+ goto failed_mount_wq;
-+ }
-+
- sbi->s_mb_cache = ext4_xattr_create_cache();
- if (!sbi->s_mb_cache) {
- ext4_msg(sb, KERN_ERR, "Failed to create an mb_cache");