diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/ext4/ext4_common.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c index 40b798a..eb49fce 100644 --- a/fs/ext4/ext4_common.c +++ b/fs/ext4/ext4_common.c @@ -2229,6 +2229,16 @@ int ext4fs_mount(unsigned part_length) if (__le16_to_cpu(data->sblock.magic) != EXT2_MAGIC) goto fail; + /* + * The 64bit feature was enabled when metadata_csum was enabled + * and we do not support metadata_csum (and cannot reliably find + * files when it is set. Refuse to mount. + */ + if (data->sblock.feature_incompat & EXT4_FEATURE_INCOMPAT_64BIT) { + printf("Unsupported feature found (64bit, possibly metadata_csum), not mounting\n"); + goto fail; + } + if (__le32_to_cpu(data->sblock.revision_level == 0)) fs->inodesz = 128; else |