]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
qemu: capabilities: fix machine name/canonical swappage
authorCole Robinson <crobinso@redhat.com>
Fri, 7 Dec 2012 16:30:34 +0000 (11:30 -0500)
committerCole Robinson <crobinso@redhat.com>
Fri, 7 Dec 2012 16:30:34 +0000 (11:30 -0500)
Things are supposed to look like:

<machine canonical='pc-0.12'>pc</machine>

But are currently swapped. This can cause many VMs to revert to having
machine type='pc' which will affect save/restore across qemu upgrades.

src/qemu/qemu_capabilities.c

index 668935e913d274afe95218a2e11246f617d1d9bb..01a1b98193be137b0454c40c3f9043bc4c98bd91 100644 (file)
@@ -2046,20 +2046,15 @@ qemuCapsProbeQMPMachineTypes(qemuCapsPtr caps,
 
     for (i = 0 ; i < nmachines ; i++) {
         if (machines[i]->alias) {
-            if (!(caps->machineAliases[i] = strdup(machines[i]->name))) {
-                virReportOOMError();
-                goto cleanup;
-            }
-            if (!(caps->machineTypes[i] = strdup(machines[i]->alias))) {
-                virReportOOMError();
-                goto cleanup;
-            }
-        } else {
-            if (!(caps->machineTypes[i] = strdup(machines[i]->name))) {
+            if (!(caps->machineAliases[i] = strdup(machines[i]->alias))) {
                 virReportOOMError();
                 goto cleanup;
             }
         }
+        if (!(caps->machineTypes[i] = strdup(machines[i]->name))) {
+            virReportOOMError();
+            goto cleanup;
+        }
         if (machines[i]->isDefault)
             defIdx = i;
     }