Messages in this thread | | | Date | Fri, 19 Aug 2005 17:02:32 -0400 | From | Luben Tuikov <> | Subject | Re: libata error handling |
| |
On 08/19/05 16:29, Mike Anderson wrote: > Luben Tuikov <luben_tuikov@adaptec.com> wrote: >>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
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |