Bug 98121

Summary: When SCSI bus hangs SES driver indefinitely block any process accessing LED status for devices
Product: IO/Storage Reporter: George Shuklin (george.shuklin)
Component: OtherAssignee: io_other
Status: NEW ---    
Severity: normal CC: szg00000, witallwang
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.13.0-40-generic Subsystem:
Regression: No Bisected commit-id:

Description George Shuklin 2015-05-12 09:05:56 UTC
I think this problem is present in all kernel versions but for now I report about 3.13, because I can't recheck it on newer version (SCSI bus hangs are not easily reproducible).

Configuration:

SCSI (mpt2sas, 16.100.00.00) with few enclosures with SATA disks. 

Situation:
One of enclosures is hung and do not reply to any requests (including reset). All sg_* command to any device behind hanged enclosure, including enclosure itself, are stuck in the 'D' state.

Problem:
Access to sysfs place processes in 'D' state:

cat /sys/class/enclosure/5\:0\:46\:0/Slot\ 01/locate

root       588  0.0  0.0   7152   612 pts/6    D+   08:40   0:00 cat /sys/class/enclosure/5:0:46:0/Slot 01/locate

Proposed solution: Add timeout to ses devices independent of HBA driver.

Rationale: Accessing to sysfs do not expect to be 'real IO' with chances to hung in 'D' forever.