[libvirt] [PATCH 1/3] qemu: command: Pass numad nodeset when formatting memory devices at boot

Peter Krempa pkrempa at redhat.com
Tue Mar 29 14:52:45 UTC 2016


When starting up a VM libvirtd asks numad to place the VM in case of
automatic nodeset. The nodeset would not be passed to the memory device
formatter and the user would get an error.

Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1269715
---
 src/qemu/qemu_command.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 45c5398..8545533 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -2945,7 +2945,8 @@ static char *
 qemuBuildMemoryDimmBackendStr(virDomainMemoryDefPtr mem,
                               virDomainDefPtr def,
                               virQEMUCapsPtr qemuCaps,
-                              virQEMUDriverConfigPtr cfg)
+                              virQEMUDriverConfigPtr cfg,
+                              virBitmapPtr auto_nodeset)
 {
     virJSONValuePtr props = NULL;
     char *alias = NULL;
@@ -2962,7 +2963,7 @@ qemuBuildMemoryDimmBackendStr(virDomainMemoryDefPtr mem,
         goto cleanup;

     if (qemuBuildMemoryBackendStr(mem->size, mem->pagesize,
-                                  mem->targetNode, mem->sourceNodes, NULL,
+                                  mem->targetNode, mem->sourceNodes, auto_nodeset,
                                   def, qemuCaps, cfg,
                                   &backendType, &props, true) < 0)
         goto cleanup;
@@ -7200,7 +7201,7 @@ qemuBuildNumaCommandLine(virCommandPtr cmd,
         char *dimmStr;

         if (!(backStr = qemuBuildMemoryDimmBackendStr(def->mems[i], def,
-                                                      qemuCaps, cfg)))
+                                                      qemuCaps, cfg, nodeset)))
             return -1;

         if (!(dimmStr = qemuBuildMemoryDeviceStr(def->mems[i]))) {
-- 
2.7.3




More information about the libvir-list mailing list