[pve-devel] [PATCH] pvesm list fix
Alen Grizonic
a.grizonic at proxmox.com
Mon Sep 28 10:16:33 CEST 2015
---
PVE/API2/Storage/Content.pm | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/PVE/API2/Storage/Content.pm b/PVE/API2/Storage/Content.pm
index a7e9fe3..63dc0a4 100644
--- a/PVE/API2/Storage/Content.pm
+++ b/PVE/API2/Storage/Content.pm
@@ -67,6 +67,8 @@ __PACKAGE__->register_method ({
my $storeid = $param->{storage};
+ my $vmid = $param->{vmid};
+
my $cfg = cfs_read_file("storage.cfg");
my $scfg = PVE::Storage::storage_config($cfg, $storeid);
@@ -74,14 +76,19 @@ __PACKAGE__->register_method ({
my $res = [];
foreach my $ct (@$cts) {
my $data;
- if ($ct eq 'images' || defined($param->{vmid})) {
+ if ($ct eq 'images') {
$data = PVE::Storage::vdisk_list ($cfg, $storeid, $param->{vmid});
- } elsif ($ct eq 'iso') {
+ } elsif ($ct eq 'iso' && !defined($param->{vmid})) {
$data = PVE::Storage::template_list ($cfg, $storeid, 'iso');
- } elsif ($ct eq 'vztmpl') {
+ } elsif ($ct eq 'vztmpl'&& !defined($param->{vmid})) {
$data = PVE::Storage::template_list ($cfg, $storeid, 'vztmpl');
} elsif ($ct eq 'backup') {
$data = PVE::Storage::template_list ($cfg, $storeid, 'backup');
+ foreach my $item (@{$data->{$storeid}}) {
+ if (defined($vmid)) {
+ @{$data->{$storeid}} = grep { $_->{volid} =~ m/\S+-$vmid-\S+/ } @{$data->{$storeid}};
+ }
+ }
}
next if !$data || !$data->{$storeid};
--
2.1.4
More information about the pve-devel
mailing list