|
|
@@ -2335,6 +2335,8 @@ static int ext4_check_descriptors(struct super_block *sb,
|
|
|
ext4_msg(sb, KERN_ERR, "ext4_check_descriptors: "
|
|
|
"Block bitmap for group %u overlaps "
|
|
|
"superblock", i);
|
|
|
+ if (!sb_rdonly(sb))
|
|
|
+ return 0;
|
|
|
}
|
|
|
if (block_bitmap < first_block || block_bitmap > last_block) {
|
|
|
ext4_msg(sb, KERN_ERR, "ext4_check_descriptors: "
|
|
|
@@ -2347,6 +2349,8 @@ static int ext4_check_descriptors(struct super_block *sb,
|
|
|
ext4_msg(sb, KERN_ERR, "ext4_check_descriptors: "
|
|
|
"Inode bitmap for group %u overlaps "
|
|
|
"superblock", i);
|
|
|
+ if (!sb_rdonly(sb))
|
|
|
+ return 0;
|
|
|
}
|
|
|
if (inode_bitmap < first_block || inode_bitmap > last_block) {
|
|
|
ext4_msg(sb, KERN_ERR, "ext4_check_descriptors: "
|
|
|
@@ -2359,6 +2363,8 @@ static int ext4_check_descriptors(struct super_block *sb,
|
|
|
ext4_msg(sb, KERN_ERR, "ext4_check_descriptors: "
|
|
|
"Inode table for group %u overlaps "
|
|
|
"superblock", i);
|
|
|
+ if (!sb_rdonly(sb))
|
|
|
+ return 0;
|
|
|
}
|
|
|
if (inode_table < first_block ||
|
|
|
inode_table + sbi->s_itb_per_group - 1 > last_block) {
|