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

Daniel P. Berrange berrange at redhat.com
Thu Oct 20 15:57:49 UTC 2011


On Thu, Oct 20, 2011 at 04:52:50PM +0200, Michal Privoznik wrote:
> 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,

ACK

Daniel
-- 
|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|




More information about the libvir-list mailing list