Re: How does libata handles an 'ATA_ABORTED' error?
From: Robert Hancock <hidden>
Date: 2011-12-17 02:41:09
On Thu, Dec 15, 2011 at 10:26 PM, Mark Lord [off-list ref] wrote:
On 11-12-15 01:38 PM, Robert Hancock wrote:quoted
On Thu, Dec 15, 2011 at 5:01 AM, Juergen Beisert [off-list ref] wrote:..quoted
quoted
As far as I understand the problem of this kind of errors is for the multi sector write case. The framework does not know what sectors fails, so the question is: does it repeat the whole multi sector sequence or what else it does?The entire request should get retried.I'm not so sure that is correct. The Linux IDE stack will not retry the completed sectors (those which were successfully transfered in multiple-sector blocks). Not sure what libata does here.
I don't know of any logic in libata that tries to do selective retries. In many cases we wouldn't know where in the request it failed in any case. There's no real reason to do this anyway as redoing a bit of I/O after a device error shouldn't be a big deal.