[PATCH v2 01/16] qemu: purely a code movement

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



to ease the review of commits to follow.

Signed-off-by: Martin Kletzander <mkletzan@xxxxxxxxxx>
---
 src/qemu/qemu_command.c | 26 +++++++++++++++-----------
 1 file changed, 15 insertions(+), 11 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index fb64cda..aed7411 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -6374,12 +6374,24 @@ qemuBuildNumaArgStr(const virDomainDef *def, virCommandPtr cmd)
     int ret = -1;

     for (i = 0; i < def->cpu->ncells; i++) {
+        int cellmem = VIR_DIV_UP(def->cpu->cells[i].mem, 1024);
+        def->cpu->cells[i].mem = cellmem * 1024;
+
         VIR_FREE(cpumask);
+
+        if (!(cpumask = virBitmapFormat(def->cpu->cells[i].cpumask)))
+            goto cleanup;
+
+        if (strchr(cpumask, ',')) {
+            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                           _("disjoint NUMA cpu ranges are not supported "
+                             "with this QEMU"));
+            goto cleanup;
+        }
+
         virCommandAddArg(cmd, "-numa");
         virBufferAsprintf(&buf, "node,nodeid=%d", def->cpu->cells[i].cellid);
         virBufferAddLit(&buf, ",cpus=");
-        if (!(cpumask = virBitmapFormat(def->cpu->cells[i].cpumask)))
-            goto cleanup;

         /* Up through qemu 1.4, -numa does not accept a cpus
          * argument any more complex than start-stop.
@@ -6387,16 +6399,8 @@ qemuBuildNumaArgStr(const virDomainDef *def, virCommandPtr cmd)
          * XXX For qemu 1.5, the syntax has not yet been decided;
          * but when it is, we need a capability bit and
          * translation of our cpumask into the qemu syntax.  */
-        if (strchr(cpumask, ',')) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
-                           _("disjoint NUMA cpu ranges are not supported "
-                             "with this QEMU"));
-            goto cleanup;
-        }
         virBufferAdd(&buf, cpumask, -1);
-        def->cpu->cells[i].mem = VIR_DIV_UP(def->cpu->cells[i].mem,
-                                            1024) * 1024;
-        virBufferAsprintf(&buf, ",mem=%d", def->cpu->cells[i].mem / 1024);
+        virBufferAsprintf(&buf, ",mem=%d", cellmem);

         if (virBufferCheckError(&buf) < 0)
             goto cleanup;
-- 
2.0.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]