From: Andrea Bolognani Date: Thu, 1 Feb 2018 11:35:15 +0000 (+0100) Subject: conf: Validate VIR_DOMAIN_FEATURE_CAPABILITIES properly X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=53072064745731e8c887f8ee71092060a4025c62;p=libvirt.git conf: Validate VIR_DOMAIN_FEATURE_CAPABILITIES properly Unlike most other features, VIR_DOMAIN_FEATURE_CAPABILITIES is of type virDomainCapabilitiesPolicy instead of virTristateSwitch, so we need to handle it separately for the error message to make sense. Signed-off-by: Andrea Bolognani Reviewed-by: John Ferlan --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 91e5354729..2908b1b7d2 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -21336,7 +21336,6 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr src, case VIR_DOMAIN_FEATURE_HYPERV: case VIR_DOMAIN_FEATURE_KVM: case VIR_DOMAIN_FEATURE_PVSPINLOCK: - case VIR_DOMAIN_FEATURE_CAPABILITIES: case VIR_DOMAIN_FEATURE_PMU: case VIR_DOMAIN_FEATURE_VMPORT: case VIR_DOMAIN_FEATURE_GIC: @@ -21355,6 +21354,20 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr src, } break; + case VIR_DOMAIN_FEATURE_CAPABILITIES: + if (src->features[i] != dst->features[i]) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + _("State of feature '%s' differs: " + "source: '%s=%s', destination: '%s=%s'"), + featureName, + "policy", + virDomainCapabilitiesPolicyTypeToString(src->features[i]), + "policy", + virDomainCapabilitiesPolicyTypeToString(dst->features[i])); + return false; + } + break; + case VIR_DOMAIN_FEATURE_LAST: break; }