Erik,
I agree with this very much. Actually I have been toying around with
this idea
quite some time. My thoughts where to build a sysctl tree for all scsi
commands
with their default values and another level of sysctl timeout nodes
where the
vendor and device name or driver name is part of the hierarchy to
override timeouts
for some commands. Solaris has, I believe some of those knobs.
So far I didn't manage to invest the time for a complete implementation.
But maybe, as we currently are only suffering with changers, it would be
sufficient
to add a single timeout knob for the changers. Like
dev.ch0.scsi_timeout=300 (s)
How about that?
Frank
On 08/10/13 00:14, Erik Fair wrote:
On Aug 9, 2013, at 12:58 , Frank Kardel <[email protected]> wrote:
Module Name: src
Committed By: kardel
Date: Fri Aug 9 19:58:44 UTC 2013
Modified Files:
src/sys/dev/scsipi: ch.c
Log Message:
bump command timeout to 5 minutes. several
types of changers (Overland PowerLoader, Dell
PowerVault) have been exceeding the 100 sec
limit aborting a perfectly (slowly) progressing
operation.
Upon further reflection, I believe that this timeout value should be a
device-specific tunable parameter because there is such wide variation in
changer behavior/performance; perhaps by kernel config, or by sysctl(8) on a
per-device-node basis. Or some other mechanism you prefer.
I believe that baking it into the kernel as a constant is not good design
because we'll just see another commit just like this one at some later date,
continuing to patch around the design problem.
Erik <[email protected]>