From: Fabian Ebner Date: Tue, 4 May 2021 09:52:54 +0000 (+0200) Subject: lvm: volume import: handle worker returned by free_image X-Git-Url: https://git.proxmox.com/?p=pve-storage.git;a=commitdiff_plain;h=6a4545601b874ff3d003855ecbad8f5315ae812e lvm: volume import: handle worker returned by free_image only affects LVM storages with 'saferemove 1' where the import fails at a rather advanced stage. Previously in such cases, the renamed (by free_image) volume del-vm-XYZ-disk-N would be left over. Signed-off-by: Fabian Ebner --- diff --git a/PVE/Storage/LVMPlugin.pm b/PVE/Storage/LVMPlugin.pm index df49b76..b85fb89 100644 --- a/PVE/Storage/LVMPlugin.pm +++ b/PVE/Storage/LVMPlugin.pm @@ -670,8 +670,16 @@ sub volume_import { $class->volume_import_write($fh, $file); }; if (my $err = $@) { - eval { $class->free_image($storeid, $scfg, $volname, 0) }; + my $cleanup_worker = eval { $class->free_image($storeid, $scfg, $volname, 0) }; warn $@ if $@; + + if ($cleanup_worker) { + my $rpcenv = PVE::RPCEnvironment::get(); + my $authuser = $rpcenv->get_user(); + + $rpcenv->fork_worker('imgdel', undef, $authuser, $cleanup_worker); + } + die $err; }