summaryrefslogtreecommitdiffstats
path: root/sys/geom/vinum/geom_vinum_var.h
diff options
context:
space:
mode:
authorle <le@FreeBSD.org>2006-01-06 18:03:17 +0000
committerle <le@FreeBSD.org>2006-01-06 18:03:17 +0000
commitc29a43240c8e60c8620feab9604ed1036fe72652 (patch)
treeb499a803262a1bbcd6030349917a5b979313f588 /sys/geom/vinum/geom_vinum_var.h
parent42cfa2cc9eb59ddbe448a8b539720b20fb70fad9 (diff)
downloadFreeBSD-src-c29a43240c8e60c8620feab9604ed1036fe72652.zip
FreeBSD-src-c29a43240c8e60c8620feab9604ed1036fe72652.tar.gz
Get rid of the gv_bioq hack in most parts of the I/O path and
use the standard bioq structures.
Diffstat (limited to 'sys/geom/vinum/geom_vinum_var.h')
-rw-r--r--sys/geom/vinum/geom_vinum_var.h20
1 files changed, 16 insertions, 4 deletions
diff --git a/sys/geom/vinum/geom_vinum_var.h b/sys/geom/vinum/geom_vinum_var.h
index 3de2b44..8f746f0 100644
--- a/sys/geom/vinum/geom_vinum_var.h
+++ b/sys/geom/vinum/geom_vinum_var.h
@@ -198,7 +198,11 @@ struct gv_drive {
LIST_HEAD(,gv_sd) subdisks; /* Subdisks on this drive. */
LIST_ENTRY(gv_drive) drive; /* Entry in the vinum config. */
- TAILQ_HEAD(,gv_bioq) bqueue; /* BIO queue of this drive. */
+#ifdef _KERNEL
+ struct bio_queue_head *bqueue; /* BIO queue of this drive. */
+#else
+ char *padding;
+#endif
struct mtx bqueue_mtx; /* Mtx. to protect the queue. */
struct g_geom *geom; /* The geom of this drive. */
@@ -277,8 +281,12 @@ struct gv_plex {
off_t synced; /* Count of synced bytes. */
struct mtx bqueue_mtx; /* Lock for the BIO queue. */
- TAILQ_HEAD(,gv_bioq) bqueue; /* BIO queue. */
- TAILQ_HEAD(,gv_bioq) wqueue; /* Waiting BIO queue. */
+#ifdef _KERNEL
+ struct bio_queue_head *bqueue; /* BIO queue. */
+ struct bio_queue_head *wqueue; /* Waiting BIO queue. */
+#else
+ char *bpad, *wpad;
+#endif
TAILQ_HEAD(,gv_raid5_packet) packets; /* RAID5 sub-requests. */
LIST_HEAD(,gv_sd) subdisks; /* List of attached subdisks. */
@@ -307,7 +315,11 @@ struct gv_volume {
#define GV_VOL_THREAD_DEAD 0x04 /* The thread has died. */
struct mtx bqueue_mtx; /* Lock for the BIO queue. */
- TAILQ_HEAD(,gv_bioq) bqueue; /* BIO queue. */
+#ifdef _KERNEL
+ struct bio_queue_head *bqueue; /* BIO queue. */
+#else
+ char *padding;
+#endif
LIST_HEAD(,gv_plex) plexes; /* List of attached plexes. */
LIST_ENTRY(gv_volume) volume; /* Entry in vinum config. */
OpenPOWER on IntegriCloud