Re: ATA 4 KiB sector issues.

From: Tejun Heo
Date: Tue Mar 16 2010 - 11:45:20 EST


Hello,

On 03/17/2010 12:25 AM, Denys Vlasenko wrote:
>> C/H/S of 1023/254/63 is a special marker indicating the value there is
>> out-of-range.
>
> You misunderstood my ^^^ markers. I was trying to highlight
> the whole columns of "end head" and "end sector", not the
> last partition's 1023/254/63 values.
>
> In the partition table like shown above it is obvious
> that geometry is 255/63.

Oh, if you have at least one partition contained under the CHS limit,
you can definitely determine the parameters. You need to know two
params and there are two equations. You don't even have to consider
the alignment.

>> We don't have to align to cylinders either.
>
> If neither the start nor the end is aligned to cylinder's end
> and disk has just one partition and it's bigger than 8G,
> there is not way to determine geometry.
>
> If everybody adopts the convention of ending the partitions
> at the cylinder end, geometry can be trivially determined by
> looking at partition end values. Sans "no of cylinders" value,
> which can be easily determined by other means.

But this is irrelevant because we don't and can't control everybody.
Actually, nobody can. Codes dealing with partition tables have
already been out there for a very long time and there's no way to
retroactively make them agree on anything. The only reason why we
care about CHS values at all is backward compatibility. Going
forward, we don't need them 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/