From: Michal Privoznik Date: Thu, 20 Oct 2011 12:45:12 +0000 (+0200) Subject: qemu: Move device alias assigning before command line construction X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=b8fbe5d5ba809d33908389d7498a18b20513b79c;p=libvirt.git qemu: Move device alias assigning before command line construction 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. --- diff --git a/src/qemu/qemu_command.c b/src/qemu/qemu_command.c index 30c0be6509..0c5bfab8e5 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 00e58a27b7..d34df8f236 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 6b65716b29..f93b784873 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -4621,6 +4621,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, monitor_json, qemuCaps, NULL, -1, NULL, VIR_VM_OP_NO_OP))) diff --git a/src/qemu/qemu_process.c b/src/qemu/qemu_process.c index a7fe86c82f..c0f6fd41b8 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 a7ae925f1f..a64f45e69c 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 03d5b03a7c..b13b409995 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,