[PATCH 08/10] qemuDomainDiskLookupByNodename: Look also for 'mirror' node names

Peter Krempa posted 10 patches 5 years, 6 months ago
[PATCH 08/10] qemuDomainDiskLookupByNodename: Look also for 'mirror' node names
Posted by Peter Krempa 5 years, 6 months ago
When doing a block copy, there is another chain of images attached to a
disk. Consider them as well when looking up a disk using nodename.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
---
 src/qemu/qemu_domain.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
index ed7ec77ed4..18fd445e30 100644
--- a/src/qemu/qemu_domain.c
+++ b/src/qemu/qemu_domain.c
@@ -11492,6 +11492,14 @@ qemuDomainDiskLookupByNodename(virDomainDefPtr def,

             return def->disks[i];
         }
+
+        if (def->disks[i]->mirror &&
+            (tmp = virStorageSourceFindByNodeName(def->disks[i]->mirror, nodename))) {
+            if (src)
+                *src = tmp;
+
+            return def->disks[i];
+        }
     }

     return NULL;
-- 
2.26.2

Re: [PATCH 08/10] qemuDomainDiskLookupByNodename: Look also for 'mirror' node names
Posted by Eric Blake 5 years, 6 months ago
On 7/15/20 8:10 AM, Peter Krempa wrote:
> When doing a block copy, there is another chain of images attached to a
> disk. Consider them as well when looking up a disk using nodename.
> 
> Signed-off-by: Peter Krempa <pkrempa@redhat.com>
> ---
>   src/qemu/qemu_domain.c | 8 ++++++++
>   1 file changed, 8 insertions(+)

Reviewed-by: Eric Blake <eblake@redhat.com>

> 
> diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c
> index ed7ec77ed4..18fd445e30 100644
> --- a/src/qemu/qemu_domain.c
> +++ b/src/qemu/qemu_domain.c
> @@ -11492,6 +11492,14 @@ qemuDomainDiskLookupByNodename(virDomainDefPtr def,
> 
>               return def->disks[i];
>           }
> +
> +        if (def->disks[i]->mirror &&
> +            (tmp = virStorageSourceFindByNodeName(def->disks[i]->mirror, nodename))) {
> +            if (src)
> +                *src = tmp;
> +
> +            return def->disks[i];
> +        }
>       }
> 
>       return NULL;
> 

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org