From: Aaron Lauterer Date: Thu, 9 Jul 2020 11:21:28 +0000 (+0200) Subject: vzdump: included_guest: return empty hash if no guests selected X-Git-Url: https://git.proxmox.com/?p=pve-manager.git;a=commitdiff_plain;h=da7cb515c080f0c74bf06259670daea47c39e79a vzdump: included_guest: return empty hash if no guests selected This will fix the behaviour when calling `vzdump --stop` to cause all local guests to be backed up. When refactoring this logic in commit df5875b4, the assumption was that every call will have one of the following parameters set: pool, list of VMIDs or all (intentional or when exclude is used). There is an addtional possibility, that vzdump is called with only --stop. Thus there are no other parameters that would indicate which VMIDs to include. In this case we want to return the empty hash. Signed-off-by: Aaron Lauterer --- diff --git a/PVE/VZDump.pm b/PVE/VZDump.pm index 1f0eb246..601cd56e 100644 --- a/PVE/VZDump.pm +++ b/PVE/VZDump.pm @@ -1170,7 +1170,7 @@ sub get_included_guests { $vmids = PVE::API2Tools::get_resource_pool_guest_members($job->{pool}); } elsif ($job->{vmid}) { $vmids = [ split_list($job->{vmid}) ]; - } else { + } elsif ($job->{all}) { # all or exclude my $exclude = check_vmids(split_list($job->{exclude})); my $excludehash = { map { $_ => 1 } @$exclude }; @@ -1179,6 +1179,8 @@ sub get_included_guests { next if $excludehash->{$id}; push @$vmids, $id; } + } else { + return $vmids_per_node; } $vmids = check_vmids(@$vmids);