Merge tag 'dm-3.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm
Pull device mapper fixes from Mike Snitzer: "Fix the dm-thinp and dm-cache targets to disallow changing the data device's block size" * tag 'dm-3.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: dm cache metadata: do not allow the data block size to change dm thin metadata: do not allow the data block size to change
This commit is contained in:
@@ -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;
|
||||
|
@@ -613,6 +613,15 @@ static int __open_metadata(struct dm_pool_metadata *pmd)
|
||||
|
||||
disk_super = dm_block_data(sblock);
|
||||
|
||||
/* Verify the data block size hasn't changed */
|
||||
if (le32_to_cpu(disk_super->data_block_size) != pmd->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)pmd->data_block_size);
|
||||
r = -EINVAL;
|
||||
goto bad_unlock_sblock;
|
||||
}
|
||||
|
||||
r = __check_incompat_features(disk_super, pmd);
|
||||
if (r < 0)
|
||||
goto bad_unlock_sblock;
|
||||
|
Reference in New Issue
Block a user