diff options
author | Tejun Heo <tj@kernel.org> | 2012-06-05 05:40:59 +0200 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2012-06-25 11:53:52 +0200 |
commit | 5b788ce3e2acac9bf109743b1281d77347cf2101 (patch) | |
tree | 907477e42d27bec9a2060fcc709402b7636390c9 /block/blk.h | |
parent | block: add q->nr_rqs[] and move q->rq.elvpriv to q->nr_rqs_elvpriv (diff) | |
download | linux-5b788ce3e2acac9bf109743b1281d77347cf2101.tar.xz linux-5b788ce3e2acac9bf109743b1281d77347cf2101.zip |
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) kobject_get(&q->kobj); } +int blk_init_rl(struct request_list *rl, struct request_queue *q, + gfp_t gfp_mask); +void blk_exit_rl(struct request_list *rl); void init_request_from_bio(struct request *req, struct bio *bio); void blk_rq_bio_prep(struct request_queue *q, struct request *rq, struct bio *bio); |