From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from firstgate.proxmox.com (firstgate.proxmox.com [212.224.123.68]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by lists.proxmox.com (Postfix) with ESMTPS id 635C082585 for ; Mon, 29 Nov 2021 13:37:29 +0100 (CET) Received: from firstgate.proxmox.com (localhost [127.0.0.1]) by firstgate.proxmox.com (Proxmox) with ESMTP id 5AF4B8621 for ; Mon, 29 Nov 2021 13:37:29 +0100 (CET) Received: from proxmox-new.maurer-it.com (proxmox-new.maurer-it.com [94.136.29.106]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by firstgate.proxmox.com (Proxmox) with ESMTPS id 59D4D867C for ; Mon, 29 Nov 2021 13:37:28 +0100 (CET) Received: from proxmox-new.maurer-it.com (localhost.localdomain [127.0.0.1]) by proxmox-new.maurer-it.com (Proxmox) with ESMTP id 2CC0744715 for ; Mon, 29 Nov 2021 13:31:28 +0100 (CET) To: Proxmox VE development discussion , Oguz Bektas References: <20211014092957.845329-1-o.bektas@proxmox.com> <20211014092957.845329-3-o.bektas@proxmox.com> From: Hannes Laimer Message-ID: <130335e0-4737-5550-c50b-f70bc11eeaf6@proxmox.com> Date: Mon, 29 Nov 2021 13:31:27 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.14.0 MIME-Version: 1.0 In-Reply-To: <20211014092957.845329-3-o.bektas@proxmox.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-SPAM-LEVEL: Spam detection results: 0 AWL 0.682 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% KAM_DMARC_STATUS 0.01 Test Rule for DKIM or SPF Failure with Strict Alignment NICE_REPLY_A -1.317 Looks like a legit reply (A) PROLO_LEO1 0.1 Meta Catches all Leo drug variations so far SPF_HELO_NONE 0.001 SPF: HELO does not publish an SPF Record SPF_PASS -0.001 SPF: sender matches SPF record Subject: Re: [pve-devel] [PATCH v3 guest-common 2/2] snapshots: delete parent property if new snapshot name is already a parent to existing one X-BeenThere: pve-devel@lists.proxmox.com X-Mailman-Version: 2.1.29 Precedence: list List-Id: Proxmox VE development discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Nov 2021 12:37:29 -0000 Tested-by: Hannes Laimer Works as advertised, only affects old configs created before the first patch was applied. Am 14.10.21 um 11:29 schrieb Oguz Bektas: > Signed-off-by: Oguz Bektas > --- > v2->v3: > * automatically delete the 'parent' property for an existing snapshot > (instead of aborting) if its the same as the new snapshot name (and the > snapshot referenced by 'parent' is not used) > > > > src/PVE/AbstractConfig.pm | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/src/PVE/AbstractConfig.pm b/src/PVE/AbstractConfig.pm > index 3348d8a..e4ddeab 100644 > --- a/src/PVE/AbstractConfig.pm > +++ b/src/PVE/AbstractConfig.pm > @@ -721,14 +721,21 @@ sub __snapshot_prepare { > > $conf->{lock} = 'snapshot'; > > + my $snapshots = $conf->{snapshots}; > + > die "snapshot name '$snapname' already used\n" > - if defined($conf->{snapshots}->{$snapname}); > + if defined($snapshots->{$snapname}); > > my $storecfg = PVE::Storage::config(); > die "snapshot feature is not available\n" > if !$class->has_feature('snapshot', $conf, $storecfg, undef, undef, $snapname eq 'vzdump'); > > - $snap = $conf->{snapshots}->{$snapname} = {}; > + foreach my $existing_snapshot (keys %$snapshots) { > + my $parent_name = $snapshots->{$existing_snapshot}->{parent} // ''; > + delete $snapshots->{$existing_snapshot}->{parent} if $snapname eq $parent_name; > + } > + > + $snap = $snapshots->{$snapname} = {}; > > if ($save_vmstate && $class->__snapshot_check_running($vmid)) { > $class->__snapshot_save_vmstate($vmid, $conf, $snapname, $storecfg); >