mirror of
https://github.com/qemu/qemu.git
synced 2024-11-28 22:33:36 +08:00
vhdx: Require power-of-two block size on create
Images with a non-power-of-two block size are invalid and cannot be opened. Reject such block sizes when creating an image. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Jeff Cody <jcody@redhat.com>
This commit is contained in:
parent
e8f6ea6fb6
commit
b412f49407
@ -1877,6 +1877,10 @@ static int coroutine_fn vhdx_co_create(BlockdevCreateOptions *opts,
|
||||
error_setg_errno(errp, EINVAL, "Block size must be a multiple of 1 MB");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (!is_power_of_2(block_size)) {
|
||||
error_setg(errp, "Block size must be a power of two");
|
||||
return -EINVAL;
|
||||
}
|
||||
if (block_size > VHDX_BLOCK_SIZE_MAX) {
|
||||
error_setg_errno(errp, EINVAL, "Block size must not exceed %d",
|
||||
VHDX_BLOCK_SIZE_MAX);
|
||||
|
Loading…
Reference in New Issue
Block a user