lkml.org 
[lkml]   [2014]   [Jul]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] libata-eh.c should handle AMNF error condition (error byte bit 0, usually code 0x01) in libata-eh.c along with UNC as a media error so SCSI stack can handle it properly (translation code 0x01 is already present in libata-scsi.c) but was never
On Tue, Jul 15, 2014 at 10:28:42AM +0400, Alexey Asemov wrote:
> While using linux-based machine (AMD 6550M-based notebook, PCI IDs for the
> controller are 1022:7801 subsys 1025:059d) and ddrescue to salvage data
> from failing hard drive (WD7500BPVT 2.5" 750G SATA2), I've found that pure
> AMNF 0x01 error code generates generic "device error" that is retried
> several times by SCSI stack instead of "media error" that is passed up to
> software.
>
> So we may assume deprecated AMNF error code is surely not dead yet, and
> it's better for it to be handled properly. As we may see it is used by
> modern enough devices, and used properly: drive returned AMNF only when IDs
> for track cannot be read completely due to dying head or positioning,
> otherwise it returned UNC(orrectables).
>
> Not handling it causes wrong generic error code ("device error") reporting
> down the stack, can damage failing drives further because of excessive
> retries, and slows salvaging down a lot. Also, there is handling code in
> libata-scsi.c for 0x01 AMNF error already.
>
> https://bugzilla.kernel.org/show_bug.cgi?id=80031
>
> Signed-off-by: Alexey Asemov <alex@alex-at.ru>

Applied to libata/for-3.16-fixes w/ shortened $SUBJ (moved to the
first paragraph).

Thanks.

--
tejun


\
 
 \ /
  Last update: 2014-07-15 18:21    [W:0.057 / U:0.864 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site