From f225f37a8a49cedb847488599cf30c08567ba279 Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Fri, 5 Jun 2020 12:19:29 +0200 Subject: [PATCH] qemu: blockcommit: Fix placement of qemuDomainDiskBlockJobIsSupported MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Commit b50a8354f6d added call to qemuDomainDiskBlockJobIsSupported prior to filling the 'disk' variable resulting in a crash when attempting a block commit. https://gitlab.com/libvirt/libvirt/-/issues/31 Signed-off-by: Peter Krempa Reviewed-by: Ján Tomko --- src/qemu/qemu_driver.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c index dd9ae30bb5..88517ba6a7 100644 --- a/src/qemu/qemu_driver.c +++ b/src/qemu/qemu_driver.c @@ -18504,9 +18504,6 @@ qemuDomainBlockCommit(virDomainPtr dom, if (virDomainObjCheckActive(vm) < 0) goto endjob; - if (!qemuDomainDiskBlockJobIsSupported(vm, disk)) - goto endjob; - blockdev = virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_BLOCKDEV); /* Convert bandwidth MiB to bytes, if necessary */ @@ -18523,6 +18520,9 @@ qemuDomainBlockCommit(virDomainPtr dom, if (!(disk = qemuDomainDiskByName(vm->def, path))) goto endjob; + if (!qemuDomainDiskBlockJobIsSupported(vm, disk)) + goto endjob; + if (virStorageSourceIsEmpty(disk->src)) { virReportError(VIR_ERR_CONFIG_UNSUPPORTED, _("disk %s has no source file to be committed"), -- 2.39.5