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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to