From: Peter Krempa Date: Fri, 5 Jun 2020 10:19:29 +0000 (+0200) Subject: qemu: blockcommit: Fix placement of qemuDomainDiskBlockJobIsSupported X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=f225f37a8a49cedb847488599cf30c08567ba279;p=libvirt.git qemu: blockcommit: Fix placement of qemuDomainDiskBlockJobIsSupported 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 --- 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"),