Hello, Mattieu Fluhr.
Mathieu Fluhr wrote:
The problem is that, on SATA devices controlled by libata, on some big
files (like for example a 600 MB file) the READ command seems to fail
and outputs garbage (not 1 or 2 bytes diff, but the whole buffer).
-> This problem does not come out everytime, and each time on
different sectors.
Please note that:
- it is not chipset dependant (tested on nforce4 and sii3114)
- it is not medium or device dependant
Hmmm... Interesting. So, you're reading the media by directly issuing
commands through the sg interface, right? Can you please try the
followings?
* Try using /dev/srX or /dev/scdX device instead of /dev/sgX. You can
use the command SG_IO but the code path is different, so it will help us
rule out sg bug.
* Perform rounds of read-verify test using standard block interface (ie.
simply opening /dev/srX and reading it).
[--snip--]
- When I force the bus type to be IDE, our software will then send ATA
commands. In this case, everything works like a charm. No errors at all.
What do you mean by 'sending ATA commands'? libata exports all devices
as SCSI devices. For ATA devices, you can use ATA passthrough but you
send CDBs to ATAPI devices anyway.
Thanks.
--
tejun
-
To unsubscribe from this list: 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