Add some FEATURE macros for various GEOM classes.

No FreeBSD version bump, the userland application to query the features will
be committed last and can serve as an indication of the availablility if
needed.

Sponsored by:	Google Summer of Code 2010
Submitted by:	kibab
Reviewed by:	silence on geom@ during 2 weeks
X-MFC after:	to be determined in last commit with code from this project
This commit is contained in:
Alexander Leidinger 2011-02-25 10:24:35 +00:00
parent de5b19526b
commit cb08c2cc83
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=219029
28 changed files with 68 additions and 0 deletions

View File

@ -41,6 +41,7 @@
#include <sys/systm.h>
#include <sys/kernel.h>
#include <sys/kthread.h>
#include <sys/sysctl.h>
#include <crypto/rijndael/rijndael-api-fst.h>
#include <crypto/sha2/sha2.h>
@ -48,6 +49,8 @@
#include <geom/bde/g_bde.h>
#define BDE_CLASS_NAME "BDE"
FEATURE(geom_bde, "GEOM-based Disk Encryption");
static void
g_bde_start(struct bio *bp)
{

View File

@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/cache/g_cache.h>
FEATURE(geom_cache, "GEOM cache module");
static MALLOC_DEFINE(M_GCACHE, "gcache_data", "GEOM_CACHE Data");
SYSCTL_DECL(_kern_geom);

View File

@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/concat/g_concat.h>
FEATURE(geom_concat, "GEOM concatenation support");
static MALLOC_DEFINE(M_CONCAT, "concat_data", "GEOM_CONCAT Data");

View File

@ -51,6 +51,7 @@ __FBSDID("$FreeBSD$");
#include <geom/eli/g_eli.h>
#include <geom/eli/pkcs5v2.h>
FEATURE(geom_eli, "GEOM crypto module");
MALLOC_DEFINE(M_ELI, "eli data", "GEOM_ELI Data");

View File

@ -53,6 +53,8 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/gate/g_gate.h>
FEATURE(geom_gate, "GEOM Gate module");
static MALLOC_DEFINE(M_GATE, "gg_data", "GEOM Gate Data");
SYSCTL_DECL(_kern_geom);

View File

@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/endian.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/fcntl.h>
#include <sys/conf.h>
@ -60,6 +61,8 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/geom_slice.h>
FEATURE(geom_bsd, "GEOM BSD disklabels support");
#define BSD_CLASS_NAME "BSD"
#define ALPHA_LABEL_OFFSET 64

View File

@ -37,6 +37,7 @@
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/conf.h>
#include <sys/bio.h>
@ -52,6 +53,8 @@
#define FOX_CLASS_NAME "FOX"
#define FOX_MAGIC "GEOM::FOX"
FEATURE(geom_fox, "GEOM FOX redundant path mitigation support");
struct g_fox_softc {
off_t mediasize;
u_int sectorsize;

View File

@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
#include <sys/errno.h>
#include <sys/endian.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/fcntl.h>
#include <sys/malloc.h>
@ -50,6 +51,8 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/geom_slice.h>
FEATURE(geom_mbr, "GEOM DOS/MBR partitioning support");
#define MBR_CLASS_NAME "MBR"
#define MBREXT_CLASS_NAME "MBREXT"

View File

@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/endian.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/fcntl.h>
#include <sys/malloc.h>
@ -47,6 +48,8 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/geom_slice.h>
FEATURE(geom_pc98, "GEOM NEC PC9800 partitioning support");
#define PC98_CLASS_NAME "PC98"
struct g_pc98_softc {

View File

@ -39,6 +39,7 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/endian.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/conf.h>
#include <sys/bio.h>
@ -51,6 +52,8 @@ __FBSDID("$FreeBSD$");
#include <geom/geom_slice.h>
#include <machine/endian.h>
FEATURE(geom_sunlabel, "GEOM Sun/Solaris partitioning support");
#define SUNLABEL_CLASS_NAME "SUN"
struct g_sunlabel_softc {

View File

@ -30,6 +30,7 @@ __FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/errno.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/kernel.h>
#include <sys/malloc.h>
#include <sys/bio.h>
@ -42,6 +43,8 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/geom_slice.h>
FEATURE(geom_vol, "GEOM support for volume names from UFS superblock");
#define VOL_FFS_CLASS_NAME "VOL_FFS"
static int superblocks[] = SBLOCKSEARCH;

View File

@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$");
#include <geom/journal/g_journal.h>
FEATURE(geom_journal, "GEOM journaling support");
/*
* On-disk journal format:

View File

@ -36,10 +36,12 @@ __FBSDID("$FreeBSD$");
#include <sys/bio.h>
#include <sys/malloc.h>
#include <sys/libkern.h>
#include <sys/sysctl.h>
#include <geom/geom.h>
#include <geom/geom_slice.h>
#include <geom/label/g_label.h>
FEATURE(geom_label, "GEOM labeling support");
SYSCTL_DECL(_kern_geom);
SYSCTL_NODE(_kern_geom, OID_AUTO, label, CTLFLAG_RW, 0, "GEOM_LABEL stuff");

View File

@ -42,6 +42,8 @@ __FBSDID("$FreeBSD$");
#include <geom/linux_lvm/g_linux_lvm.h>
FEATURE(geom_linux_lvm, "GEOM Linux LVM partitioning support");
/* Declare malloc(9) label */
static MALLOC_DEFINE(M_GLLVM, "gllvm", "GEOM_LINUX_LVM Data");

View File

@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$");
#include <sys/sched.h>
#include <geom/mirror/g_mirror.h>
FEATURE(geom_mirror, "GEOM mirroring support");
static MALLOC_DEFINE(M_MIRROR, "mirror_data", "GEOM_MIRROR Data");

View File

@ -44,6 +44,7 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/multipath/g_multipath.h>
FEATURE(geom_multipath, "GEOM multipath support");
SYSCTL_DECL(_kern_geom);
SYSCTL_NODE(_kern_geom, OID_AUTO, multipath, CTLFLAG_RW, 0,

View File

@ -41,11 +41,14 @@ __FBSDID("$FreeBSD$");
#include <sys/queue.h>
#include <sys/sbuf.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <geom/geom.h>
#include <geom/part/g_part.h>
#include "g_part_if.h"
FEATURE(geom_part_apm, "GEOM partitioning class for Apple-style partitions");
struct g_part_apm_table {
struct g_part_table base;
struct apm_ddr ddr;

View File

@ -40,11 +40,14 @@ __FBSDID("$FreeBSD$");
#include <sys/queue.h>
#include <sys/sbuf.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <geom/geom.h>
#include <geom/part/g_part.h>
#include "g_part_if.h"
FEATURE(geom_part_bsd, "GEOM partitioning class for BSD disklabels");
struct g_part_bsd_table {
struct g_part_table base;
u_char *bbarea;

View File

@ -42,11 +42,19 @@ __FBSDID("$FreeBSD$");
#include <sys/queue.h>
#include <sys/sbuf.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <geom/geom.h>
#include <geom/part/g_part.h>
#include "g_part_if.h"
FEATURE(geom_part_ebr,
"GEOM partitioning class for extended boot records support");
#if defined(GEOM_PART_EBR_COMPAT)
FEATURE(geom_part_ebr_compat,
"GEOM EBR partitioning class: backward-compatible partition names");
#endif
#define EBRSIZE 512
struct g_part_ebr_table {

View File

@ -41,12 +41,15 @@ __FBSDID("$FreeBSD$");
#include <sys/queue.h>
#include <sys/sbuf.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/uuid.h>
#include <geom/geom.h>
#include <geom/part/g_part.h>
#include "g_part_if.h"
FEATURE(geom_part_gpt, "GEOM partitioning class for GPT partitions support");
CTASSERT(offsetof(struct gpt_hdr, padding) == 92);
CTASSERT(sizeof(struct gpt_ent) == 128);

View File

@ -40,11 +40,14 @@ __FBSDID("$FreeBSD$");
#include <sys/queue.h>
#include <sys/sbuf.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <geom/geom.h>
#include <geom/part/g_part.h>
#include "g_part_if.h"
FEATURE(geom_part_mbr, "GEOM partitioning class for MBR support");
#define MBRSIZE 512
struct g_part_mbr_table {

View File

@ -40,11 +40,14 @@ __FBSDID("$FreeBSD$");
#include <sys/queue.h>
#include <sys/sbuf.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <geom/geom.h>
#include <geom/part/g_part.h>
#include "g_part_if.h"
FEATURE(geom_part_pc98, "GEOM partitioning class for PC-9800 disk partitions");
#define SECSIZE 512
#define MENUSIZE 7168
#define BOOTSIZE 8192

View File

@ -39,12 +39,15 @@ __FBSDID("$FreeBSD$");
#include <sys/queue.h>
#include <sys/sbuf.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <sys/vtoc.h>
#include <geom/geom.h>
#include <geom/part/g_part.h>
#include "g_part_if.h"
FEATURE(geom_part_vtoc8, "GEOM partitioning class for SMI VTOC8 disk labels");
struct g_part_vtoc8_table {
struct g_part_table base;
struct vtoc8 vtoc;

View File

@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$");
#include <sys/sched.h>
#include <geom/raid3/g_raid3.h>
FEATURE(geom_raid3, "GEOM RAID-3 functionality");
static MALLOC_DEFINE(M_RAID3, "raid3_data", "GEOM_RAID3 Data");

View File

@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/shsec/g_shsec.h>
FEATURE(geom_shsec, "GEOM shared secret device support");
static MALLOC_DEFINE(M_SHSEC, "shsec_data", "GEOM_SHSEC Data");

View File

@ -40,6 +40,7 @@ __FBSDID("$FreeBSD$");
#include <geom/geom.h>
#include <geom/stripe/g_stripe.h>
FEATURE(geom_stripe, "GEOM striping support");
static MALLOC_DEFINE(M_STRIPE, "stripe_data", "GEOM_STRIPE Data");

View File

@ -36,10 +36,13 @@ __FBSDID("$FreeBSD$");
#include <sys/mutex.h>
#include <sys/malloc.h>
#include <sys/systm.h>
#include <sys/sysctl.h>
#include <geom/geom.h>
#include <net/zlib.h>
FEATURE(geom_uzip, "GEOM uzip read-only compressed disks support");
#undef GEOM_UZIP_DEBUG
#ifdef GEOM_UZIP_DEBUG
#define DPRINTF(a) printf a

View File

@ -52,6 +52,8 @@ __FBSDID("$FreeBSD$");
#include <geom/virstor/g_virstor.h>
#include <geom/virstor/g_virstor_md.h>
FEATURE(g_virstor, "GEOM virtual storage support");
/* Declare malloc(9) label */
static MALLOC_DEFINE(M_GVIRSTOR, "gvirstor", "GEOM_VIRSTOR Data");