David Greaves wrote: .. > Thanks Mark - I've finally gotten this patch applied. > > With smartd disabled and no smart commands issued, a readonly badblocks > scan of /dev/sdb2 shows no problems and now gives: > Feb 25 10:38:31 haze kernel: ata2: status=0x51 { DriveReady SeekComplete > Error } > Feb 25 10:38:32 haze kernel: ata2: no sense translation for op=0x28 > status: 0x51 > Feb 25 10:38:32 haze kernel: ata2: status=0x51 { DriveReady SeekComplete > Error } > Feb 25 10:38:35 haze kernel: ata2: no sense translation for op=0x28 > status: 0x51 > hundreds of times. .. Mmmm.. okay, it's happening due to a SCSI READ_10 opcode, which means it isn't being triggered by any of the FUA stuff. But there's still no obvious reason for the error. The drive is basically just saying "command rejected", and libata-scsi is translating that into "medium error" for some unknown reason. Unfortunately, the design of the current libata is such that we no longer have access to the actual ATA opcode that was rejected. It gets overwritten by the returned drive status on completion. So.. I need to generate another patch for you now, to save/show the real ATA opcode that was used to cause the errors. My theory is that we'll discover that it is one that your drive legitimately is rejecting (unsupported LBA48 or something..). But we won't know until we see the output. Second patch is attached: apply *in addition* to the first one. Cheers