From aad31f46fba665ec8eef65372f845e5f04f43cc5 Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Thu, 14 May 2020 13:56:54 +0200 Subject: [PATCH] qemuBuildNumaArgStr: Use modern -numa memdev= if old -numa mem= is unsupported MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit In previous commit we started tracking whether QEMU supports '-numa mem='. This is tied to the machine type because migration from '-numa mem=' to '-numa memdev' is impossible (or vice versa). But since it's tied to a machine type (where migration from one to another is also unsupported) we can allow QEMU to get rid of the deprecated command line. Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=1783355 Signed-off-by: Michal Privoznik Reviewed-by: Ján Tomko --- src/qemu/qemu_command.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index cf6c48d233..d70428778e 100644 --- a/src/qemu/qemu_command.c +++ b/src/qemu/qemu_command.c @@ -7038,6 +7038,11 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg, if (!virDomainNumatuneNodesetIsAvailable(def->numa, priv->autoNodeset)) goto cleanup; + if (!virQEMUCapsGetMachineNumaMemSupported(qemuCaps, + def->virtType, + def->os.machine)) + needBackend = true; + if (VIR_ALLOC_N(nodeBackends, ncells) < 0) goto cleanup; @@ -7055,6 +7060,11 @@ qemuBuildNumaArgStr(virQEMUDriverConfigPtr cfg, if (rc == 0) needBackend = true; } + } else if (needBackend) { + virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s", + _("NUMA without specified memory backing is not " + "supported with this QEMU binary")); + goto cleanup; } if (!needBackend &&