summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2002-03-26 22:07:38 +0000
committerphk <phk@FreeBSD.org>2002-03-26 22:07:38 +0000
commitaeded841430797cf6f57896a1b74eaa00e0dd056 (patch)
tree2cbb86114a6ff641c38d48b296c167e13e603724 /sys/geom/geom.h
parent166310e873655f8ead69d0f7898911ed39fc34ea (diff)
downloadFreeBSD-src-aeded841430797cf6f57896a1b74eaa00e0dd056.zip
FreeBSD-src-aeded841430797cf6f57896a1b74eaa00e0dd056.tar.gz
Eliminate some thread pointers which do not make sense anymore.
Split private parts of geom.h into geom_int.h. The latter should never be included in class implemtations.
Diffstat (limited to 'sys/geom/geom.h')
-rw-r--r--sys/geom/geom.h49
1 files changed, 4 insertions, 45 deletions
diff --git a/sys/geom/geom.h b/sys/geom/geom.h
index 2dd604b..14862cd 100644
--- a/sys/geom/geom.h
+++ b/sys/geom/geom.h
@@ -57,27 +57,18 @@ struct thread;
struct bio;
struct sbuf;
-LIST_HEAD(class_list_head, g_class);
-TAILQ_HEAD(g_tailq_head, g_geom);
-TAILQ_HEAD(event_tailq_head, g_event);
-
-extern struct g_tailq_head geoms;
-extern struct event_tailq_head events;
-extern int g_debugflags;
-
-
#define G_CLASS_INITSTUFF { 0, 0 }, { 0 }, 0
typedef struct g_geom * g_create_geom_t (struct g_class *mp,
struct g_provider *pp, char *name);
typedef struct g_geom * g_taste_t (struct g_class *, struct g_provider *,
- struct thread *tp, int flags);
+ int flags);
#define G_TF_NORMAL 0
#define G_TF_INSIST 1
#define G_TF_TRANSPARENT 2
typedef int g_access_t (struct g_provider *, int, int, int);
/* XXX: not sure about the thread arg */
-typedef void g_orphan_t (struct g_consumer *, struct thread *);
+typedef void g_orphan_t (struct g_consumer *);
typedef void g_start_t (struct bio *);
typedef void g_spoiled_t (struct g_consumer *);
@@ -168,30 +159,7 @@ struct g_provider {
int index;
};
-/*
- * Various internal actions are tracked by tagging g_event[s] onto
- * an internal eventqueue.
- */
-enum g_events {
- EV_NEW_CLASS, /* class */
- EV_NEW_PROVIDER, /* provider */
- EV_SPOILED, /* provider, consumer */
- EV_LAST
-};
-
-struct g_event {
- enum g_events event;
- TAILQ_ENTRY(g_event) events;
- struct g_class *class;
- struct g_geom *geom;
- struct g_provider *provider;
- struct g_consumer *consumer;
-};
-
/* geom_dump.c */
-struct sbuf * g_conf(void);
-struct sbuf * g_conf_specific(struct g_class *mp, struct g_geom *gp, struct g_provider *pp, struct g_consumer *cp);
-struct sbuf * g_confdot(void);
void g_hexdump(void *ptr, int length);
void g_trace(int level, char *, ...);
# define G_T_TOPOLOGY 1
@@ -206,11 +174,8 @@ uint32_t g_dec_le4(u_char *p);
void g_enc_le4(u_char *p, uint32_t u);
/* geom_event.c */
-void g_event_init(void);
void g_orphan_provider(struct g_provider *pp, int error);
-void g_post_event(enum g_events ev, struct g_class *mp, struct g_geom *gp, struct g_provider *pp, struct g_consumer *cp);
void g_rattle(void);
-void g_run_events(struct thread *tp);
void g_silence(void);
/* geom_subr.c */
@@ -228,7 +193,6 @@ int g_haveattr(struct bio *bp, char *attribute, void *val, int len);
int g_haveattr_int(struct bio *bp, char *attribute, int val);
int g_haveattr_off_t(struct bio *bp, char *attribute, off_t val);
struct g_geom * g_insert_geom(char *class, struct g_consumer *cp);
-extern struct class_list_head g_classs;
struct g_consumer * g_new_consumer(struct g_geom *gp);
struct g_geom * g_new_geomf(struct g_class *mp, char *fmt, ...);
struct g_provider * g_new_providerf(struct g_geom *gp, char *fmt, ...);
@@ -236,23 +200,18 @@ void g_spoil(struct g_provider *pp, struct g_consumer *cp);
int g_std_access(struct g_provider *pp, int dr, int dw, int de);
void g_std_done(struct bio *bp);
void g_std_spoiled(struct g_consumer *cp);
-extern char *g_wait_event, *g_wait_sim, *g_wait_up, *g_wait_down;
/* geom_io.c */
struct bio * g_clone_bio(struct bio *);
void g_destroy_bio(struct bio *);
void g_io_deliver(struct bio *bp);
-int g_io_getattr(char *attr, struct g_consumer *cp, int *len, void *ptr, struct thread *tp);
-void g_io_init(void);
+int g_io_getattr(char *attr, struct g_consumer *cp, int *len, void *ptr);
void g_io_request(struct bio *bp, struct g_consumer *cp);
-void g_io_schedule_down(struct thread *tp);
-void g_io_schedule_up(struct thread *tp);
-int g_io_setattr(char *attr, struct g_consumer *cp, int len, void *ptr, struct thread *tp);
+int g_io_setattr(char *attr, struct g_consumer *cp, int len, void *ptr);
struct bio *g_new_bio(void);
void * g_read_data(struct g_consumer *cp, off_t offset, off_t length, int *error);
/* geom_kern.c / geom_kernsim.c */
-void g_init(void);
struct g_ioctl {
u_long cmd;
OpenPOWER on IntegriCloud