]> git.proxmox.com Git - pve-storage.git/commitdiff
Fix #1474: Fixes input and output of print_storage
authorPhilip Abernethy <p.abernethy@proxmox.com>
Thu, 10 Aug 2017 11:14:52 +0000 (13:14 +0200)
committerWolfgang Bumiller <w.bumiller@proxmox.com>
Thu, 10 Aug 2017 11:20:52 +0000 (13:20 +0200)
Accommodates changes in 44ae567 and d40e27d by
reordering checks to allow for proper filtering
of disabled storages. Also reorders two checks to
prevent autovivification resulting in disabled
storages always showing in output.

PVE/Storage.pm

index 5d0b2ba91212ee67e69519e804e4c98343f11bd3..9829fbdd4c8e25e2db0cda2be5fcfec4ff577a65 100755 (executable)
@@ -1011,6 +1011,7 @@ sub storage_info {
 
     my $slist = [];
     foreach my $storeid (keys %$ids) {
+       my $storage_enabled = storage_check_enabled($cfg, $storeid, undef, 1);
 
        if (defined($content)) {
            my $want_ctype = 0;
@@ -1020,7 +1021,7 @@ sub storage_info {
                    last;
                }
            }
-           next if !$want_ctype;
+           next if !$want_ctype || !defined($storage_enabled);
        }
 
        my $type = $ids->{$storeid}->{type};
@@ -1033,7 +1034,7 @@ sub storage_info {
            shared => $ids->{$storeid}->{shared} ? 1 : 0,
            content => PVE::Storage::Plugin::content_hash_to_string($ids->{$storeid}->{content}),
            active => 0,
-           enabled => defined(storage_check_enabled($cfg, $storeid, undef, 1)) ? 1 : 0,
+           enabled => defined($storage_enabled) ? 1 : 0,
        };
 
        push @$slist, $storeid;
@@ -1042,10 +1043,10 @@ sub storage_info {
     my $cache = {};
 
     foreach my $storeid (keys %$ids) {
-       next if !$info->{$storeid}->{enabled};
-
        my $scfg = $ids->{$storeid};
+
        next if !$info->{$storeid};
+       next if !$info->{$storeid}->{enabled};
 
        eval { activate_storage($cfg, $storeid, $cache); };
        if (my $err = $@) {