- Forgot initiators within target groups. ALUA should be complete now.

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@3766 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Mark Buechler
2011-07-26 17:03:15 +00:00
parent 31a3b9b5b3
commit c69d248484

View File

@@ -2242,6 +2242,19 @@ sub applyConfigDeviceGroups {
} else {
print "\t-> Target Group '$dgroup/$tgroup' is not in configuration. Use -force to remove.\n";
}
} else {
my $inits = $$dgroups{$dgroup}->{'tgroups'}->{$tgroup}->{'inits'};
foreach my $init (@{$inits}) {
if (!defined($$config{'DEVICE_GROUP'}->{$dgroup}->{'TARGET_GROUP'}->{$tgroup}->{'INITIATOR'}->{$init})) {
if ($deletions) {
removeTargetGroupInitiator($dgroup, $tgroup, $init);
$changes++;
} else {
print "\t-> Initiator '$dgroup/$tgroup/$init' is not in configuration. Use -force to remove.\n";
}
}
}
}
}
}
@@ -2272,6 +2285,26 @@ sub applyConfigDeviceGroups {
$changes++;
}
my $inits = $$tgroups{$tgroup}->{'INITIATOR'};
foreach my $init (keys %{$inits}) {
if (!groupHasInitiator($CURRENT{'dgroups'}->{$dgroup}->{'tgroups'}->{$tgroup}->{'inits'}, $init)) {
addTargetGroupInitiator($dgroup, $tgroup, $init);
$changes++;
}
my %_attributes;
foreach my $item (keys %{$$inits{$init}}) {
$_attributes{$item} = $$inits{$init}->{$item};
}
my $attributes = configToAttr(\%_attributes);
if (scalar keys %{$attributes}) {
$changes += setTargetGroupInitiatorAttributes($dgroup, $tgroup, $init, $attributes);
}
}
my %_attributes;
foreach my $item (keys %{$$tgroups{$tgroup}}) {
next if ($item eq 'INITIATOR');