]> git.proxmox.com Git - pve-manager.git/commitdiff
vzdump: included_guest: return empty hash if no guests selected
authorAaron Lauterer <a.lauterer@proxmox.com>
Thu, 9 Jul 2020 11:21:28 +0000 (13:21 +0200)
committerThomas Lamprecht <t.lamprecht@proxmox.com>
Thu, 9 Jul 2020 11:30:47 +0000 (13:30 +0200)
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 <a.lauterer@proxmox.com>
PVE/VZDump.pm

index 1f0eb2468ef551b7d38e4215433fb486ad1883e1..601cd56e64cd607091d1c2d4daea64008b68c27f 100644 (file)
@@ -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);