]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Handle CanonicalizeMachine in post parse
authorCole Robinson <crobinso@redhat.com>
Thu, 7 Jan 2016 01:39:06 +0000 (20:39 -0500)
committerCole Robinson <crobinso@redhat.com>
Fri, 8 Jan 2016 18:25:20 +0000 (13:25 -0500)
Rather than open coding calls. I can't see any reason not to

src/qemu/qemu_domain.c
src/qemu/qemu_driver.c

index 3bc27bc76491b13bc1c00ca95deb10567de4c5a4..c14ff4561a6bff0c501599172a46c19a122d5b48 100644 (file)
@@ -1207,6 +1207,26 @@ qemuDomainDefAddDefaultDevices(virDomainDefPtr def,
 }
 
 
+static int
+qemuCanonicalizeMachine(virDomainDefPtr def, virQEMUCapsPtr qemuCaps)
+{
+    const char *canon;
+
+    if (!(canon = virQEMUCapsGetCanonicalMachine(qemuCaps, def->os.machine)))
+        return 0;
+
+    if (STRNEQ(canon, def->os.machine)) {
+        char *tmp;
+        if (VIR_STRDUP(tmp, canon) < 0)
+            return -1;
+        VIR_FREE(def->os.machine);
+        def->os.machine = tmp;
+    }
+
+    return 0;
+}
+
+
 static int
 qemuDomainDefPostParse(virDomainDefPtr def,
                        virCapsPtr caps,
@@ -1232,6 +1252,9 @@ qemuDomainDefPostParse(virDomainDefPtr def,
     if (qemuDomainDefAddDefaultDevices(def, qemuCaps) < 0)
         goto cleanup;
 
+    if (qemuCanonicalizeMachine(def, qemuCaps) < 0)
+        goto cleanup;
+
     ret = 0;
  cleanup:
     virObjectUnref(qemuCaps);
index 89eae2ab39b48d33dea7acf444fde74974ee7459..114627e6ff86b1c6810a32c7fd501529fb343618 100644 (file)
@@ -1684,26 +1684,6 @@ static int qemuConnectNumOfDomains(virConnectPtr conn)
 }
 
 
-static int
-qemuCanonicalizeMachine(virDomainDefPtr def, virQEMUCapsPtr qemuCaps)
-{
-    const char *canon;
-
-    if (!(canon = virQEMUCapsGetCanonicalMachine(qemuCaps, def->os.machine)))
-        return 0;
-
-    if (STRNEQ(canon, def->os.machine)) {
-        char *tmp;
-        if (VIR_STRDUP(tmp, canon) < 0)
-            return -1;
-        VIR_FREE(def->os.machine);
-        def->os.machine = tmp;
-    }
-
-    return 0;
-}
-
-
 static virDomainPtr qemuDomainCreateXML(virConnectPtr conn,
                                         const char *xml,
                                         unsigned int flags)
@@ -1749,9 +1729,6 @@ static virDomainPtr qemuDomainCreateXML(virConnectPtr conn,
     if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator)))
         goto cleanup;
 
-    if (qemuCanonicalizeMachine(def, qemuCaps) < 0)
-        goto cleanup;
-
     if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
         goto cleanup;
 
@@ -7531,9 +7508,6 @@ static virDomainPtr qemuDomainDefineXMLFlags(virConnectPtr conn, const char *xml
     if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator)))
         goto cleanup;
 
-    if (qemuCanonicalizeMachine(def, qemuCaps) < 0)
-        goto cleanup;
-
     if (qemuDomainAssignAddresses(def, qemuCaps, NULL) < 0)
         goto cleanup;
 
@@ -15893,9 +15867,6 @@ static virDomainPtr qemuDomainQemuAttach(virConnectPtr conn,
     if (!(qemuCaps = virQEMUCapsCacheLookup(driver->qemuCapsCache, def->emulator)))
         goto cleanup;
 
-    if (qemuCanonicalizeMachine(def, qemuCaps) < 0)
-        goto cleanup;
-
     if (qemuAssignDeviceAliases(def, qemuCaps) < 0)
         goto cleanup;