Re: libata error handling

From: Luben Tuikov
Date: Fri Aug 19 2005 - 13:46:55 EST


On 08/18/05 23:49, Jeff Garzik wrote:
> 1) The fine-grained hooks of the SCSI layer are somewhat standard for
> block devices. The events they signify -- timeout, abort cmd, dev
> reset, bus reset, and host reset -- map precisely to the events that we
> must deal with at the ATA level.

"dev reset, bus reset" -- non existant, as I'm sure you're aware of,
depending on what _transport_ you use. ;-)

> 2) When libata SAT translation layer becomes optional, and libata drives
> a "true" block device,

Yes, this will be very cool! (when (S)ATA(PI) devices become true block
devices.

> use of ->eh_strategy_handler() will actually be
> an obstacle due to false sharing of code paths. ->eh_strategy_handler()

I fully agree.

> is indeed a single "do it all" EH entrypoint, but within that entrypoint
> you must perform several SCSI-specific tasks.
>
> 3) ->eh_strategy_handler() has continually proven to be a method of
> error handling poorly supported by the SCSI layer. There are many
> assumption coded into the SCSI layer that this is -not- the path taken
> by LLD EH code, and libata must constantly work around these assumptions.

I agree.

>
> 4) libata is the -only- user of ->eh_strategy_handler(), and oddballs

Not any more ;-)

Using the command time out hook and the strategy routine, gives _complete_
control over host recovery, and I really do mean _complete_.

Luben


> must be stomped out. It creates a maintenance burden on the SCSI layer
> that should be eliminated.
>
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at http://vger.kernel.org/majordomo-info.html
>

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/