Align error handling behavior when checking for linked clones with the rest of destroy_vm's error handling approach. Unlike the LXC destroy implementation, this version continues execution when encountering errors during the check, since:
1. The same validation occurs later in the process 2. This prevents potential crashes 3. The VM removal will still be blocked if the volume has linked clones Align error handling behavior when checking for linked clones with the rest of destroy_vm's error handling approach. Unlike the LXC implementation, this version continues execution when encountering errors during the check, since: Co-authored-by: Stefan Hrdlicka Signed-off-by: Michael Köppl <m.koe...@proxmox.com> --- PVE/QemuServer.pm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/PVE/QemuServer.pm b/PVE/QemuServer.pm index 577959a4..e02bf7d4 100644 --- a/PVE/QemuServer.pm +++ b/PVE/QemuServer.pm @@ -2116,9 +2116,10 @@ sub destroy_vm { my $volid = $drive->{file}; return if !$volid || $volid =~ m|^/|; - die "base volume '$volid' is still in use by linked cloned\n" - if PVE::Storage::volume_is_base_and_used($storecfg, $volid); - + # errors that occur during this check are not propagated since the + # same check is done again in vdisk_free + my $result = eval { PVE::Storage::volume_is_base_and_used($storecfg, $volid) }; + die "base volume '$volid' is still in use by linked cloned\n" if $result; }); } -- 2.39.5 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel