From a3e19bf75a6c1fe060464535bab6939c0b7a7be1 Mon Sep 17 00:00:00 2001 From: Kristina Hanicova Date: Thu, 24 Aug 2023 12:57:00 +0200 Subject: [PATCH] conf: add virDomainDiskBlockIoCheckABIStability() Add missing ABI stability check for blockio properties for disk devices. Signed-off-by: Kristina Hanicova Reviewed-by: Michal Privoznik --- src/conf/domain_conf.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index aab660bdea..69934026ef 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -19819,6 +19819,28 @@ virDomainVirtioOptionsCheckABIStability(virDomainVirtioOptions *src, } +static bool +virDomainDiskBlockIoCheckABIStability(virDomainDiskDef *src, + virDomainDiskDef *dst) +{ + if (src->blockio.logical_block_size != dst->blockio.logical_block_size) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target disk logical_block_size %1$u does not match source %2$u"), + dst->blockio.logical_block_size, src->blockio.logical_block_size); + return false; + } + + if (src->blockio.physical_block_size != dst->blockio.physical_block_size) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("Target disk physical_block_size %1$u does not match source %2$u"), + dst->blockio.physical_block_size, src->blockio.physical_block_size); + return false; + } + return true; +} + + + static bool virDomainDiskDefCheckABIStability(virDomainDiskDef *src, virDomainDiskDef *dst) @@ -19902,6 +19924,9 @@ virDomainDiskDefCheckABIStability(virDomainDiskDef *src, if (!virDomainDeviceInfoCheckABIStability(&src->info, &dst->info)) return false; + if (!virDomainDiskBlockIoCheckABIStability(src, dst)) + return false; + return true; }