Re: libata EH appears to be NFG up to 2.6.17 (at least).

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello, Mark Lord.

Mark Lord wrote:
[--snip--]
I dunno what the new EH does (yet), but the only good way to deal with this
is for the ATA status & error values to be read *and* saved on command completion,
and then reused by any later code that needs to do detailed sense reporting
or other diagnostics.

Yeap, this is exactly what new EH does. It stores TF in qc->result_tf on failure and EH/SCSI completion only uses the cached TF stored at the time of failure.

With NCQ/TCQ, this can be tough to achieve, possibly requiring the LLDD to drop to legacy mode on error, and capture the values there. Of course, by then it's too late to be perfect, as the host controller has probably already read
and discarded the drive status at least once.  (the PDC sata_qstor device
is an exception there -- they save/return failed status during queuing).

With NCQ, the true TF is retrieved via log page 10. EH retrieves it and stores it in qc->result_tf. The rest is the same.

With PMP, things get more interesting though.  :-(

--
tejun
-
: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux