IDE from current bk tree, UDMA and two channels...
Quoted 17 lines · Alexander Viro
Quoted 4 lines · Marcin Dalecki
Quoted 4 lines
I'd like to apologize to Ingo, his changes were completely innocent. Problem was triggered by Al's 'block device size cleanups' (currently cset 1.403.160.5 on bkbits).
Quoted 8 lines
Quoted 8 lines
Before this change, my system was using 4KB block size when reading from
/dev/hdc1, because of blk_size[][] (which is in 1kB units) of this partition was multiple of 2, and soi_size% 4096 was 0. But after Al's change partition size is read from gendisk, and not fromblk_size, and gendisk partition size is in 512 bytes units: and, as you can probably guess, now my partition hadi_size% 4096 == 512, and so only 512 byte block size was choosen. And with 512 bytes block size my harddisk refuses to cooperate.Uh-oh...
Quoted 8 lines
Let me see if I got it straight:
a) your disk doesn't work with half-Kb requests
b) you have a partition with odd number of sectors
c)hardsect_sizeis set to half-Kb
d) old code worked since it rounded size to multiple of kilobyte.Correct?
Yes, exactly. Replacing disk is not an option...
Petr Vandrovec
Quoted 4 lines · Petr Vandrovec
Quoted 4 lines
Uh-oh...
Let me see if I got it straight:
Quoted 8 lines
Quoted 6 lines
a) your disk doesn't work with half-Kb requests
b) you have a partition with odd number of sectors
c)hardsect_sizeis set to half-Kb
d) old code worked since it rounded size to multiple of kilobyte.Correct?
Yes, exactly. Replacing disk is not an option...
OK. At the very least we need a way for driver to tell what the sector size is. And that can be a problem - AFAICS IDE shares the queue for master and slave and sector size is queue property.
BTW, what type of partition table do you have there?
Uz.ytkownik Alexander Viro napisa?:
Quoted 13 lines · Petr Vandrovec
Quoted 11 lines
Quoted 11 lines
Uh-oh...
Let me see if I got it straight:
a) your disk doesn't work with half-Kb requests
b) you have a partition with odd number of sectors
c)hardsect_sizeis set to half-Kb
d) old code worked since it rounded size to multiple of kilobyte.
Quoted 8 lines
Quoted 3 lines
Quoted 1 line
Correct?
Yes, exactly. Replacing disk is not an option...
OK. At the very least we need a way for driver to tell what the sector size is. And that can be a problem - AFAICS IDE shares the queue for master and slave and sector size is queue property.
Wrong. It is sharing the queue lock not the queue itself.