Alan Cox wrote:
On Sul, 2006-02-26 at 15:36 -0500, Mark Lord wrote:
It still is unreliable, as being discussed in another thread.
libata wrongly says "medium error" any time it issues a command
that the drive rejects (unsupported, invalid parameters, etc..).
It seems to still get a single case wrong. But it does the report the
ATA state correctly still.
This is biting a few people in 2.6.16-rc*, due to the FUA stuff.
It is driven by a table in
libata-scsi.c:ata_to_sense_error()
so if you can figure out the wrong entry and tweak the table that would be great
It's the fall-through case, where the table is not used.
/* No error? Undecoded? */
printk(KERN_WARNING "ata%u: no sense translation for op=0x%02x status: 0x%02x\n",
id, opcode, drv_stat);
/* For our last chance pick, use medium read error because
* it's much more common than an ATA drive telling you a write
* has failed.
*/
*sk = MEDIUM_ERROR;
*asc = 0x11; /* "unrecovered read error" */
*ascq = 0x04; /* "auto-reallocation failed" */
Cheers
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]