Fix #1474: Fixes input and output of print_storage

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.
This commit is contained in:
Philip Abernethy
2017-08-10 13:14:52 +02:00
committed by Wolfgang Bumiller
parent f25e0df9cd
commit b43b073b51

View File

@ -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 = $@) {