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:
parent
fd8052006b
commit
3423ce79c6
13
pve-zsync
13
pve-zsync
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user