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

Warner Losh imp at FreeBSD.org
Wed Aug 9 16:15:26 UTC 2017


Author: imp
Date: Wed Aug  9 16:15:24 2017
New Revision: 322318
URL: https://svnweb.freebsd.org/changeset/base/322318

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.
  
  MFC After: 3 days
  Differential Revision: https://reviews.freebsd.org/D11935
  
  Note: Classes will be removed after MFC

Modified:
  head/share/man/man4/geom.4
  head/share/man/man4/geom_fox.4
  head/sys/conf/NOTES
  head/sys/geom/geom_bsd.c
  head/sys/geom/geom_mbr.c
  head/sys/geom/geom_sunlabel.c
  head/sys/geom/geom_vol_ffs.c

Modified: head/share/man/man4/geom.4
==============================================================================
--- head/share/man/man4/geom.4	Wed Aug  9 15:38:24 2017	(r322317)
+++ head/share/man/man4/geom.4	Wed Aug  9 16:15:24 2017	(r322318)
@@ -34,7 +34,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd April 20, 2017
+.Dd August 9, 2017
 .Dt GEOM 4
 .Os
 .Sh NAME
@@ -43,17 +43,14 @@
 .Sh SYNOPSIS
 .Cd options GEOM_AES
 .Cd options GEOM_BDE
-.Cd options GEOM_BSD
 .Cd options GEOM_CACHE
 .Cd options GEOM_CONCAT
 .Cd options GEOM_ELI
-.Cd options GEOM_FOX
 .Cd options GEOM_GATE
 .Cd options GEOM_JOURNAL
 .Cd options GEOM_LABEL
 .Cd options GEOM_LINUX_LVM
 .Cd options GEOM_MAP
-.Cd options GEOM_MBR
 .Cd options GEOM_MIRROR
 .Cd options GEOM_MOUNTVER
 .Cd options GEOM_MULTIPATH
@@ -71,10 +68,8 @@
 .Cd options GEOM_RAID3
 .Cd options GEOM_SHSEC
 .Cd options GEOM_STRIPE
-.Cd options GEOM_SUNLABEL
 .Cd options GEOM_UZIP
 .Cd options GEOM_VIRSTOR
-.Cd options GEOM_VOL
 .Cd options GEOM_ZERO
 .Sh DESCRIPTION
 The
@@ -449,6 +444,24 @@ This is unused at this time.
 .It 0x80 Pq Dv G_F_CTLDUMP
 Dump contents of gctl requests.
 .El
+.Sh OBSOLETE OPTIONS
+.Pp
+The following options have been deprecated and will be removed in
+.Fx 12 :
+.Cd GEOM_BSD ,
+.Cd GEOM_FOX ,
+.Cd GEOM_MBR ,
+.Cd GEOM_SUNLABEL ,
+and
+.Cd GEOM_VOL .
+.Pp
+Use
+.Cd GEOM_PART_BSD ,
+.Cd GEOM_MULTIPATH ,
+.Cd GEOM_PART_MBR ,
+.Cd GEOM_PART_VTOC8 ,
+.Cd GEOM_LABEL
+options, respectively, instead.
 .Sh SEE ALSO
 .Xr libgeom 3 ,
 .Xr DECLARE_GEOM_CLASS 9 ,

Modified: head/share/man/man4/geom_fox.4
==============================================================================
--- head/share/man/man4/geom_fox.4	Wed Aug  9 15:38:24 2017	(r322317)
+++ head/share/man/man4/geom_fox.4	Wed Aug  9 16:15:24 2017	(r322318)
@@ -51,6 +51,8 @@ This driver is obsolete.
 Users are advised to use
 .Xr gmultipath 8
 instead.
+This driver will be removed in
+.Fx 12 .
 .Ef
 .Pp
 The intent of the

Modified: head/sys/conf/NOTES
==============================================================================
--- head/sys/conf/NOTES	Wed Aug  9 15:38:24 2017	(r322317)
+++ head/sys/conf/NOTES	Wed Aug  9 16:15:24 2017	(r322318)
@@ -147,17 +147,17 @@ options 	BOOTHOWTO=RB_MULTIPLE
 
 options 	GEOM_AES		# Don't use, use GEOM_BDE
 options 	GEOM_BDE		# Disk encryption.
-options 	GEOM_BSD		# BSD disklabels
+options 	GEOM_BSD		# BSD disklabels (obsolete, gone in 12)
 options 	GEOM_CACHE		# Disk cache.
 options 	GEOM_CONCAT		# Disk concatenation.
 options 	GEOM_ELI		# Disk encryption.
-options 	GEOM_FOX		# Redundant path mitigation
+options 	GEOM_FOX		# Redundant path mitigation (obsolete, gone in 12)
 options 	GEOM_GATE		# Userland services.
 options 	GEOM_JOURNAL		# Journaling.
 options 	GEOM_LABEL		# Providers labelization.
 options 	GEOM_LINUX_LVM		# Linux LVM2 volumes
 options 	GEOM_MAP		# Map based partitioning
-options 	GEOM_MBR		# DOS/MBR partitioning
+options 	GEOM_MBR		# DOS/MBR partitioning (obsolete, gone in 12)
 options 	GEOM_MIRROR		# Disk mirroring.
 options 	GEOM_MULTIPATH		# Disk multipath
 options 	GEOM_NOP		# Test class.
@@ -174,11 +174,11 @@ options 	GEOM_RAID		# Soft RAID functionality.
 options 	GEOM_RAID3		# RAID3 functionality.
 options 	GEOM_SHSEC		# Shared secret.
 options 	GEOM_STRIPE		# Disk striping.
-options 	GEOM_SUNLABEL		# Sun/Solaris partitioning
+options 	GEOM_SUNLABEL		# Sun/Solaris partitioning (obsolete, gone in 12)
 options 	GEOM_UZIP		# Read-only compressed disks
 options 	GEOM_VINUM		# Vinum logical volume manager
 options 	GEOM_VIRSTOR		# Virtual storage.
-options 	GEOM_VOL		# Volume names from UFS superblock
+options 	GEOM_VOL		# Volume names from UFS superblock (obsolete, gone in 12)
 options 	GEOM_ZERO		# Performance testing helper.
 
 #

Modified: head/sys/geom/geom_bsd.c
==============================================================================
--- head/sys/geom/geom_bsd.c	Wed Aug  9 15:38:24 2017	(r322317)
+++ head/sys/geom/geom_bsd.c	Wed Aug  9 16:15:24 2017	(r322318)
@@ -72,6 +72,8 @@ FEATURE(geom_bsd, "GEOM BSD disklabels support");
 
 #define LABELSIZE (148 + 16 * MAXPARTITIONS)
 
+static int g_bsd_once;
+
 static void g_bsd_hotwrite(void *arg, int flag);
 /*
  * Our private data about one instance.  All the rest is handled by the
@@ -504,6 +506,12 @@ g_bsd_taste(struct g_class *mp, struct g_provider *pp,
 		g_slice_conf_hot(gp, 0, ms->labeloffset, LABELSIZE,
 		    G_SLICE_HOT_ALLOW, G_SLICE_HOT_DENY, G_SLICE_HOT_CALL);
 		gsp->hot = g_bsd_hotwrite;
+		if (!g_bsd_once) {
+			g_bsd_once = 1;
+			printf(
+			    "WARNING: geom_bsd (geom %s) is deprecated, "
+			    "use gpart instead.\n", gp->name);
+		}
 		return (gp);
 	}
 	/*

Modified: head/sys/geom/geom_mbr.c
==============================================================================
--- head/sys/geom/geom_mbr.c	Wed Aug  9 15:38:24 2017	(r322317)
+++ head/sys/geom/geom_mbr.c	Wed Aug  9 16:15:24 2017	(r322318)
@@ -57,6 +57,8 @@ FEATURE(geom_mbr, "GEOM DOS/MBR partitioning support")
 #define MBR_CLASS_NAME "MBR"
 #define MBREXT_CLASS_NAME "MBREXT"
 
+static int g_mbr_once = 0;
+
 static struct dos_partition historical_bogus_partition_table[NDOSPART] = {
         { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
         { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, },
@@ -315,6 +317,12 @@ g_mbr_taste(struct g_class *mp, struct g_provider *pp,
 	if (LIST_EMPTY(&gp->provider)) {
 		g_slice_spoiled(cp);
 		return (NULL);
+	}
+	if (!g_mbr_once) {
+		g_mbr_once = 1;
+		printf(
+		    "WARNING: geom_mbr (geom %s) is deprecated, "
+		    "use gpart instead.\n", gp->name);
 	}
 	return (gp);
 }

Modified: head/sys/geom/geom_sunlabel.c
==============================================================================
--- head/sys/geom/geom_sunlabel.c	Wed Aug  9 15:38:24 2017	(r322317)
+++ head/sys/geom/geom_sunlabel.c	Wed Aug  9 16:15:24 2017	(r322318)
@@ -65,6 +65,8 @@ struct g_sunlabel_softc {
 	u_char labelsum[16];
 };
 
+static int g_sunlabel_once = 0;
+
 static int
 g_sunlabel_modify(struct g_geom *gp, struct g_sunlabel_softc *ms, u_char *sec0)
 {
@@ -312,6 +314,12 @@ g_sunlabel_taste(struct g_class *mp, struct g_provider
 	g_slice_conf_hot(gp, 0, 0, SUN_SIZE,
 	    G_SLICE_HOT_ALLOW, G_SLICE_HOT_DENY, G_SLICE_HOT_CALL);
 	gsp->hot = g_sunlabel_hotwrite;
+	if (!g_sunlabel_once) {
+		g_sunlabel_once = 1;
+		printf(
+		    "WARNING: geom_sunlabel (geom %s) is deprecated, "
+		    "use gpart instead.\n", gp->name);
+	}
 	return (gp);
 }
 

Modified: head/sys/geom/geom_vol_ffs.c
==============================================================================
--- head/sys/geom/geom_vol_ffs.c	Wed Aug  9 15:38:24 2017	(r322317)
+++ head/sys/geom/geom_vol_ffs.c	Wed Aug  9 16:15:24 2017	(r322318)
@@ -48,6 +48,7 @@ FEATURE(geom_vol, "GEOM support for volume names from 
 #define VOL_FFS_CLASS_NAME "VOL_FFS"
 
 static int superblocks[] = SBLOCKSEARCH;
+static int g_vol_ffs_once;
 
 struct g_vol_ffs_softc {
 	char *	vol;
@@ -144,6 +145,12 @@ g_vol_ffs_taste(struct g_class *mp, struct g_provider 
 	if (LIST_EMPTY(&gp->provider)) {
 		g_slice_spoiled(cp);
 		return (NULL);
+	}
+	if (!g_vol_ffs_once) {
+		g_vol_ffs_once = 1;
+		printf(
+		    "WARNING: geom_vol_Ffs (geom %s) is deprecated, "
+		    "use glabel instead.\n", gp->name);
 	}
 	return (gp);
 }


More information about the svn-src-all mailing list