diff options
author | Tejun Heo <tj@kernel.org> | 2012-06-04 23:40:59 -0400 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2012-06-25 05:53:52 -0400 |
commit | 5b788ce3e2acac9bf109743b1281d77347cf2101 (patch) | |
tree | 907477e42d27bec9a2060fcc709402b7636390c9 /block/blk.h | |
parent | 8a5ecdd42862bf87ceab00bf2a15d7eabf58c02d (diff) |
block: prepare for multiple request_lists
Request allocation is about to be made per-blkg meaning that there'll
be multiple request lists.
* Make queue full state per request_list. blk_*queue_full() functions
are renamed to blk_*rl_full() and takes @rl instead of @q.
* Rename blk_init_free_list() to blk_init_rl() and make it take @rl
instead of @q. Also add @gfp_mask parameter.
* Add blk_exit_rl() instead of destroying rl directly from
blk_release_queue().
* Add request_list->q and make request alloc/free functions -
blk_free_request(), [__]freed_request(), __get_request() - take @rl
instead of @q.
This patch doesn't introduce any functional difference.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Vivek Goyal <vgoyal@redhat.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block/blk.h')
-rw-r--r-- | block/blk.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/block/blk.h b/block/blk.h index 85f6ae42f7d3..a134231fd22a 100644 --- a/block/blk.h +++ b/block/blk.h | |||
@@ -18,6 +18,9 @@ static inline void __blk_get_queue(struct request_queue *q) | |||
18 | kobject_get(&q->kobj); | 18 | kobject_get(&q->kobj); |
19 | } | 19 | } |
20 | 20 | ||
21 | int blk_init_rl(struct request_list *rl, struct request_queue *q, | ||
22 | gfp_t gfp_mask); | ||
23 | void blk_exit_rl(struct request_list *rl); | ||
21 | void init_request_from_bio(struct request *req, struct bio *bio); | 24 | void init_request_from_bio(struct request *req, struct bio *bio); |
22 | void blk_rq_bio_prep(struct request_queue *q, struct request *rq, | 25 | void blk_rq_bio_prep(struct request_queue *q, struct request *rq, |
23 | struct bio *bio); | 26 | struct bio *bio); |