From: Peter Krempa Date: Tue, 22 Sep 2020 12:53:57 +0000 (+0200) Subject: qemu: hotplug: Remove overlay of disk on disk unplug X-Git-Tag: v6.9.0-rc1~469 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e86b16ced7e1cc3b065cc04920fc89a99421c39d;p=thirdparty%2Flibvirt.git qemu: hotplug: Remove overlay of disk on disk unplug Remove the overlay if the disk was . Note that even if we'd forbid unplug of such a disk through the API, the disk can still be ejected from the guest. Signed-off-by: Peter Krempa Tested-by: Masayoshi Mizuma Reviewed-by: Ján Tomko Tested-by: Ján Tomko --- diff --git a/src/qemu/qemu_hotplug.c b/src/qemu/qemu_hotplug.c index ed4d1580fa..11b549b12b 100644 --- a/src/qemu/qemu_hotplug.c +++ b/src/qemu/qemu_hotplug.c @@ -4313,6 +4313,15 @@ qemuDomainRemoveDiskDevice(virQEMUDriverPtr driver, qemuHotplugRemoveManagedPR(driver, vm, QEMU_ASYNC_JOB_NONE) < 0) goto cleanup; + if (disk->transient) { + VIR_DEBUG("Removing transient overlay '%s' of disk '%s'", + disk->src->path, disk->dst); + if (qemuDomainStorageFileInit(driver, vm, disk->src, NULL) >= 0) { + virStorageFileUnlink(disk->src); + virStorageFileDeinit(disk->src); + } + } + ret = 0; cleanup: