From 2e26d78c8b2a6773371cfc06cf8c0a2655ccd549 Mon Sep 17 00:00:00 2001 From: Nikolay Shirokovskiy Date: Thu, 10 Mar 2016 15:43:48 +0300 Subject: [PATCH] conf: refactor hyperv features xml output 1. All hyperv features are tristate ones. So make tristate generating part common. 2. Reduce nesting on spinlocks. Signed-off-by: Nikolay Shirokovskiy Signed-off-by: John Ferlan --- src/conf/domain_conf.c | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f1ffdbec04..797570a42f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -22331,33 +22331,32 @@ virDomainDefFormatInternal(virDomainDefPtr def, virBufferAddLit(buf, "\n"); virBufferAdjustIndent(buf, 2); for (j = 0; j < VIR_DOMAIN_HYPERV_LAST; j++) { + if (def->hyperv_features[j] == VIR_TRISTATE_SWITCH_ABSENT) + continue; + + virBufferAsprintf(buf, "<%s state='%s'", + virDomainHypervTypeToString(j), + virTristateSwitchTypeToString( + def->hyperv_features[j])); + switch ((virDomainHyperv) j) { case VIR_DOMAIN_HYPERV_RELAXED: case VIR_DOMAIN_HYPERV_VAPIC: - if (def->hyperv_features[j]) - virBufferAsprintf(buf, "<%s state='%s'/>\n", - virDomainHypervTypeToString(j), - virTristateSwitchTypeToString( - def->hyperv_features[j])); break; case VIR_DOMAIN_HYPERV_SPINLOCKS: - if (def->hyperv_features[j] == 0) + if (def->hyperv_features[j] != VIR_TRISTATE_SWITCH_ON) break; - - virBufferAsprintf(buf, "hyperv_features[j])); - if (def->hyperv_features[j] == VIR_TRISTATE_SWITCH_ON) - virBufferAsprintf(buf, " retries='%d'", - def->hyperv_spinlocks); - virBufferAddLit(buf, "/>\n"); + virBufferAsprintf(buf, " retries='%d'", + def->hyperv_spinlocks); break; /* coverity[dead_error_begin] */ case VIR_DOMAIN_HYPERV_LAST: break; } + + virBufferAddLit(buf, "/>\n"); } virBufferAdjustIndent(buf, -2); virBufferAddLit(buf, "\n");