diff --git a/scstadmin/scstadmin.sysfs/scst-1.0.0/lib/SCST/SCST.pm b/scstadmin/scstadmin.sysfs/scst-1.0.0/lib/SCST/SCST.pm index 63471d0ed..2e995b107 100644 --- a/scstadmin/scstadmin.sysfs/scst-1.0.0/lib/SCST/SCST.pm +++ b/scstadmin/scstadmin.sysfs/scst-1.0.0/lib/SCST/SCST.pm @@ -359,7 +359,11 @@ sub readOnly { my ($path) = @_; my $mode = (stat($path))[2]; - return ($mode & S_IWUSR) != 0; + if (!defined($mode)) { + cluck("invalid path $path"); + return undef; + } + return ($mode & S_IWUSR) == 0; } sub scstVersion { diff --git a/scstadmin/scstadmin.sysfs/scst-1.0.0/t/02-scst-attr.t b/scstadmin/scstadmin.sysfs/scst-1.0.0/t/02-scst-attr.t index 0bd7c9801..372c70e87 100644 --- a/scstadmin/scstadmin.sysfs/scst-1.0.0/t/02-scst-attr.t +++ b/scstadmin/scstadmin.sysfs/scst-1.0.0/t/02-scst-attr.t @@ -30,7 +30,7 @@ ok($SCST->setScstAttribute('no-such-attribute', '1'), $SCST->SCST_C_BAD_ATTRIBUTES); ok($SCST->setScstAttribute('last_sysfs_mgmt_res', '1'), - $SCST->SCST_C_SETATTR_FAIL); + $SCST->SCST_C_ATTRIBUTE_STATIC); my $threads = getScstThreadCount($SCST); ok(ref(\$threads), "SCALAR");