Re: [libvirt] [PATCH 04/11] conf: Use switch in virDomainDefFeaturesCheckABIStability()

2018-02-12 Thread John Ferlan


On 02/06/2018 11:42 AM, Andrea Bolognani wrote:
> The compiler can make sure we are handling all features.
> 
> Signed-off-by: Andrea Bolognani 
> ---
>  src/conf/domain_conf.c | 41 +
>  1 file changed, 33 insertions(+), 8 deletions(-)
> 


Reviewed-by: John Ferlan 

John

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


[libvirt] [PATCH 04/11] conf: Use switch in virDomainDefFeaturesCheckABIStability()

2018-02-06 Thread Andrea Bolognani
The compiler can make sure we are handling all features.

Signed-off-by: Andrea Bolognani 
---
 src/conf/domain_conf.c | 41 +
 1 file changed, 33 insertions(+), 8 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 34aae82f1..e4d01b869 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -21324,14 +21324,39 @@ virDomainDefFeaturesCheckABIStability(virDomainDefPtr 
src,
 size_t i;
 
 for (i = 0; i < VIR_DOMAIN_FEATURE_LAST; i++) {
-if (src->features[i] != dst->features[i]) {
-virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-   _("State of feature '%s' differs: "
- "source: '%s', destination: '%s'"),
-   virDomainFeatureTypeToString(i),
-   virTristateSwitchTypeToString(src->features[i]),
-   virTristateSwitchTypeToString(dst->features[i]));
-return false;
+const char *featureName = virDomainFeatureTypeToString(i);
+
+switch ((virDomainFeature) i) {
+case VIR_DOMAIN_FEATURE_ACPI:
+case VIR_DOMAIN_FEATURE_APIC:
+case VIR_DOMAIN_FEATURE_PAE:
+case VIR_DOMAIN_FEATURE_HAP:
+case VIR_DOMAIN_FEATURE_VIRIDIAN:
+case VIR_DOMAIN_FEATURE_PRIVNET:
+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:
+case VIR_DOMAIN_FEATURE_SMM:
+case VIR_DOMAIN_FEATURE_IOAPIC:
+case VIR_DOMAIN_FEATURE_HPT:
+case VIR_DOMAIN_FEATURE_VMCOREINFO:
+if (src->features[i] != dst->features[i]) {
+virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+   _("State of feature '%s' differs: "
+ "source: '%s', destination: '%s'"),
+   featureName,
+   virTristateSwitchTypeToString(src->features[i]),
+   
virTristateSwitchTypeToString(dst->features[i]));
+return false;
+}
+break;
+
+case VIR_DOMAIN_FEATURE_LAST:
+break;
 }
 }
 
-- 
2.14.3

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list