From 2c508173eab538479b6ab702be294dd22122d460 Mon Sep 17 00:00:00 2001 From: Dietmar Maurer Date: Tue, 27 Jun 2017 08:13:36 +0200 Subject: [PATCH] PVE::ReplicationState::write_job_state - allow to remove state completely --- PVE/ReplicationState.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/PVE/ReplicationState.pm b/PVE/ReplicationState.pm index 6a743a3..8e30e07 100644 --- a/PVE/ReplicationState.pm +++ b/PVE/ReplicationState.pm @@ -84,6 +84,7 @@ sub read_job_state { } # update state for a single job +# pass $state = undef to delete the job state completely sub write_job_state { my ($jobcfg, $state) = @_; @@ -96,8 +97,12 @@ sub write_job_state { my $stateobj = read_state(); # Note: tuple ($vmid, $tid) is unique - $stateobj->{$vmid}->{$tid} = $state; - + if (defined($state)) { + $stateobj->{$vmid}->{$tid} = $state; + } else { + delete $stateobj->{$vmid}->{$tid}; + delete $stateobj->{$vmid} if !%{$stateobj->{$vmid}}; + } PVE::Tools::file_set_contents($state_path, encode_json($stateobj)); }; -- 2.39.2