summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNeil Brown <neilb@cse.unsw.edu.au>2002-06-18 04:15:33 -0700
committerLinus Torvalds <torvalds@home.transmeta.com>2002-06-18 04:15:33 -0700
commita0edc56a534b3528d85a585629846826c19c5703 (patch)
tree536d845d3a1c9c70014a08d1e94d57c3eee8774a /include
parent9beeab321c66ddeae926b3c0f370561581126498 (diff)
[PATCH] md 2 of 22 - Make device plugging work for md/raid5
We embed a request_queue_t in the mddev structure and so have a separate one for each mddev. This is used for plugging (in raid5). Given this embeded request_queue_t, md_make_request no-longer needs to make from device number to mddev, but can map from the queue to the mddev instead.
Diffstat (limited to 'include')
-rw-r--r--include/linux/raid/md_k.h2
-rw-r--r--include/linux/raid/raid5.h5
2 files changed, 3 insertions, 4 deletions
diff --git a/include/linux/raid/md_k.h b/include/linux/raid/md_k.h
index 7b270a50487e..94ed760bd221 100644
--- a/include/linux/raid/md_k.h
+++ b/include/linux/raid/md_k.h
@@ -214,6 +214,8 @@ struct mddev_s
atomic_t recovery_active; /* blocks scheduled, but not written */
wait_queue_head_t recovery_wait;
+ request_queue_t queue; /* for plugging ... */
+
struct list_head all_mddevs;
};
diff --git a/include/linux/raid/raid5.h b/include/linux/raid/raid5.h
index 5c25120581a7..661783287da5 100644
--- a/include/linux/raid/raid5.h
+++ b/include/linux/raid/raid5.h
@@ -176,7 +176,7 @@ struct stripe_head {
* is put on a "delayed" queue until there are no stripes currently
* in a pre-read phase. Further, if the "delayed" queue is empty when
* a stripe is put on it then we "plug" the queue and do not process it
- * until an unplg call is made. (the tq_disk list is run).
+ * until an unplug call is made. (blk_run_queues is run).
*
* When preread is initiated on a stripe, we set PREREAD_ACTIVE and add
* it to the count of prereading stripes.
@@ -228,9 +228,6 @@ struct raid5_private_data {
* waiting for 25% to be free
*/
spinlock_t device_lock;
-
- int plugged;
- struct tq_struct plug_tq;
};
typedef struct raid5_private_data raid5_conf_t;