[pve-devel] [PATCH container v6 1/4] fix #3711: lxc: print warning if storage for mounted volume does not exist anymore

Fiona Ebner f.ebner at proxmox.com
Tue May 20 15:33:36 CEST 2025


Am 20.05.25 um 11:08 schrieb Michael Köppl:
> An explicit check for the existence of the storage is added to print a
> warning and continue with the removal of the container without deleting
> the mount point in case the storage does not exist anymore. For other
> errors, the function should still die.
> 
> Originally-by: Stefan Hrdlicka <s.hrdlicka at proxmox.com>

Nit: Ideally, you also describe the changes to the original patch here.
For how this is usually done, see e.g.
https://git.proxmox.com/?p=pve-container.git;a=commit;h=ee81952f4fc8faf01ed4eda5b8962d1a82d5425d

> Signed-off-by: Michael Köppl <m.koeppl at proxmox.com>
> ---
>  src/PVE/LXC.pm | 12 +++++++++++-
>  1 file changed, 11 insertions(+), 1 deletion(-)
> 
> diff --git a/src/PVE/LXC.pm b/src/PVE/LXC.pm
> index 2b9f0cf..6a1ce92 100644
> --- a/src/PVE/LXC.pm
> +++ b/src/PVE/LXC.pm
> @@ -953,7 +953,17 @@ sub destroy_lxc_container {
>  	return if $volids->{$volume};
>  	$volids->{$volume} = 1;
>  
> -	delete_mountpoint_volume($storage_cfg, $vmid, $volume);
> +	# explicitly check if storage still exists to avoid failing during
> +	# deletion of the mountpoint volume. instead, only a warning is
> +	# printed and destroying the container continues.
> +	my ($storeid) = PVE::Storage::parse_volume_id($volume);
> +	eval { PVE::Storage::storage_config($storage_cfg, $storeid) };
> +	my $err = $@;
> +	PVE::RESTEnvironment::log_warn("failed to delete $volume, $err") if $err;
> +
> +	if (!$err) {
> +	    delete_mountpoint_volume($storage_cfg, $vmid, $volume);
> +	}

Can we instead just surround the delete_mountpoint_volume() call itself
with an eval + printing warning? That also catches other situations
where deletion fails and is simpler.

>      };
>      PVE::LXC::Config->foreach_volume_full($conf, {include_unused => 1}, $remove_volume);
>  





More information about the pve-devel mailing list