From: Dietmar Maurer Date: Tue, 27 Jun 2017 06:13:36 +0000 (+0200) Subject: PVE::ReplicationState::write_job_state - allow to remove state completely X-Git-Url: https://git.proxmox.com/?p=pve-guest-common.git;a=commitdiff_plain;h=2c508173eab538479b6ab702be294dd22122d460 PVE::ReplicationState::write_job_state - allow to remove state completely --- 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)); };