[2499] in linux-scsi channel archive

home help back first fref pref prev next nref lref last post

Timeout for aborting a SCSI command is too short.

daemon@ATHENA.MIT.EDU (Gerard Roudier)
Sat Sep 20 04:53:18 1997

Date: 	Sat, 20 Sep 1997 10:49:38 +0200 (MET DST)
From: Gerard Roudier <groudier@club-internet.fr>
To: "Leonard N. Zubkoff" <lnz@dandelion.com>
cc: linux-scsi@vger.rutgers.edu


Leonard,

It seems that the middle scsi driver only allows 2 seconds to low-level 
drivers to abort a command.
When the device has disconnected the bus for a nexus, it is sane
to inform the device that this nexus is canceled prior to completing 
the command.
No behaving so required not to send a new command to the device in
order to avoid overlapped command condition (especially when tags are 
not used).

Why did the middle scsi driver forces the timeout to be so short (2s) ?
(Did I miss something?)

A simple strategy for a disconnected command to be properly canceled is 
to wait the relection, then to send it an ABORT (or ABORT TAG message if 
the command is tagged) and then to complete with error the corresponding
SCSI command.

A 2 seconds time-out for this to be done is not enough for devices like 
tapes that may reconnect a long time after having disconnected for a
nexus.

I suggest the abort timeout value to be the same as the corresponding
command time-out value or something deduced from (for example half the 
command time-out value).


Regards, Gerard.


home help back first fref pref prev next nref lref last post