summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-02-08 12:30:12 +0000
committerphk <phk@FreeBSD.org>2003-02-08 12:30:12 +0000
commit15f4f6a52b122bc25685c03d547db8506a57b97a (patch)
treed34334359b265964548809092a17a4a0aecd11f7
parent88f80d9925505d844e8a8a35a32f4b4742ca91e9 (diff)
downloadFreeBSD-src-15f4f6a52b122bc25685c03d547db8506a57b97a.zip
FreeBSD-src-15f4f6a52b122bc25685c03d547db8506a57b97a.tar.gz
Move #defines of major/minor to internal header file so other bits can
share and coordinate with geom_dev.
-rw-r--r--sys/geom/geom_dev.c6
-rw-r--r--sys/geom/geom_int.h9
2 files changed, 10 insertions, 5 deletions
diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c
index 24234b9..5c1cb05 100644
--- a/sys/geom/geom_dev.c
+++ b/sys/geom/geom_dev.c
@@ -52,8 +52,6 @@
#include <geom/geom_int.h>
#include <machine/limits.h>
-#define CDEV_MAJOR 4
-
static d_open_t g_dev_open;
static d_close_t g_dev_close;
static d_strategy_t g_dev_strategy;
@@ -70,7 +68,7 @@ static struct cdevsw g_dev_cdevsw = {
/* mmap */ nommap,
/* strategy */ g_dev_strategy,
/* name */ "g_dev",
- /* maj */ CDEV_MAJOR,
+ /* maj */ GEOM_MAJOR,
/* dump */ nodump,
/* psize */ g_dev_psize,
/* flags */ D_DISK | D_CANFREE | D_TRACKCLOSE,
@@ -149,7 +147,7 @@ g_dev_taste(struct g_class *mp, struct g_provider *pp, int insist __unused)
{
struct g_geom *gp;
struct g_consumer *cp;
- static int unit;
+ static int unit = GEOM_MINOR_PROVIDERS;
int error;
dev_t dev;
diff --git a/sys/geom/geom_int.h b/sys/geom/geom_int.h
index 5962c86..3b33501 100644
--- a/sys/geom/geom_int.h
+++ b/sys/geom/geom_int.h
@@ -70,13 +70,20 @@ struct g_event {
g_call_me_t *func;
};
+/*
+ * We actually have a number of drivers sharing the same major number
+ * so we coordinate the major/minor usage here
+ */
+#define GEOM_MAJOR 4
+#define GEOM_MINOR_STATS 0
+#define GEOM_MINOR_PROVIDERS 10
+
/* geom_dump.c */
void g_confxml(void *);
void g_conf_specific(struct sbuf *sb, struct g_class *mp, struct g_geom *gp, struct g_provider *pp, struct g_consumer *cp);
void g_confdot(void *);
void g_conftxt(void *);
-
/* geom_event.c */
void g_event_init(void);
void g_post_event(enum g_events ev, struct g_class *mp, struct g_geom *gp, struct g_provider *pp, struct g_consumer *cp);
OpenPOWER on IntegriCloud