[pve-devel] [PATCH V2 guest-common 6/6] Swap source and target in replication config, if VM was stolen.

Wolfgang Link w.link at proxmox.com
Tue Dec 19 15:53:43 CET 2017


---
 PVE/ReplicationState.pm | 12 ++++++++++--
 1 file changed, 10 insertions(+), 2 deletions(-)

diff --git a/PVE/ReplicationState.pm b/PVE/ReplicationState.pm
index 0851195..60e009b 100644
--- a/PVE/ReplicationState.pm
+++ b/PVE/ReplicationState.pm
@@ -254,8 +254,16 @@ sub job_status {
 
 	my $target = $jobcfg->{target};
 	if (!$jobcfg->{remove_job}) {
-	    # never sync to local node
-	    next if $target eq $local_node;
+	    # check if vm was stolen (swapped source target)
+	    if ($target eq $local_node) {
+		my $source = $jobcfg->{source};
+		if (defined($source) && $source ne $target) {
+		    $jobcfg = PVE::ReplicationConfig::swap_source_target($jobid);
+		} else {
+		    # never sync to local node
+		    next;
+		}
+	    }
 
 	    next if !$get_disabled && $jobcfg->{disable};
 	}
-- 
2.11.0





More information about the pve-devel mailing list