diff options
author | Tejun Heo <tj@kernel.org> | 2011-12-13 18:33:41 -0500 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2011-12-13 18:33:41 -0500 |
commit | a612fddf0d8090f2877305c9168b6c1a34fb5d90 (patch) | |
tree | b59047a1670469362e1ea44093522224bdcf5aae /block/blk-core.c | |
parent | c58698073218f2c8f2fc5982fa3938c2d3803b9f (diff) |
block, cfq: move cfqd->icq_list to request_queue and add request->elv.icq
Most of icq management is about to be moved out of cfq into blk-ioc.
This patch prepares for it.
* Move cfqd->icq_list to request_queue->icq_list
* Make request explicitly point to icq instead of through elevator
private data. ->elevator_private[3] is replaced with sub struct elv
which contains icq pointer and priv[2]. cfq is updated accordingly.
* Meaningless clearing of ->elevator_private[0] removed from
elv_set_request(). At that point in code, the field was guaranteed
to be %NULL anyway.
This patch doesn't introduce any functional change.
Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk-core.c')
-rw-r--r-- | block/blk-core.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 6804fdf27eff..3c26c7f48703 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -497,6 +497,7 @@ struct request_queue *blk_alloc_queue_node(gfp_t gfp_mask, int node_id) | |||
497 | laptop_mode_timer_fn, (unsigned long) q); | 497 | laptop_mode_timer_fn, (unsigned long) q); |
498 | setup_timer(&q->timeout, blk_rq_timed_out_timer, (unsigned long) q); | 498 | setup_timer(&q->timeout, blk_rq_timed_out_timer, (unsigned long) q); |
499 | INIT_LIST_HEAD(&q->timeout_list); | 499 | INIT_LIST_HEAD(&q->timeout_list); |
500 | INIT_LIST_HEAD(&q->icq_list); | ||
500 | INIT_LIST_HEAD(&q->flush_queue[0]); | 501 | INIT_LIST_HEAD(&q->flush_queue[0]); |
501 | INIT_LIST_HEAD(&q->flush_queue[1]); | 502 | INIT_LIST_HEAD(&q->flush_queue[1]); |
502 | INIT_LIST_HEAD(&q->flush_data_in_flight); | 503 | INIT_LIST_HEAD(&q->flush_data_in_flight); |