66ea6cc018
data ASC/ASCQ of 0x04/0x01 (logical unit not ready, initialization in progress), hang out for 5 seconds and return a RETRY THE OPERATION command. If we get a check condition/sense data ASC/ASCQ of 0x04/0x02 (logical unit not ready, initialization command required), send a polled/nosleep START UNIT command and return a RETRY THE OPERATION command if that succeeds. Don't send a START UNIT to a disk quirked as SDEV_NO_START. Don't send a START UNIT to removable media. The reason for the latter is to not just blindly spin up new (maybe changed) media. I should note that I've successfully made this work with the ISP host adapter so far. Other host adapters will need some work to be able to manage or reasonably fail NOSLEEP/POLL commands while in this state. Alternatively, the internal SCSI midlayer structure has got to allow for more controlled error recovery (e.g., restart queues controlled by the target driver). |
||
---|---|---|
bin | ||
distrib | ||
etc | ||
games | ||
gnu | ||
include | ||
lib | ||
libexec | ||
regress | ||
sbin | ||
share | ||
sys | ||
usr.bin | ||
usr.sbin | ||
Makefile |