summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_kern.c
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-10-28 22:43:54 +0000
committerphk <phk@FreeBSD.org>2002-10-28 22:43:54 +0000
commit36b357552e8bf68a082895a618ce8fc14d7b21a8 (patch)
tree8613cc57c380af3393265fdf5313b0a510ee0433 /sys/geom/geom_kern.c
parentbddb286f465cd924b05f4d045c8154af4cd9238f (diff)
downloadFreeBSD-src-36b357552e8bf68a082895a618ce8fc14d7b21a8.zip
FreeBSD-src-36b357552e8bf68a082895a618ce8fc14d7b21a8.tar.gz
Add the remaning part of the new libdisk interaction.
WARNING: This is not a published interface, it is a stopgap measure for WARNING: libdisk so we can get 5.0-R out of the door. Sponsored by: DARPA & NAI Labs
Diffstat (limited to 'sys/geom/geom_kern.c')
-rw-r--r--sys/geom/geom_kern.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/sys/geom/geom_kern.c b/sys/geom/geom_kern.c
index 5901316..1031fd4 100644
--- a/sys/geom/geom_kern.c
+++ b/sys/geom/geom_kern.c
@@ -160,6 +160,23 @@ g_init(void)
}
static int
+sysctl_kern_geom_conftxt(SYSCTL_HANDLER_ARGS)
+{
+ int error;
+ struct sbuf *sb;
+
+ sb = sbuf_new(NULL, NULL, 0, SBUF_AUTOEXTEND);
+ sbuf_clear(sb);
+ g_call_me(g_conftxt, sb);
+ do {
+ tsleep(sb, PZERO, "g_dot", hz);
+ } while(!sbuf_done(sb));
+ error = SYSCTL_OUT(req, sbuf_data(sb), sbuf_len(sb) + 1);
+ sbuf_delete(sb);
+ return error;
+}
+
+static int
sysctl_kern_geom_confdot(SYSCTL_HANDLER_ARGS)
{
int error;
@@ -197,11 +214,15 @@ SYSCTL_NODE(_kern, OID_AUTO, geom, CTLFLAG_RW, 0, "GEOMetry management");
SYSCTL_PROC(_kern_geom, OID_AUTO, confxml, CTLTYPE_STRING|CTLFLAG_RD,
0, 0, sysctl_kern_geom_confxml, "A",
- "Dump the GEOM config");
+ "Dump the GEOM config in XML");
SYSCTL_PROC(_kern_geom, OID_AUTO, confdot, CTLTYPE_STRING|CTLFLAG_RD,
0, 0, sysctl_kern_geom_confdot, "A",
- "Dump the GEOM config");
+ "Dump the GEOM config in dot");
+
+SYSCTL_PROC(_kern_geom, OID_AUTO, conftxt, CTLTYPE_STRING|CTLFLAG_RD,
+ 0, 0, sysctl_kern_geom_conftxt, "A",
+ "Dump the GEOM config in txt");
SYSCTL_INT(_kern_geom, OID_AUTO, debugflags, CTLFLAG_RW,
&g_debugflags, 0, "");
OpenPOWER on IntegriCloud