From 96b8e23767ec1f01b66641edaa9bc94283e6528a Mon Sep 17 00:00:00 2001 From: Wei Zhou Date: Mon, 19 May 2025 21:44:01 +0200 Subject: [PATCH] kvm: fix vm deployment from RAW template (#10880) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * kvm: fix vm deployment from RAW template * Update plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java Co-authored-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com> --------- Co-authored-by: João Jandre <48719461+JoaoJandre@users.noreply.github.com> --- .../cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java index d3710b57663..c0d58c57908 100644 --- a/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java +++ b/plugins/hypervisors/kvm/src/main/java/com/cloud/hypervisor/kvm/storage/LibvirtStorageAdaptor.java @@ -1609,7 +1609,9 @@ public class LibvirtStorageAdaptor implements StorageAdaptor { } else { destFile = new QemuImgFile(destPath, destFormat); try { - qemu.convert(srcFile, destFile, null, null, new QemuImageOptions(srcFile.getFormat(), srcFile.getFileName(), null), null, false, true); + boolean isQCOW2 = PhysicalDiskFormat.QCOW2.equals(sourceFormat); + qemu.convert(srcFile, destFile, null, null, new QemuImageOptions(srcFile.getFormat(), srcFile.getFileName(), null), + null, false, isQCOW2); Map destInfo = qemu.info(destFile); Long virtualSize = Long.parseLong(destInfo.get(QemuImg.VIRTUAL_SIZE)); newDisk.setVirtualSize(virtualSize);