---
 PVE/ReplicationState.pm | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)

diff --git a/PVE/ReplicationState.pm b/PVE/ReplicationState.pm
index be5cf5f..086d62f 100644
--- a/PVE/ReplicationState.pm
+++ b/PVE/ReplicationState.pm
@@ -92,4 +92,23 @@ sub replication_snapshot_name {
     wantarray ? ($prefix, $snapname) : $snapname;
 }
 
+sub set_remote_state {
+    my ($state, $vmid) = @_;
+
+    my $update = sub {
+       my $stateobj = read_state();
+       $stateobj->{$vmid} = $state;
+       PVE::Tools::file_set_contents($state_path, encode_json($stateobj));
+    };
+
+    my $code = sub {
+       PVE::Tools::lock_file($state_lock, 10, $update);
+       die $@ if $@;
+    };
+
+    # make sure we have guest_migration_lock during update
+    PVE::GuestHelpers::guest_migration_lock($vmid, undef, $code);
+
+}
+
 1;
-- 
2.11.0


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to