svn commit: r322318 - in head: share/man/man4 sys/conf sys/geom

Bruce Evans brde at optusnet.com.au
Thu Aug 10 08:22:08 UTC 2017


On Wed, 9 Aug 2017, Warner Losh wrote:

> Log:
>  Mark geom classes as deprecated.
>
>  geom_bsd, geom_mbr and geom_sunlabel have been obsolete since Marcel
>  Moolenaar's geom_part was in FreeBSD 7. They haven't been in GENERIC
>  since FreeBSD 8. Add warning when used.
>
>  geom_vol_ffs has been obsolete since ufs support to geom_label was
>  committed in FreeBSD 5. It hasn't been in GENERIC since FreeBSD 5.
>  Add warning when used.
>
>  geom_fox has been obsolete since gmultipath was committed in FreeBSD 7.
>  (no warning added, since this is a very obscure class).
>
>  These will all be removed in FreeBSD 12.

geom_bsd (and possibly geom_mbr) can't be remove because they provide more
features than geom_part*.

The only loss that I noticed is for nested partitions on a backup drive:

GEOM_BSD + GEOM_MBR gives:

da1		da1s4aa		da1s4be		da1s4cs3d	da1s4e
da1s1		da1s4ac		da1s4c		da1s4cs4	da1s4f
da1s1a		da1s4ad		da1s4cs1	da1s4cs4a	da1s4g
da1s1c		da1s4b		da1s4cs2	da1s4cs4c
da1s3		da1s4ba		da1s4cs3	da1s4cs4d
da1s4		da1s4bc		da1s4cs3a	da1s4cs4e
da1s4a		da1s4bd		da1s4cs3c	da1s4d

Here da1s4 = da1s4c contains an image backup of a whole drive modified
to hold a BSD label in the second sector.  The first sector contains
a copy of the MBR of the original drive, with offsets adjusted.  This
works right nested, but can only point to 4 slices.  The BSD label
points to these 4 and has 2 extras (for damaged and/or recovery areas).

The nested MBR gives slices da1s4cs[1-4].  da1s4cs[3-4] are BSD slices
containing nested labels.  These give the nested partitions
da1s4cs[3-4][a-h].

The BSD label in da1s4 gives aliases for da1s4cs[1-4].  2 of these
are for BSD slices (da1s4a == da1s4cs3 and da1s4b == da1s4cs4).  Nested
labels in these give the nested alasias da1s4[a-b][a-h].

GEOM_PART_BSD + GEOM_PART_EBR + GEM_PART_EBR_COMPAT + GEOM_PART_MBR only
gives:

da1	da1s1a	da1s4	da1s4b	da1s4e	da1s4g
da1s1	da1s3	da1s4a	da1s4d	da1s4f

It doesn't give any nesting.  It doesn't create 'c' devices for this or
any other drive.

Nesting and aliases give large complications, and I don't like even the
2-level MBR+label nesting that I normally use, but the above is what
turned up naturally and it is too hard to untangle it.

Bruce


More information about the svn-src-head mailing list