---
 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


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to