- $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");
+ 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} = 1;