Date: Thu, 10 Aug 2017 18:21:53 +1000 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Warner Losh <imp@freebsd.org> Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r322318 - in head: share/man/man4 sys/conf sys/geom Message-ID: <20170810165627.A1346@besplex.bde.org> In-Reply-To: <201708091615.v79GFPk9083482@repo.freebsd.org> References: <201708091615.v79GFPk9083482@repo.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20170810165627.A1346>