Re: ATA 4 KiB sector issues.

From: Denys Vlasenko
Date: Tue Mar 16 2010 - 10:38:42 EST


On Tuesday 16 March 2010 14:56, Tejun Heo wrote:
> Hello, James.
>
> On 03/16/2010 10:24 PM, James Bottomley wrote:
> > For msdos labels, it's embedded in the label ... for all other labels,
> > it's made up on the spot.
>
> Where in the label?

The "end of partition" is expected to be at the last head and sector.
Of course this heuristic fails if there are more than one primary
partition and they have differing last head and sector.

But on most "sanely" partitioned disks they are the same:

Disk /dev/sda: 255 heads, 63 sectors, 36481 cylinders

Nr AF Hd Sec Cyl Hd Sec Cyl Start Size ID
1 00 1 1 0 254 63 850 63 13671252 0b
2 80 0 1 851 254 63 1023 13671315 572395950 05
3 00 0 0 0 0 0 0 0 0 00
4 00 0 0 0 0 0 0 0 0 00
5 00 1 1 851 254 63 972 63 1959867 83
6 00 1 1 973 254 63 1023 63 31246362 83
7 00 254 63 1023 254 63 1023 63 195318207 83
8 00 254 63 1023 254 63 1023 63 343871262 83
^^^ ^^

Which suggests another idea how to align a partition:
since there is no requirement on the partition *start*,
we don't have to start at head1,sector1 or head0,sector1

In the example above, 1st partition might be modified to start
at head1,sector2, IOW, LBA 64, thus making it 32k aligned.

As long as partition *ends* adhere to the convention
of being exactly at last_head,last_sector, nothing should break.
--
vda
--
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/