Hi,
asking on the linux-raid list about implementing timeouts in mdraid,
Neil Brown answered with a quite definitive "no" and said the next lower
level should take care of timeouts. So here I am :-)
SCSI timeouts currently reset device, then bus, then host adapter. I
currently experience bus and / or host adapter resets as several minutes
of zero I/O on HW RAID cards. Can't speak for simple HBAs, but HW RAID
cards seem to search for logical volumes on all attached disks or
something and take ages to "reset" even in JBOD mode.
In other words, a bad sector may escalate to unnecessary long
unavailability of a whole array of disks, despite mdraid in place. Yes,
drives with TLER / SCTERC management should not spend much time on bad
sectors, but not every drive supports that and a *failing* drive with
crashed firmware won't be cooperative anyways.
So is there any way to influence this behaviour? I think the mdraid
layer could profit alot from stopping retries at the device level.
mdraid can simply fail the device and keep working. Neil mentioned
"FAILFAST" flags that can be added to requests issued by mdraid, but
reading a few patches I suspect these are meant for multipath only
(there's zero documentation on FAILFAST?).
What I'd wish for was a tunable that goes along with
/sys/bus/scsi/devices/.../timeout to limit escalation to a specific
level and / or some way for mdraid to flag requests.
Greetings,
Pierre Beck
--
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html