From 1daaf2ea3fa5e3033d91d7b3d96963abc053855f Mon Sep 17 00:00:00 2001 From: Christian Ebner Date: Mon, 1 Jul 2019 15:43:48 +0200 Subject: [PATCH] implement remove_vmid_jobs for ReplicationConfig Allows to remove replication jobs from the config based on the vmid. Preparations for #1291 fix Signed-off-by: Christian Ebner --- PVE/ReplicationConfig.pm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/PVE/ReplicationConfig.pm b/PVE/ReplicationConfig.pm index d597799..e58597e 100644 --- a/PVE/ReplicationConfig.pm +++ b/PVE/ReplicationConfig.pm @@ -258,6 +258,20 @@ sub delete_job { lock($code); } +sub remove_vmid_jobs { + my ($vmid) = @_; + + my $code = sub { + my $cfg = __PACKAGE__->new(); + foreach my $id (keys %{$cfg->{ids}}) { + delete $cfg->{ids}->{$id} if ($cfg->{ids}->{$id}->{guest} == $vmid); + } + $cfg->write(); + }; + + lock($code); +} + sub swap_source_target_nolock { my ($jobid) = @_;