aboutsummaryrefslogtreecommitdiffstats
path: root/block/blk.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2012-06-04 23:40:59 -0400
committerJens Axboe <axboe@kernel.dk>2012-06-25 05:53:52 -0400
commit5b788ce3e2acac9bf109743b1281d77347cf2101 (patch)
tree907477e42d27bec9a2060fcc709402b7636390c9 /block/blk.h
parent8a5ecdd42862bf87ceab00bf2a15d7eabf58c02d (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.h3
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
21int blk_init_rl(struct request_list *rl, struct request_queue *q,
22 gfp_t gfp_mask);
23void blk_exit_rl(struct request_list *rl);
21void init_request_from_bio(struct request *req, struct bio *bio); 24void init_request_from_bio(struct request *req, struct bio *bio);
22void blk_rq_bio_prep(struct request_queue *q, struct request *rq, 25void blk_rq_bio_prep(struct request_queue *q, struct request *rq,
23 struct bio *bio); 26 struct bio *bio);