[RFC] Remove requirement of alignment to track from MBR scheme
Andriy Gapon
avg at FreeBSD.org
Tue May 24 09:23:03 UTC 2011
on 24/05/2011 12:04 Andrey V. Elsukov said the following:
> There are several operations which can/should be changed:
> 1. MBR detection. All users want keep their partitions accessible.
> But with r221788 it is now problematic. I can revert r221788, but for
> me it seems right and instead reverting MBR support should be changed:
> a) table->gpt_last should not be aligned to track boundary;
> b) table->gpt_first can be aligned to track for compatibility, but
> if there is already some partition starts from inside first
> track, table->gpt_first should be set to 1.
I think that we should completely ignore anything and everything CHS in our
_validations_ (should not even warn). Words/notions "track", "cylinder", "head"
should just disappear from source code. On other points - I agree with you.
> 2. MBR creating.
> a) table->gpt_last should not be aligned to track boundary;
> b) table->gpt_first can be aligned to track for compatibility.
>
> 3. Creating partitions. Users should choose alignment method, not the kernel.
> and they can do it:
> Align to 4k:
> # gpart add -t freebsd -a 4k -s 5g ada0
>
> Align according to disk geometry:
> # gpart add -t freebsd -g -s 5g ada0
>
> So, patch is here:
> http://people.freebsd.org/~ae/mbr_geometry.diff
>
> Examples:
>
> # gpart create -s mbr md0
> md0 created
> # gpart show md0
> => 63 4294967232 md0 MBR (5.5T)
> 63 4294967232 - free - (2T)
>
> # gpart add -t freebsd -s 10g -a 4k md0
> md0s1 added
> # gpart show md0
> => 63 4294967232 md0 MBR (5.5T)
> 63 1 - free - (512B)
> 64 20971520 1 freebsd (10G)
> 20971584 4273995711 - free - (2T)
>
> # gpart add -t freebsd -s 10g -g md0
> md0s2 added
> # gpart show md0
> => 63 4294967232 md0 MBR (5.5T)
> 63 1 - free - (512B)
> 64 20971520 1 freebsd (10G)
> 20971584 45 - free - (22k)
> 20971629 20971503 2 freebsd (10G)
> 41943132 4253024163 - free - (2T)
>
--
Andriy Gapon
More information about the freebsd-geom
mailing list