summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_int.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-02-08 13:03:57 +0000
committerphk <phk@FreeBSD.org>2003-02-08 13:03:57 +0000
commit04a4ba381f551a8fb24d018a99d63e4b8a4eec00 (patch)
treeee0ea82e7a7c15d53378207492946755ff1ca6b9 /sys/geom/geom_int.h
parent15f4f6a52b122bc25685c03d547db8506a57b97a (diff)
downloadFreeBSD-src-04a4ba381f551a8fb24d018a99d63e4b8a4eec00.zip
FreeBSD-src-04a4ba381f551a8fb24d018a99d63e4b8a4eec00.tar.gz
Move the g_stat struct to its own .h file, we will export it to other code.
Insted of embedding a struct g_stat in consumers and providers, merely include a pointer. Remove a couple of <sys/time.h> includes now unneeded. Add a special allocator for struct g_stat. This allocator will allocate entire pages and hand out g_stat functions from there. The "id" field indicates free/used status. Add "/dev/geom.stats" device driver whic exports the pages from the allocator to userland with mmap(2) in read-only mode. This mmap(2) interface should be considered a non-public interface and the functions in libgeom (not yet committed) should be used to access the statistics data.
Diffstat (limited to 'sys/geom/geom_int.h')
-rw-r--r--sys/geom/geom_int.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/geom/geom_int.h b/sys/geom/geom_int.h
index 3b33501..0323e01 100644
--- a/sys/geom/geom_int.h
+++ b/sys/geom/geom_int.h
@@ -100,3 +100,8 @@ void g_io_schedule_up(struct thread *tp);
/* geom_kern.c / geom_kernsim.c */
void g_init(void);
+
+/* geom_stats.c */
+void g_stat_init(void);
+struct g_stat *g_stat_new(void *id);
+void g_stat_delete(struct g_stat *);
OpenPOWER on IntegriCloud