* libata todo item: retry certain classes of errors
@ 2005-01-07 4:33 Jeff Garzik
2005-01-07 14:49 ` Alan Cox
0 siblings, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2005-01-07 4:33 UTC (permalink / raw)
To: linux-ide@vger.kernel.org
Cc: Alan Cox, Bartlomiej Zolnierkiewicz, Albert Lee, Andy Warner
libata error handling is still of the "stupid simple" variety. While
that makes it easy to verify, it also means that we don't always recover
from some situations.
Right now, libata simply returns an error back to the SCSI layer.
For DMA, PCI and SATA bus errors, we need to reset the hardware and
retry the command.
It's a fairly important project, for anyone ambitious. Error handling
must be improved before I implement queueing (and possibly hotplug).
Jeff
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata todo item: retry certain classes of errors
2005-01-07 4:33 libata todo item: retry certain classes of errors Jeff Garzik
@ 2005-01-07 14:49 ` Alan Cox
2005-02-02 1:50 ` Jeff Garzik
0 siblings, 1 reply; 6+ messages in thread
From: Alan Cox @ 2005-01-07 14:49 UTC (permalink / raw)
To: Jeff Garzik
Cc: linux-ide@vger.kernel.org, Bartlomiej Zolnierkiewicz, Albert Lee,
Andy Warner
On Gwe, 2005-01-07 at 04:33, Jeff Garzik wrote:
> libata error handling is still of the "stupid simple" variety. While
> that makes it easy to verify, it also means that we don't always recover
> from some situations.
>
> Right now, libata simply returns an error back to the SCSI layer.
I did actually arrange that all the SCSI errors it faked caused the
right retry behaviour at the SCSI level when I did that. Perhaps I
should have commented that fact.
> For DMA, PCI and SATA bus errors, we need to reset the hardware and
> retry the command.
And for PATA at least possibly also change mode and restore settings.
Alan
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata todo item: retry certain classes of errors
2005-01-07 14:49 ` Alan Cox
@ 2005-02-02 1:50 ` Jeff Garzik
2005-02-03 10:02 ` Alan Cox
0 siblings, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2005-02-02 1:50 UTC (permalink / raw)
To: Alan Cox
Cc: linux-ide@vger.kernel.org, Bartlomiej Zolnierkiewicz, Albert Lee,
Andy Warner
Alan Cox wrote:
> On Gwe, 2005-01-07 at 04:33, Jeff Garzik wrote:
>
>>libata error handling is still of the "stupid simple" variety. While
>>that makes it easy to verify, it also means that we don't always recover
>> from some situations.
>>
>>Right now, libata simply returns an error back to the SCSI layer.
>
>
> I did actually arrange that all the SCSI errors it faked caused the
> right retry behaviour at the SCSI level when I did that. Perhaps I
> should have commented that fact.
Well the retry needs to e.g. include a bus reset prior to retrying.
Jeff
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata todo item: retry certain classes of errors
2005-02-02 1:50 ` Jeff Garzik
@ 2005-02-03 10:02 ` Alan Cox
2005-02-03 17:24 ` Jeff Garzik
0 siblings, 1 reply; 6+ messages in thread
From: Alan Cox @ 2005-02-03 10:02 UTC (permalink / raw)
To: Jeff Garzik
Cc: linux-ide@vger.kernel.org, Bartlomiej Zolnierkiewicz, Albert Lee,
Andy Warner
On Mer, 2005-02-02 at 01:50, Jeff Garzik wrote:
> Alan Cox wrote:
> > I did actually arrange that all the SCSI errors it faked caused the
> > right retry behaviour at the SCSI level when I did that. Perhaps I
> > should have commented that fact.
>
> Well the retry needs to e.g. include a bus reset prior to retrying.
Thats possibly true for some situations. You might also want to avoid
issuing resets as much as you can because they are a rather good source
of "my drive
went away" error reports with the IDE layer (and they take forever).
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata todo item: retry certain classes of errors
2005-02-03 17:24 ` Jeff Garzik
@ 2005-02-03 17:16 ` Alan Cox
0 siblings, 0 replies; 6+ messages in thread
From: Alan Cox @ 2005-02-03 17:16 UTC (permalink / raw)
To: Jeff Garzik
Cc: linux-ide@vger.kernel.org, Bartlomiej Zolnierkiewicz, Albert Lee,
Andy Warner
On Iau, 2005-02-03 at 17:24, Jeff Garzik wrote:
> > went away" error reports with the IDE layer (and they take forever).
>
> libata does a reset at the beginning of the probe...
Thats fine but resets when the drive is error handling get "interesting"
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: libata todo item: retry certain classes of errors
2005-02-03 10:02 ` Alan Cox
@ 2005-02-03 17:24 ` Jeff Garzik
2005-02-03 17:16 ` Alan Cox
0 siblings, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2005-02-03 17:24 UTC (permalink / raw)
To: Alan Cox
Cc: linux-ide@vger.kernel.org, Bartlomiej Zolnierkiewicz, Albert Lee,
Andy Warner
Alan Cox wrote:
> On Mer, 2005-02-02 at 01:50, Jeff Garzik wrote:
>
>>Alan Cox wrote:
>>
>>>I did actually arrange that all the SCSI errors it faked caused the
>>>right retry behaviour at the SCSI level when I did that. Perhaps I
>>>should have commented that fact.
>>
>>Well the retry needs to e.g. include a bus reset prior to retrying.
>
>
> Thats possibly true for some situations. You might also want to avoid
> issuing resets as much as you can because they are a rather good source
> of "my drive
> went away" error reports with the IDE layer (and they take forever).
libata does a reset at the beginning of the probe...
Jeff
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2005-02-03 18:22 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-01-07 4:33 libata todo item: retry certain classes of errors Jeff Garzik
2005-01-07 14:49 ` Alan Cox
2005-02-02 1:50 ` Jeff Garzik
2005-02-03 10:02 ` Alan Cox
2005-02-03 17:24 ` Jeff Garzik
2005-02-03 17:16 ` Alan Cox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).