5
0
mirror of git://git.proxmox.com/git/pve-zsync.git synced 2025-03-11 20:58:42 +03:00

check for correct incremental sync snapshot on destination

For an incremental sync you need the last_snap on both sides. The
call to the zfs list contains the snapshot. If the snapshot does not
exist, the command is returned with an error that we are catching.

Signed-off-by: Wolfgang Link <w.link@proxmox.com>
Reviewed-By: Fabian Ebner <f.ebner@proxmox.com>
Tested-By: Fabian Ebner <f.ebner@proxmox.com>
This commit is contained in:
Wolfgang Link 2020-03-18 07:51:12 +01:00 committed by Thomas Lamprecht
parent fd8052006b
commit 3423ce79c6

View File

@ -933,6 +933,7 @@ sub snapshot_destroy {
}
}
# check if snapshot for incremental sync exist on dest side
sub snapshot_exist {
my ($source , $dest, $method, $dest_user) = @_;
@ -942,22 +943,16 @@ sub snapshot_exist {
my $path = $dest->{all};
$path .= "/$source->{last_part}" if $source->{last_part};
$path .= "\@$source->{old_snap}";
$path .= "\@$source->{last_snap}";
push @$cmd, $path;
my $text = "";
eval {$text =run_cmd($cmd);};
eval {run_cmd($cmd)};
if (my $erro =$@) {
warn "WARN: $erro";
return undef;
}
while ($text && $text =~ s/^(.*?)(\n|$)//) {
my $line =$1;
return 1 if $line =~ m/^.*$source->{old_snap}$/;
}
return 1;
}
sub send_image {