Signed-off-by: Hannes Laimer <h.lai...@proxmox.com> --- FIXUP: sort was not needed and should not have been there
PVE/Jobs.pm | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/PVE/Jobs.pm b/PVE/Jobs.pm index ba3685ec..ea41523b 100644 --- a/PVE/Jobs.pm +++ b/PVE/Jobs.pm @@ -4,7 +4,7 @@ use strict; use warnings; use JSON; -use PVE::Cluster qw(cfs_read_file cfs_lock_file); +use PVE::Cluster qw(cfs_read_file cfs_lock_file cfs_write_file); use PVE::Jobs::Plugin; use PVE::Jobs::VZDump; use PVE::Tools; @@ -274,6 +274,22 @@ sub synchronize_job_states_with_config { die $@ if $@; } +sub remove_vmid_from_jobs { + my ($vmid) = @_; + + cfs_lock_file('jobs.cfg', undef, sub { + my $jobs_data = cfs_read_file('jobs.cfg'); + for my $id (keys %{$jobs_data->{ids}}) { + my $vmids = \$jobs_data->{ids}->{$id}->{vmid}; + next if !defined($$vmids); + + $$vmids = join(',', grep { $_ ne $vmid } PVE::Tools::split_list($$vmids)); + delete $jobs_data->{ids}->{$id} if $$vmids eq ''; + } + cfs_write_file('jobs.cfg', $jobs_data); + }); +} + sub setup_dirs { mkdir $state_dir; mkdir $lock_dir; -- 2.30.2 _______________________________________________ pve-devel mailing list pve-devel@lists.proxmox.com https://lists.proxmox.com/cgi-bin/mailman/listinfo/pve-devel