[pve-devel] applied-series: [PATCH guest-common 2/2] replication: prepare: simplify code
Fabian Grünbichler
f.gruenbichler at proxmox.com
Mon Nov 29 11:18:51 CET 2021
On November 26, 2021 11:52 am, Fabian Ebner wrote:
> No functional change is intended.
>
> Signed-off-by: Fabian Ebner <f.ebner at proxmox.com>
> ---
> src/PVE/Replication.pm | 46 +++++++++++++++++++-----------------------
> 1 file changed, 21 insertions(+), 25 deletions(-)
>
> diff --git a/src/PVE/Replication.pm b/src/PVE/Replication.pm
> index de652f2..31cabec 100644
> --- a/src/PVE/Replication.pm
> +++ b/src/PVE/Replication.pm
> @@ -176,32 +176,28 @@ sub prepare {
> foreach my $volid (@$volids) {
> my $info = PVE::Storage::volume_snapshot_info($storecfg, $volid);
> for my $snap (keys $info->%*) {
> - if ((defined($snapname) && ($snap eq $snapname)) ||
> - (defined($parent_snapname) && ($snap eq $parent_snapname))) {
> - $last_snapshots->{$volid}->{$snap} = $info->{$snap};
> - } elsif ($snap =~ m/^\Q$prefix\E/) {
> - if ($last_sync != 0) {
> - $logfunc->("delete stale replication snapshot '$snap' on $volid");
> - eval {
> - PVE::Storage::volume_snapshot_delete($storecfg, $volid, $snap);
> - $cleaned_replicated_volumes->{$volid} = 1;
> - };
> -
> - # If deleting the snapshot fails, we can not be sure if it was due to an error or a timeout.
> - # The likelihood that the delete has worked out is high at a timeout.
> - # If it really fails, it will try to remove on the next run.
> - if (my $err = $@) {
> - # warn is for syslog/journal.
> - warn $err;
> -
> - # logfunc will written in replication log.
> - $logfunc->("delete stale replication snapshot error: $err");
> - }
> - # Last_sync=0 and a replication snapshot only occur, if the VM was stolen
> - } else {
> - $last_snapshots->{$volid}->{$snap} = $info->{$snap};
> + if ( # check if it's a stale replication snapshot
> + !(defined($snapname) && $snap eq $snapname) &&
> + !(defined($parent_snapname) && $snap eq $parent_snapname) &&
> + $snap =~ m/^\Q$prefix\E/ &&
> + $last_sync != 0 # last_sync is 0 if the VM was stolen
> + ) {
> + $logfunc->("delete stale replication snapshot '$snap' on $volid");
> + eval {
> + PVE::Storage::volume_snapshot_delete($storecfg, $volid, $snap);
> + $cleaned_replicated_volumes->{$volid} = 1;
> + };
> +
> + # If deleting the snapshot fails, we can not be sure if it was due to an error or a timeout.
> + # The likelihood that the delete has worked out is high at a timeout.
> + # If it really fails, it will try to remove on the next run.
> + if (my $err = $@) {
> + # warn is for syslog/journal.
> + warn $err;
> +
> + # logfunc will written in replication log.
> + $logfunc->("delete stale replication snapshot error: $err");
> }
> - # Other snapshots might need to serve as replication base after rollback
> } else {
> $last_snapshots->{$volid}->{$snap} = $info->{$snap};
> }
> --
> 2.30.2
>
>
>
> _______________________________________________
> pve-devel mailing list
> pve-devel at lists.proxmox.com
> https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel
>
>
>
More information about the pve-devel
mailing list