|
@@ -425,6 +425,15 @@ static int __open_metadata(struct dm_cache_metadata *cmd)
|
|
|
|
|
|
disk_super = dm_block_data(sblock);
|
|
|
|
|
|
+ /* Verify the data block size hasn't changed */
|
|
|
+ if (le32_to_cpu(disk_super->data_block_size) != cmd->data_block_size) {
|
|
|
+ DMERR("changing the data block size (from %u to %llu) is not supported",
|
|
|
+ le32_to_cpu(disk_super->data_block_size),
|
|
|
+ (unsigned long long)cmd->data_block_size);
|
|
|
+ r = -EINVAL;
|
|
|
+ goto bad;
|
|
|
+ }
|
|
|
+
|
|
|
r = __check_incompat_features(disk_super, cmd);
|
|
|
if (r < 0)
|
|
|
goto bad;
|