Skip to contentSkip to conversation

IDE from current bk tree, UDMA and two channels...

DISCUSSION Petr Vandrovec 2 participants 2 messages Aug 1, 2002

lore
Share & tools
lore
#0 lore raw
Quoted 13 lines · Alexander Viro
Quoted 11 lines · Petr Vandrovec
Quoted 10 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_size is set to half-Kb
d) old code worked since it rounded size to multiple of kilobyte.

Correct?

Quoted 7 lines
Quoted 1 line

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?

Normal DOS partition, with 512 byte block size, as this is 512B block device, at least I believed to it until now. As start=63, it apparently also handles 1024B requests on odd address (I believe that sfdisk -d dumps start 0-based).

# partition table of /dev/hdc
unit: sectors

/dev/hdc1 : start= 63, size=12685617, Id=83, bootable

/dev/hdc2 : start=        0, size=       0, Id= 0
/dev/hdc3 : start=        0, size=       0, Id= 0
/dev/hdc4 : start=        0, size=       0, Id= 0

Petr Vandrovec

#1 lore raw
Quoted 9 lines · Petr Vandrovec

Normal DOS partition, with 512 byte block size, as this is 512B block device, at least I believed to it until now. As start=63, it apparently also handles 1024B requests on odd address (I believe that sfdisk -d dumps start 0-based).

# partition table of /dev/hdc
unit: sectors

/dev/hdc1 : start= 63, size=12685617, Id=83, bootable

Blacklist time. That, or decrementing size to 12675616, depending on whether you want that last half-Kb or not.