diff options
Diffstat (limited to 'sys')
28 files changed, 68 insertions, 0 deletions
diff --git a/sys/geom/bde/g_bde.c b/sys/geom/bde/g_bde.c index 696c70f..bd4b107 100644 --- a/sys/geom/bde/g_bde.c +++ b/sys/geom/bde/g_bde.c @@ -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) { diff --git a/sys/geom/cache/g_cache.c b/sys/geom/cache/g_cache.c index 7be8cb3..01c7873 100644 --- a/sys/geom/cache/g_cache.c +++ b/sys/geom/cache/g_cache.c @@ -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); diff --git a/sys/geom/concat/g_concat.c b/sys/geom/concat/g_concat.c index 545cb8f..85d8a21 100644 --- a/sys/geom/concat/g_concat.c +++ b/sys/geom/concat/g_concat.c @@ -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"); diff --git a/sys/geom/eli/g_eli.c b/sys/geom/eli/g_eli.c index d1c31bd..0dd0d0c 100644 --- a/sys/geom/eli/g_eli.c +++ b/sys/geom/eli/g_eli.c @@ -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"); diff --git a/sys/geom/gate/g_gate.c b/sys/geom/gate/g_gate.c index e035f97..7951209 100644 --- a/sys/geom/gate/g_gate.c +++ b/sys/geom/gate/g_gate.c @@ -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); diff --git a/sys/geom/geom_bsd.c b/sys/geom/geom_bsd.c index 7c3d227..c5b9252 100644 --- a/sys/geom/geom_bsd.c +++ b/sys/geom/geom_bsd.c @@ -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 diff --git a/sys/geom/geom_fox.c b/sys/geom/geom_fox.c index d943d85..2fea00d 100644 --- a/sys/geom/geom_fox.c +++ b/sys/geom/geom_fox.c @@ -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; diff --git a/sys/geom/geom_mbr.c b/sys/geom/geom_mbr.c index 6b034ba..6a736a7 100644 --- a/sys/geom/geom_mbr.c +++ b/sys/geom/geom_mbr.c @@ -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" diff --git a/sys/geom/geom_pc98.c b/sys/geom/geom_pc98.c index 4f89958..ffc48bd 100644 --- a/sys/geom/geom_pc98.c +++ b/sys/geom/geom_pc98.c @@ -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 { diff --git a/sys/geom/geom_sunlabel.c b/sys/geom/geom_sunlabel.c index e9002de..f05b7e6 100644 --- a/sys/geom/geom_sunlabel.c +++ b/sys/geom/geom_sunlabel.c @@ -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 { diff --git a/sys/geom/geom_vol_ffs.c b/sys/geom/geom_vol_ffs.c index c21b1b6..4fa4da5 100644 --- a/sys/geom/geom_vol_ffs.c +++ b/sys/geom/geom_vol_ffs.c @@ -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; diff --git a/sys/geom/journal/g_journal.c b/sys/geom/journal/g_journal.c index f3f9072..48c03a1 100644 --- a/sys/geom/journal/g_journal.c +++ b/sys/geom/journal/g_journal.c @@ -55,6 +55,7 @@ __FBSDID("$FreeBSD$"); #include <geom/journal/g_journal.h> +FEATURE(geom_journal, "GEOM journaling support"); /* * On-disk journal format: diff --git a/sys/geom/label/g_label.c b/sys/geom/label/g_label.c index c4582894..bee7a85 100644 --- a/sys/geom/label/g_label.c +++ b/sys/geom/label/g_label.c @@ -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"); diff --git a/sys/geom/linux_lvm/g_linux_lvm.c b/sys/geom/linux_lvm/g_linux_lvm.c index d210611..2ac19e0 100644 --- a/sys/geom/linux_lvm/g_linux_lvm.c +++ b/sys/geom/linux_lvm/g_linux_lvm.c @@ -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"); diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c index 41d35e4..326851f 100644 --- a/sys/geom/mirror/g_mirror.c +++ b/sys/geom/mirror/g_mirror.c @@ -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"); diff --git a/sys/geom/multipath/g_multipath.c b/sys/geom/multipath/g_multipath.c index 8806b58..6c53f41 100644 --- a/sys/geom/multipath/g_multipath.c +++ b/sys/geom/multipath/g_multipath.c @@ -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, diff --git a/sys/geom/part/g_part_apm.c b/sys/geom/part/g_part_apm.c index c73d7f6..1a1a3bd 100644 --- a/sys/geom/part/g_part_apm.c +++ b/sys/geom/part/g_part_apm.c @@ -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; diff --git a/sys/geom/part/g_part_bsd.c b/sys/geom/part/g_part_bsd.c index e51a22f..61fe89a 100644 --- a/sys/geom/part/g_part_bsd.c +++ b/sys/geom/part/g_part_bsd.c @@ -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; diff --git a/sys/geom/part/g_part_ebr.c b/sys/geom/part/g_part_ebr.c index 7bf0c55..5f665ca 100644 --- a/sys/geom/part/g_part_ebr.c +++ b/sys/geom/part/g_part_ebr.c @@ -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 { diff --git a/sys/geom/part/g_part_gpt.c b/sys/geom/part/g_part_gpt.c index d0896b8..9e897a4 100644 --- a/sys/geom/part/g_part_gpt.c +++ b/sys/geom/part/g_part_gpt.c @@ -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); diff --git a/sys/geom/part/g_part_mbr.c b/sys/geom/part/g_part_mbr.c index c39c92f..63b7e64 100644 --- a/sys/geom/part/g_part_mbr.c +++ b/sys/geom/part/g_part_mbr.c @@ -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 { diff --git a/sys/geom/part/g_part_pc98.c b/sys/geom/part/g_part_pc98.c index e7b3341..d8aa87d 100644 --- a/sys/geom/part/g_part_pc98.c +++ b/sys/geom/part/g_part_pc98.c @@ -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 diff --git a/sys/geom/part/g_part_vtoc8.c b/sys/geom/part/g_part_vtoc8.c index d22c5b1..e59c8e4 100644 --- a/sys/geom/part/g_part_vtoc8.c +++ b/sys/geom/part/g_part_vtoc8.c @@ -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; diff --git a/sys/geom/raid3/g_raid3.c b/sys/geom/raid3/g_raid3.c index 110b3f9..6cc2094 100644 --- a/sys/geom/raid3/g_raid3.c +++ b/sys/geom/raid3/g_raid3.c @@ -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"); diff --git a/sys/geom/shsec/g_shsec.c b/sys/geom/shsec/g_shsec.c index 7be39bb..ee2cf4b 100644 --- a/sys/geom/shsec/g_shsec.c +++ b/sys/geom/shsec/g_shsec.c @@ -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"); diff --git a/sys/geom/stripe/g_stripe.c b/sys/geom/stripe/g_stripe.c index a799284..add0be0 100644 --- a/sys/geom/stripe/g_stripe.c +++ b/sys/geom/stripe/g_stripe.c @@ -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"); diff --git a/sys/geom/uzip/g_uzip.c b/sys/geom/uzip/g_uzip.c index 2301efb..c8b0dfc 100644 --- a/sys/geom/uzip/g_uzip.c +++ b/sys/geom/uzip/g_uzip.c @@ -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 diff --git a/sys/geom/virstor/g_virstor.c b/sys/geom/virstor/g_virstor.c index 38ce782..d48a2b1 100644 --- a/sys/geom/virstor/g_virstor.c +++ b/sys/geom/virstor/g_virstor.c @@ -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"); |