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
This commit is contained in:
Warner Losh 2017-08-09 16:15:24 +00:00
parent 2b2a6eb95e
commit 20995eab57
7 changed files with 57 additions and 11 deletions

View File

@ -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 ,

View File

@ -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

View File

@ -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.
#

View File

@ -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, int flags)
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);
}
/*

View File

@ -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, },
@ -316,6 +318,12 @@ g_mbr_taste(struct g_class *mp, struct g_provider *pp, int insist)
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);
}

View File

@ -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 *pp, int flags)
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);
}

View File

@ -48,6 +48,7 @@ FEATURE(geom_vol, "GEOM support for volume names from UFS superblock");
#define VOL_FFS_CLASS_NAME "VOL_FFS"
static int superblocks[] = SBLOCKSEARCH;
static int g_vol_ffs_once;
struct g_vol_ffs_softc {
char * vol;
@ -145,6 +146,12 @@ g_vol_ffs_taste(struct g_class *mp, struct g_provider *pp, int flags)
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);
}