]> git.proxmox.com Git - pve-storage.git/commitdiff
harmonize list_images code
authorFabian Grünbichler <f.gruenbichler@proxmox.com>
Thu, 15 Sep 2016 11:17:46 +0000 (13:17 +0200)
committerDietmar Maurer <dietmar@proxmox.com>
Thu, 15 Sep 2016 11:54:47 +0000 (13:54 +0200)
PVE/Storage/RBDPlugin.pm
PVE/Storage/ZFSPoolPlugin.pm

index a965ade9b6a3f54df9dcff1e342fd595dfb0f2c8..de8751a471cc0eceb621854ab6e1e1732095539a 100644 (file)
@@ -498,19 +498,18 @@ sub list_images {
            my $owner = $info->{vmid};
 
            if ($parent && $parent =~ m/^(base-\d+-\S+)\@__base__$/) {
-               $volname = "$1/$volname";
+               $info->{volid} = "$storeid:$1/$volname";
+           } else {
+               $info->{volid} = "$storeid:$volname";
            }
 
-           my $volid = "$storeid:$volname";
-
            if ($vollist) {
-               my $found = grep { $_ eq $volid } @$vollist;
+               my $found = grep { $_ eq $info->{volid} } @$vollist;
                next if !$found;
            } else {
                next if defined ($vmid) && ($owner ne $vmid);
            }
 
-           $info->{volid} = $volid;
            $info->{format} = 'raw';
 
            push @$res, $info;
index 91101a27c0af098b93c563cedd438a09a18c4ddf..77ed72cfe9d51c0d33c5213112b2ae43b4820064 100644 (file)
@@ -248,27 +248,26 @@ sub list_images {
 
        foreach my $image (keys %$dat) {
 
-           my $volname = $dat->{$image}->{name};
-           my $parent = $dat->{$image}->{parent};
+           my $info = $dat->{$image};
 
-           my $volid = undef;
-            if ($parent && $parent =~ m/^(\S+)@(\S+)$/) {
+           my $volname = $info->{name};
+           my $parent = $info->{parent};
+           my $owner = $info->{vmid};
+
+           if ($parent && $parent =~ m/^(\S+)\@__base__$/) {
                my ($basename) = ($1);
-               $volid = "$storeid:$basename/$volname";
+               $info->{volid} = "$storeid:$basename/$volname";
            } else {
-               $volid = "$storeid:$volname";
+               $info->{volid} = "$storeid:$volname";
            }
 
-           my $owner = $dat->{$volname}->{vmid};
            if ($vollist) {
-               my $found = grep { $_ eq $volid } @$vollist;
+               my $found = grep { $_ eq $info->{volid} } @$vollist;
                next if !$found;
            } else {
                next if defined ($vmid) && ($owner ne $vmid);
            }
 
-           my $info = $dat->{$volname};
-           $info->{volid} = $volid;
            push @$res, $info;
        }
     }