
On Wed, May 23, 2018 at 18:17:58 +0200, Andrea Bolognani wrote:
This doesn't seem very useful at the moment, but it will make sense once we introduce another HPT-related setting.
The output XML is decoupled from the input XML in preparation of future changes as well; while doing so, we can shave a few lines off the latter.
This commit is best viewed with 'git show -w'.
Signed-off-by: Andrea Bolognani <abologna@redhat.com> --- src/conf/domain_conf.c | 25 ++++++++++++--- src/qemu/qemu_command.c | 32 ++++++++++--------- tests/qemuxml2argvdata/pseries-features.xml | 14 ++------ tests/qemuxml2xmloutdata/pseries-features.xml | 29 ++++++++++++++++- 4 files changed, 68 insertions(+), 32 deletions(-) mode change 120000 => 100644 tests/qemuxml2xmloutdata/pseries-features.xml
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 355e497002..20b845f02a 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -27207,14 +27207,31 @@ virDomainDefFormatInternal(virDomainDefPtr def, virDomainIOAPICTypeToString(def->features[i])); break;
- case VIR_DOMAIN_FEATURE_HPT: + case VIR_DOMAIN_FEATURE_HPT: { + bool hasResizing = def->hpt_resizing != VIR_DOMAIN_HPT_RESIZING_NONE; + char *resizing = NULL; + if (def->features[i] != VIR_TRISTATE_SWITCH_ON || - def->hpt_resizing == VIR_DOMAIN_HPT_RESIZING_NONE) + !hasResizing) { break; + } + + if (hasResizing) { + if (virAsprintf(&resizing, " resizing='%s'", + virDomainHPTResizingTypeToString(def->hpt_resizing)) < 0) { + goto error; + } + } else { + if (VIR_STRDUP(resizing, "") < 0) + goto error; + }
- virBufferAsprintf(buf, "<hpt resizing='%s'/>\n", - virDomainHPTResizingTypeToString(def->hpt_resizing)); + virBufferAsprintf(buf, "<hpt%s/>\n",
This formulation looks fishy.
+ resizing); + + VIR_FREE(resizing); break; + }
/* coverity[dead_error_begin] */ case VIR_DOMAIN_FEATURE_LAST: