Thread (22 messages) 22 messages, 7 authors, 2005-08-19

Re: libata error handling

From: Luben Tuikov <hidden>
Date: 2005-08-19 20:43:45
Also in: linux-scsi, lkml

On 08/19/05 16:11, Patrick Mansfield wrote:
On Fri, Aug 19, 2005 at 04:03:15PM -0400, Luben Tuikov wrote:
quoted
The eh_timed_out + eh_strategy_handler is actually pretty perfect,
and _complete_, for any application and purpose in recovering a

One other point: Another problems is that we quiesce all shost IO before
waking up the eh. 
Yes, this is true.
 
I was changing it to wakeup the eh even while other IO is outstanding, so
the eh can wakeup and cancel individual commands while other IO is still
using the HBA.
Hmm, if you want to do this, then SCSI Core needs to know about:
	- Domain,
	- Domain device and
	- LU.

The reason, is that you do not know why a task timed out.
Is it the LU, is it the device, is it the domain?

(Those are concepts talked about in SAM.)

Since currently, SCSI Core has no clue about those concepts,
the current infrastructure, stalling IO to the host on eh,
satisfies.
So, for EH_NOT_HANDLED, do you add the scmd to a LLDD list in your
eh_timed_out, then wait for the eh to run?
No, no Patrick, I don't.  The SCSI Core does this for me, and then
calls my eh_strategy routine and all the commands are on the list.
Or maybe your host can_queue is 1 :)
No, it is actually pretty huge for a controller, and have to 
more than halve it and give that to SCSI Core.
 
I don't see it ... hence my question above.
Hmm, let me know if I'm missing something out.

	Luben
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help