if (!$res->{running}) {
$res->{allowed_nodes} = [];
my $checked_nodes = PVE::QemuServer::check_local_storage_availability($vmconf, $storecfg);
+ delete $checked_nodes->{$localnode};
- delete $checked_nodes->{$localnode} if $checked_nodes->{$localnode};
foreach my $node (keys %$checked_nodes) {
- if (!defined $checked_nodes->{$node}->{not_available_storages}){
+ if (!defined $checked_nodes->{$node}->{unavailable_storages}) {
push @{$res->{allowed_nodes}}, $node;
- delete $checked_nodes->{$node};
}
}
if ($scfg->{disable}) {
foreach my $node (keys %$nodehash) {
- push @{$nodehash->{$node}->{not_available_storages}}, $storeid;
+ $nodehash->{$node}->{unavailable_storages}->{$storeid} = 1;
}
} elsif (my $avail = $scfg->{nodes}) {
foreach my $node (keys %$nodehash) {
if (!$avail->{$node}) {
- push @{$nodehash->{$node}->{not_available_storages}}, $storeid;
+ $nodehash->{$node}->{unavailable_storages}->{$storeid} = 1;
}
}
}
}
});
+ foreach my $node (values %$nodehash) {
+ if (my $unavail = $node->{unavailable_storages}) {
+ $node->{unavailable_storages} = [ sort keys %$unavail ];
+ }
+ }
+
return $nodehash
}