Since we already make sure before that the domain configuration is
valid we may execute it always at the cost of doing 0 iterations of the
for loop.
This patch will simplify later refactor as it will avoid whitespace
changes.
---
src/qemu/qemu_command.c | 47 +++++++++++++++++++++++------------------------
1 file changed, 23 insertions(+), 24 deletions(-)
diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index a37a4fa..43e81c7 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -9484,38 +9484,37 @@ qemuBuildCommandLine(virConnectPtr conn,
}
}
- if (virDomainNumaGetNodeCount(def->numa)) {
- if (qemuBuildNumaArgStr(cfg, def, cmd, qemuCaps, nodeset) < 0)
+ if (virDomainNumaGetNodeCount(def->numa) &&
+ qemuBuildNumaArgStr(cfg, def, cmd, qemuCaps, nodeset) < 0)
goto error;
- /* memory hotplug requires NUMA to be enabled - we already checked
- * that memory devices are present only when NUMA is */
+ /* memory hotplug requires NUMA to be enabled - we already checked
+ * that memory devices are present only when NUMA is */
- if (def->nmems > def->mem.memory_slots) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("memory device count '%zu' exceeds slots count
'%u'"),
- def->nmems, def->mem.memory_slots);
- goto error;
- }
-
- for (i = 0; i < def->nmems; i++) {
- char *backStr;
- char *dimmStr;
-
- if (!(backStr = qemuBuildMemoryDimmBackendStr(def->mems[i], def,
- qemuCaps, cfg)))
- goto error;
+ if (def->nmems > def->mem.memory_slots) {
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
+ _("memory device count '%zu' exceeds slots count
'%u'"),
+ def->nmems, def->mem.memory_slots);
+ goto error;
+ }
- if (!(dimmStr = qemuBuildMemoryDeviceStr(def->mems[i], def, qemuCaps))) {
- VIR_FREE(backStr);
- goto error;
- }
+ for (i = 0; i < def->nmems; i++) {
+ char *backStr;
+ char *dimmStr;
- virCommandAddArgList(cmd, "-object", backStr, "-device",
dimmStr, NULL);
+ if (!(backStr = qemuBuildMemoryDimmBackendStr(def->mems[i], def,
+ qemuCaps, cfg)))
+ goto error;
+ if (!(dimmStr = qemuBuildMemoryDeviceStr(def->mems[i], def, qemuCaps))) {
VIR_FREE(backStr);
- VIR_FREE(dimmStr);
+ goto error;
}
+
+ virCommandAddArgList(cmd, "-object", backStr, "-device",
dimmStr, NULL);
+
+ VIR_FREE(backStr);
+ VIR_FREE(dimmStr);
}
if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_UUID))
--
2.4.5