From 9b8bb536ff999fa61e41869bd98a026b8e23378f Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Fri, 5 May 2023 14:43:17 +0200 Subject: [PATCH] qemu: hotplug: Reorder setup of disk backend metadata MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The regular VM startup code first calls the setup of the disk backing chain as defined in the XML and then calls the function to load the rest of the backing chain from the image metadata. The hotplug code did it the other way around, thus causing a failure when attempting to attach a QCOW2 image via FD passing. Reorder the hotplug code to have the same order. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2193315 Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_hotplug.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index 8c14540275..54b5a2c2c9 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -921,9 +921,6 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver *driver, if (virDomainDiskTranslateSourcePool(disk) < 0) goto cleanup; - if (qemuDomainDetermineDiskChain(driver, vm, disk, NULL) < 0) - goto cleanup; - for (i = 0; i < vm->def->ndisks; i++) { if (virDomainDiskDefCheckDuplicateInfo(vm->def->disks[i], disk) < 0) goto cleanup; @@ -1007,6 +1004,9 @@ qemuDomainAttachDeviceDiskLiveInternal(virQEMUDriver *driver, if (qemuDomainPrepareDiskSource(disk, priv, cfg) < 0) goto cleanup; + if (qemuDomainDetermineDiskChain(driver, vm, disk, NULL) < 0) + goto cleanup; + if (qemuHotplugAttachManagedPR(vm, disk->src, VIR_ASYNC_JOB_NONE) < 0) goto cleanup;