Re: ATA 4 KiB sector issues.

From: Tejun Heo
Date: Tue Mar 16 2010 - 11:18:26 EST


On 03/17/2010 12:02 AM, James Bottomley wrote:
> On Tue, 2010-03-16 at 23:50 +0900, Tejun Heo wrote:
>> e.g. If the first partition begins at CHS 0/32/33 and ends at
>> 12/233/19 and the corresponding LBA addresses are 2048 and 206848, you
>> can solve the equation and determine that the parameters gotta be 63
>> secs/trk and 255 heads/cyl to make those two pairs of addresses match
>> each other and in fact some BIOSs try to do this depending on
>> configuration (and sometimes falls into infinite loop or causes other
>> boot related problems if the parameters are too uncommon).
>
> for an msdos label, this is illegal, that was Arnd's point. The
> partitions have to begin and end on cylinder boundaries*. Knowing that,
> you can deduce the geometry from the last sector entry.
>
> * at least if you want to preserve windows compatibility, which is what
> most of our partitioning tools seem to do.

Well, the thing is that

* Anything remotely modern (>= XP) doesn't give a hoot about cylinder
alignment.

* Anything older (<= 2000) is very likely to get confused with custom
geometry starting from the BIOS itself. For those cases, the only
thing we can do is aligning partitions to cylinders abiding BIOS
supplied geometry parameters which will usually be 255/63.

So, using custom geometry doesn't help compatibility at all.

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/