From 990b65ab60b9943341d7e61dc60b7016a983354b Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Wed, 15 Jan 2020 08:12:22 +0100 Subject: [PATCH] api: vm clone: unlink zombie target config at end of error cleanup This is the guarantee that this call operates on it's created config. A VMID cannot be reused afterall. So only remove the guarantee at the last step, just before throwing up the error message about the clone failure. Signed-off-by: Thomas Lamprecht --- PVE/API2/Qemu.pm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/PVE/API2/Qemu.pm b/PVE/API2/Qemu.pm index f5e757a..0d543ff 100644 --- a/PVE/API2/Qemu.pm +++ b/PVE/API2/Qemu.pm @@ -2931,8 +2931,6 @@ __PACKAGE__->register_method({ PVE::AccessControl::add_vm_to_pool($newid, $pool) if $pool; }; if (my $err = $@) { - unlink $conffile; - eval { PVE::QemuServer::qemu_blockjobs_cancel($vmid, $jobs) }; sleep 1; # some storage like rbd need to wait before release volume - really? @@ -2943,6 +2941,8 @@ __PACKAGE__->register_method({ PVE::Firewall::remove_vmfw_conf($newid); + unlink $conffile; # avoid races -> last thing before die + die "clone failed: $err"; } -- 2.39.2