X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=PVE%2FStorage%2FPBSPlugin.pm;h=4320974b6b9c03c6ce4b722fb6b7d06550c7f359;hb=0bcfafa471d8fd91f3bca9ce82bdb52a0e0f16eb;hp=633c399ca1dcb79a7156ea8274d545c45b4b06dd;hpb=e6d77281713f8ccd140b53e8ece5ed2dec0b6a6c;p=pve-storage.git diff --git a/PVE/Storage/PBSPlugin.pm b/PVE/Storage/PBSPlugin.pm index 633c399..4320974 100644 --- a/PVE/Storage/PBSPlugin.pm +++ b/PVE/Storage/PBSPlugin.pm @@ -403,19 +403,25 @@ sub prune_backups { $logfunc //= sub { print "$_[1]\n" }; - my $backups = eval { $class->list_volumes($storeid, $scfg, $vmid, ['backup']) }; - die "failed to get list of all backups to prune - $@" if $@; - $type = 'vm' if defined($type) && $type eq 'qemu'; $type = 'ct' if defined($type) && $type eq 'lxc'; my $backup_groups = {}; - foreach my $backup (@{$backups}) { - (my $backup_type = $backup->{format}) =~ s/^pbs-//; - next if defined($type) && $backup_type ne $type; - my $backup_group = "$backup_type/$backup->{vmid}"; - $backup_groups->{$backup_group} = 1; + if (defined($vmid) && defined($type)) { + # no need to get the list of volumes, we only got a single backup group anyway + $backup_groups->{"$type/$vmid"} = 1; + } else { + my $backups = eval { $class->list_volumes($storeid, $scfg, $vmid, ['backup']) }; + die "failed to get list of all backups to prune - $@" if $@; + + foreach my $backup (@{$backups}) { + (my $backup_type = $backup->{format}) =~ s/^pbs-//; + next if defined($type) && $backup_type ne $type; + + my $backup_group = "$backup_type/$backup->{vmid}"; + $backup_groups->{$backup_group} = 1; + } } my @param;