IDE from current bk tree, UDMA and two channels...
Quoted 5 lines · Alexander Viro
Quoted 2 lines · Linus Torvalds
You probably saw this. Looks like blocksize has been buggered somehow. Apparently Petr has a 1kB blocksize optical device..
Just to correct you: it is normal magnetic disk with 512 byte sectors, from notebook. It works with 512B UDMA requests if we talk to the drive slowly, with pauses here and there. If we talk to it back-to-back, it dies. Apparently it forgets that it is doing UDMA transfers and tries to do normal PIO or MDMA or what - host terminates transfer in the middle, and disk is signaling that it has more data to go.
Quoted 7 lines
Looks like we need
a) accuratehardsect_sizefor these beasts (which is a problem
with current setup, since it's per-queue and not per-device; master and slave can have different hardsect sizes).
b) extra check incheck_partitions()that would verify that
partition doesn't end in the middle of a sector (and round it down if it does).
It will not help. Device is reporting 512B sectors, and it even supports them in PIO.
Petr Vandrovec [email protected]
Quoted 7 lines · Petr Vandrovec
Quoted 5 lines · Alexander Viro
Quoted 2 lines · Linus Torvalds
You probably saw this. Looks like blocksize has been buggered somehow. Apparently Petr has a 1kB blocksize optical device..
Quoted 6 lines
Just to correct you: it is normal magnetic disk with 512 byte sectors, from notebook. It works with 512B UDMA requests if we talk to the drive slowly, with pauses here and there. If we talk to it back-to-back, it dies. Apparently it forgets that it is doing UDMA transfers and tries to do normal PIO or MDMA or what - host terminates transfer in the middle, and disk is signaling that it has more data to go.
_Ouch_. Then I have to agree with Martin - it's a blacklist time. There's not much partition code could do with that - you really have a partition with a chunk that _can't_ be handled by 1Kb request.
Old code (pretty much by accident) hid it from you, so I'd suggest just decrementing partition size - it's not that you had anything in that last half-Kb. At least nothing that could be accessed by old kernels.
Quoted 5 lines · Petr Vandrovec
Just to correct you: it is normal magnetic disk with 512 byte sectors, from notebook. It works with 512B UDMA requests if we talk to the drive slowly, with pauses here and there. If we talk to it back-to-back, it dies.
Ugh.
You apparently use udma2 - can you try forcing it to udma0/1 or the other DMA modes? It may just be that the drive simply cannot take udma2 reliably.
Linus