From 3aa377c9fe2e55d5434d7aa81a2c8c94b86f914d Mon Sep 17 00:00:00 2001 From: Daniel Kral Date: Fri, 10 Jan 2025 18:05:32 +0100 Subject: [PATCH] api: create disks: also convert tpmstate and efidisk to base image for templates The commit 37a1f42a introduced a conversion step for newly allocated volume disks to base volumes for VM templates. This wrongly excluded efidisk and tmpstate volumes from this conversion, even though those should be converted to base volumes too. Therefore, include efidisks and tpmstate volumes to be converted to base volumes when newly allocating them. Suggested-by: Fiona Ebner Fixes: 37a1f42a ("fix #5301: convert added volume disks to base images for templates") Signed-off-by: Daniel Kral --- PVE/API2/Qemu.pm | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index db356b7e..8392400e 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -554,11 +554,12 @@ my sub create_disks : prototype($$$$$$$$$$$) { $volid = PVE::Storage::vdisk_alloc($storecfg, $storeid, $vmid, "raw", undef, $size); } else { $volid = PVE::Storage::vdisk_alloc($storecfg, $storeid, $vmid, $fmt, undef, $size); - - # change created disk to a base volume in case the VM is a template - $volid = PVE::Storage::vdisk_create_base($storecfg, $volid) - if PVE::QemuConfig->is_template($conf); } + + # change created disk to a base volume in case the VM is a template + $volid = PVE::Storage::vdisk_create_base($storecfg, $volid) + if PVE::QemuConfig->is_template($conf); + push @$vollist, $volid; $disk->{file} = $volid; $disk->{size} = PVE::Tools::convert_size($size, 'kb' => 'b');