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

Re: libata error handling

From: Luben Tuikov <hidden>
Date: 2005-08-19 21:02:36
Also in: linux-scsi, lkml

On 08/19/05 16:29, Mike Anderson wrote:
Luben Tuikov [off-list ref] wrote:
quoted
Consider this: When SCSI Core told you that the command timed out,
A) it has already finished,
B) it hasn't already finished.

In case A, you can return EH_HANDLED.  In case B, you return
EH_NOT_HANDLED, and deal with it in the eh_strategy_handler.
(Hint: you can still "finish" it from there.)

But dealing with it in the eh_strategy_handler means that you may be
stopping all IO on the host instance as the first lun returns
EH_NOT_HANDLED for LUN based canceling.
Hi Mike, how are you?

Yes, this is true.  See my email to Patrick.
 
I still think we can do better here for an LLDD that cannot execute a
cancel in interrupt context.
This is the key!

Think about this:
	You do not need to cancel a command to cancel a command. ;-)
 
Having a error handler that works is a plus, I would hope that
some factoring would happen over time from the eh_strategy_handler to
some transport (or other factor point) error handler. I would think from a
testing, support, and block level multipath predictability sharing code
would be a good goal.
Yes, definitely.  Hopefully I'll be posting code soon.

	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