|
@@ -90,6 +90,8 @@ static int ext4_validate_inode_bitmap(struct super_block *sb,
|
|
return -EFSCORRUPTED;
|
|
return -EFSCORRUPTED;
|
|
|
|
|
|
ext4_lock_group(sb, block_group);
|
|
ext4_lock_group(sb, block_group);
|
|
|
|
+ if (buffer_verified(bh))
|
|
|
|
+ goto verified;
|
|
blk = ext4_inode_bitmap(sb, desc);
|
|
blk = ext4_inode_bitmap(sb, desc);
|
|
if (!ext4_inode_bitmap_csum_verify(sb, block_group, desc, bh,
|
|
if (!ext4_inode_bitmap_csum_verify(sb, block_group, desc, bh,
|
|
EXT4_INODES_PER_GROUP(sb) / 8)) {
|
|
EXT4_INODES_PER_GROUP(sb) / 8)) {
|
|
@@ -101,6 +103,7 @@ static int ext4_validate_inode_bitmap(struct super_block *sb,
|
|
return -EFSBADCRC;
|
|
return -EFSBADCRC;
|
|
}
|
|
}
|
|
set_buffer_verified(bh);
|
|
set_buffer_verified(bh);
|
|
|
|
+verified:
|
|
ext4_unlock_group(sb, block_group);
|
|
ext4_unlock_group(sb, block_group);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|