BugLink: http://bugs.launchpad.net/bugs/1780137
Fix regression triggered by the stress-ng[*] "chdir" test, with LKML test
patch.
Regression observed on some arm64 server platforms:
EXT4-fs error (device sda1): ext4_validate_inode_bitmap:99: comm stress-ng: Corrupt inode bitmap
Reference: https://lkml.org/lkml/2018/7/7/2
Reported-by: dann frazier <dann.frazier@canonical.com>
Tested-by: dann frazier <dann.frazier@canonical.com>
Fixes: 044e6e3d74a3 ext4: don't update checksum of new initialized bitmaps
Signed-off-by: Kamal Mostafa <kamal@canonical.com>
Acked-by: Khalid Elmously <khalid.elmously@canonical.com>
Acked-by: Colin Ian King <colin.king@canonical.com>
Signed-off-by: Khalid Elmously <khalid.elmously@canonical.com>
return -EFSCORRUPTED;
ext4_lock_group(sb, block_group);
+ if (buffer_verified(bh))
+ goto verified;
blk = ext4_inode_bitmap(sb, desc);
if (!ext4_inode_bitmap_csum_verify(sb, block_group, desc, bh,
EXT4_INODES_PER_GROUP(sb) / 8)) {
return -EFSBADCRC;
}
set_buffer_verified(bh);
+verified:
ext4_unlock_group(sb, block_group);
return 0;
}