[libvirt] [PATCH v4 3/5] qemu: Move device alias assigning before command line construction

Michal Privoznik mprivozn at redhat.com
Thu Oct 20 14:52:50 UTC 2011


This patch is rather cosmetic as it only moves device alias
assignation from command line construction just before that.
However, it is needed in connotation of previous and next patch.
---
 src/qemu/qemu_command.c  |    5 +----
 src/qemu/qemu_command.h  |    1 +
 src/qemu/qemu_driver.c   |    3 +++
 src/qemu/qemu_process.c  |    3 +++
 tests/qemuxml2argvtest.c |    3 +++
 tests/qemuxmlnstest.c    |    3 +++
 6 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c
index 30c0be6..0c5bfab 100644
--- a/src/qemu/qemu_command.c
+++ b/src/qemu/qemu_command.c
@@ -656,7 +656,7 @@ qemuAssignDeviceControllerAlias(virDomainControllerDefPtr controller)
 }
 
 
-static int
+int
 qemuAssignDeviceAliases(virDomainDefPtr def, virBitmapPtr qemuCaps)
 {
     int i;
@@ -3284,9 +3284,6 @@ qemuBuildCommandLine(virConnectPtr conn,
     bool usblegacy = false;
     uname_normalize(&ut);
 
-    if (qemuAssignDeviceAliases(def, qemuCaps) < 0)
-        return NULL;
-
     virUUIDFormat(def->uuid, uuid);
 
     emulator = def->emulator;
diff --git a/src/qemu/qemu_command.h b/src/qemu/qemu_command.h
index 00e58a2..d34df8f 100644
--- a/src/qemu/qemu_command.h
+++ b/src/qemu/qemu_command.h
@@ -187,6 +187,7 @@ int qemuDomainPCIAddressReleaseSlot(qemuDomainPCIAddressSetPtr addrs, int slot);
 void qemuDomainPCIAddressSetFree(qemuDomainPCIAddressSetPtr addrs);
 int  qemuAssignDevicePCISlots(virDomainDefPtr def, qemuDomainPCIAddressSetPtr addrs);
 
+int qemuAssignDeviceAliases(virDomainDefPtr def, virBitmapPtr qemuCaps);
 int qemuDomainNetVLAN(virDomainNetDefPtr def);
 int qemuAssignDeviceNetAlias(virDomainDefPtr def, virDomainNetDefPtr net, int idx);
 int qemuAssignDeviceDiskAlias(virDomainDiskDefPtr def, virBitmapPtr qemuCaps);
diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index 84ef4dd..3599ca3 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -4611,6 +4611,9 @@ static char *qemuDomainXMLToNative(virConnectPtr conn,
     if (qemuProcessPrepareMonitorChr(driver, &monConfig, def->name) < 0)
         goto cleanup;
 
+    if (qemuAssignDeviceAliases(def, qemuCaps) < 0)
+        goto cleanup;
+
     if (!(cmd = qemuBuildCommandLine(conn, driver, def,
                                      &monConfig, false, qemuCaps,
                                      NULL, -1, NULL, VIR_VM_OP_NO_OP)))
diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c
index a7fe86c..c0f6fd4 100644
--- a/src/qemu/qemu_process.c
+++ b/src/qemu/qemu_process.c
@@ -3015,6 +3015,9 @@ int qemuProcessStart(virConnectPtr conn,
         priv->persistentAddrs = 0;
     }
 
+    if (qemuAssignDeviceAliases(vm->def, priv->qemuCaps) < 0)
+        goto cleanup;
+
     VIR_DEBUG("Building emulator command line");
     if (!(cmd = qemuBuildCommandLine(conn, driver, vm->def, priv->monConfig,
                                      priv->monJSON != 0, priv->qemuCaps,
diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index a7ae925..a64f45e 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -118,6 +118,9 @@ static int testCompareXMLToArgvFiles(const char *xml,
         qemuCapsSet(extraFlags, QEMU_CAPS_PCI_MULTIBUS);
     }
 
+    if (qemuAssignDeviceAliases(vmdef, extraFlags) < 0)
+        goto fail;
+
     if (!(cmd = qemuBuildCommandLine(conn, &driver,
                                      vmdef, &monitor_chr, json, extraFlags,
                                      migrateFrom, migrateFd, NULL,
diff --git a/tests/qemuxmlnstest.c b/tests/qemuxmlnstest.c
index 03d5b03..b13b409 100644
--- a/tests/qemuxmlnstest.c
+++ b/tests/qemuxmlnstest.c
@@ -118,6 +118,9 @@ static int testCompareXMLToArgvFiles(const char *xml,
         qemuCapsSet(extraFlags, QEMU_CAPS_PCI_MULTIBUS);
     }
 
+    if (qemuAssignDeviceAliases(vmdef, extraFlags) < 0)
+        goto fail;
+
     if (!(cmd = qemuBuildCommandLine(conn, &driver,
                                      vmdef, &monitor_chr, json, extraFlags,
                                      migrateFrom, migrateFd, NULL,
-- 
1.7.3.4




More information about the libvir-list mailing list