- Don't attempt to read write-only attributes within sessions.

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@2240 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Mark Buechler
2010-09-24 15:30:16 +00:00
parent a2e1e877cf
commit 5b9c8b0399
2 changed files with 29 additions and 11 deletions
@@ -3301,18 +3301,36 @@ sub sessions {
$self->luns($driver, $target, $group);
}
} else {
my $io = new IO::File $pPath, O_RDONLY;
my $mode = (stat($pPath))[2];
if (-d $pPath) {
# Skip directories
} else {
if (!(($mode & S_IRUSR) >> 6)) {
$_sessions{$session}->{$attribute}->{'static'} = FALSE;
$_sessions{$session}->{$attribute}->{'value'} = undef;
} else {
my $is_static;
if (($mode & S_IWUSR) >> 6) {
$is_static = FALSE;
} else {
$is_static = TRUE;
}
if (!$io) {
$self->{'err_string'} = "sessions(): Unable to read ".
"session attribute '$attribute': $!";
return undef;
my $io = new IO::File $pPath, O_RDONLY;
if (!$io) {
$self->{'err_string'} = "sessions(): Unable to read ".
"session attribute '$attribute': $!";
return undef;
}
my $value = <$io>;
chomp $value;
$_sessions{$session}->{$attribute}->{'value'} = $value;
$_sessions{$session}->{$attribute}->{'static'} = $is_static;
}
}
my $value = <$io>;
chomp $value;
$_sessions{$session}->{$attribute} = $value;
}
}
}
+1 -1
View File
@@ -2399,7 +2399,7 @@ sub listSessions {
$$sessions{$session}->{'luns'}->{$lun};
}
} else {
$attributes{$attr}->{'value'} = $$sessions{$session}->{$attr};
$attributes{$attr}->{'value'} = $$sessions{$session}->{$attr}->{'value'};
}
}