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);
 }
_______________________________________________
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