[libvirt] [PATCH RFC 10/40] qemu: Replace use of virDomainDiskFindByBusAndDst with virDomainDiskByTarget

Peter Krempa posted 40 patches 6 years, 2 months ago
[libvirt] [PATCH RFC 10/40] qemu: Replace use of virDomainDiskFindByBusAndDst with virDomainDiskByTarget
Posted by Peter Krempa 6 years, 2 months ago
In both replaced cases we have other code that verifies that the bus
can't be changed or that the target is unique, so limiting the search to
disks with same bus makes no sense.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_driver.c  | 7 ++-----
 src/qemu/qemu_hotplug.c | 2 +-
 2 files changed, 3 insertions(+), 6 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index bf436f7dc3..ac5f108537 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -7981,12 +7981,9 @@ qemuDomainChangeDiskLive(virDomainObjPtr vm,
     virDomainDeviceDef oldDev = { .type = dev->type };
     int ret = -1;

-    if (!(orig_disk = virDomainDiskFindByBusAndDst(vm->def,
-                                                   disk->bus, disk->dst))) {
+    if (!(orig_disk = virDomainDiskByTarget(vm->def, disk->dst))) {
         virReportError(VIR_ERR_INTERNAL_ERROR,
-                       _("No device with bus '%s' and target '%s'"),
-                       virDomainDiskBusTypeToString(disk->bus),
-                       disk->dst);
+                       _("disk '%s' not found"), disk->dst);
         goto cleanup;
     }

diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
index bf301919cc..3cb7f4cddd 100644
--- a/src/qemu/qemu_hotplug.c
+++ b/src/qemu/qemu_hotplug.c
@@ -1092,7 +1092,7 @@ qemuDomainAttachDeviceDiskLive(virQEMUDriverPtr driver,
      * for devices supporting media changes */
     if ((disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ||
          disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) &&
-        (orig_disk = virDomainDiskFindByBusAndDst(vm->def, disk->bus, disk->dst))) {
+        (orig_disk = virDomainDiskByTarget(vm->def, disk->dst))) {
         if (qemuDomainChangeEjectableMedia(driver, vm, orig_disk,
                                            disk->src, false) < 0)
             return -1;
-- 
2.21.0

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list
Re: [libvirt] [PATCH RFC 10/40] qemu: Replace use of virDomainDiskFindByBusAndDst with virDomainDiskByTarget
Posted by Daniel Henrique Barboza 6 years, 2 months ago

On 10/18/19 1:10 PM, Peter Krempa wrote:
> In both replaced cases we have other code that verifies that the bus
> can't be changed or that the target is unique, so limiting the search to
> disks with same bus makes no sense.
> 
> Signed-off-by: Peter Krempa <pkrempa@redhat.com>
> ---

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>


>   src/qemu/qemu_driver.c  | 7 ++-----
>   src/qemu/qemu_hotplug.c | 2 +-
>   2 files changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
> index bf436f7dc3..ac5f108537 100644
> --- a/src/qemu/qemu_driver.c
> +++ b/src/qemu/qemu_driver.c
> @@ -7981,12 +7981,9 @@ qemuDomainChangeDiskLive(virDomainObjPtr vm,
>       virDomainDeviceDef oldDev = { .type = dev->type };
>       int ret = -1;
> 
> -    if (!(orig_disk = virDomainDiskFindByBusAndDst(vm->def,
> -                                                   disk->bus, disk->dst))) {
> +    if (!(orig_disk = virDomainDiskByTarget(vm->def, disk->dst))) {
>           virReportError(VIR_ERR_INTERNAL_ERROR,
> -                       _("No device with bus '%s' and target '%s'"),
> -                       virDomainDiskBusTypeToString(disk->bus),
> -                       disk->dst);
> +                       _("disk '%s' not found"), disk->dst);
>           goto cleanup;
>       }
> 
> diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c
> index bf301919cc..3cb7f4cddd 100644
> --- a/src/qemu/qemu_hotplug.c
> +++ b/src/qemu/qemu_hotplug.c
> @@ -1092,7 +1092,7 @@ qemuDomainAttachDeviceDiskLive(virQEMUDriverPtr driver,
>        * for devices supporting media changes */
>       if ((disk->device == VIR_DOMAIN_DISK_DEVICE_CDROM ||
>            disk->device == VIR_DOMAIN_DISK_DEVICE_FLOPPY) &&
> -        (orig_disk = virDomainDiskFindByBusAndDst(vm->def, disk->bus, disk->dst))) {
> +        (orig_disk = virDomainDiskByTarget(vm->def, disk->dst))) {
>           if (qemuDomainChangeEjectableMedia(driver, vm, orig_disk,
>                                              disk->src, false) < 0)
>               return -1;
> 

--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list