[pve-devel] [PATCH v2 container] fix #2820: block adding new volume with same id if it's pending delete
Fabian Grünbichler
f.gruenbichler at proxmox.com
Wed Jul 1 13:52:25 CEST 2020
On July 1, 2020 11:56 am, Oguz Bektas wrote:
> if a user tries to add a mountpoint mpX which is waiting for a pending
> delete, hotplugging a new mountpoint with name mpX before the
> previous one is detached should not be allowed.
>
> do a simple check to see if the given mpX is already in the pending delete section.
>
> Signed-off-by: Oguz Bektas <o.bektas at proxmox.com>
> ---
>
> v1->v2:
> * use exact matching
this is still not exact matching. split the list, look for an exact
match
> * change full stop to comma
> * s/mountpoint/mount point/
you did not address my question on why you die, instead of just blocking
hotplugging..
>
>
> src/PVE/LXC/Config.pm | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/src/PVE/LXC/Config.pm b/src/PVE/LXC/Config.pm
> index 0a28380..f582eb8 100644
> --- a/src/PVE/LXC/Config.pm
> +++ b/src/PVE/LXC/Config.pm
> @@ -974,6 +974,9 @@ sub update_pct_config {
> my $value = $param->{$opt};
> if ($opt =~ m/^mp(\d+)$/ || $opt eq 'rootfs') {
> $class->check_protection($conf, "can't update CT $vmid drive '$opt'");
> + if ($conf->{pending}->{delete} =~ m/$opt\b/) {
> + die "${opt} is in pending delete queue, please choose another mount point ID\n";
> + }
> my $mp = $class->parse_volume($opt, $value);
> $check_content_type->($mp) if ($mp->{type} eq 'volume');
> } elsif ($opt eq 'hookscript') {
> --
> 2.20.1
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at pve.proxmox.com
> https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
>
More information about the pve-devel
mailing list