AACRAID based controllers have an underlying timeout/recovery cycle that is 35 seconds long.
The default in some SCSI subsystems was 60 seconds in the past, but is now standardized at 30 seconds which results in an interference pattern between the controller and the Linux SCSI subsystem.
The alternate workaround is for the user to adjust the timeout in SYSFS if it is shorter than 35 seconds.
Changing the timeout values for a Linux block device can be done via SYSFS. For example, if /dev/sdc , /dev/sdd and /dev/sde are the device LUNs on a given Linux host, then the following commands need to be issued:
echo 45 > /sys/block/sdc/device/timeout
echo 45 > /sys/block /sdd/device/timeout
echo 45 > /sys/block/sde/device/timeout
In this example the timeout is 45 seconds which should be enough.
Note: Any AACRAID based controller is going through an error correction cycle on the SAS/SATA bus that is delaying the completion of I/O beyond the Linux default timeout set for the device, this may be a hardware issue or a problem with the default timeout value as outlined above. If changing the timeout value doesn’t solve the problem then please follow the steps we recommend to trouble shoot “Host adapter reset request. SCSI hang ?” messages:
- Check for any updated firmware for the motherboard, controller, targets and enclosure on the respective manufacturer’s web sites.
- Check per-device queue depth in SYSFS to make sure it is reasonable.
- Engage disk drive manufacturer’s technical support department to check through compatibility or drive class issues.
- Engage enclosure manufacturer’s technical support department to check through compatibility issues.