diff options
author | Christoph Hellwig <hch@lst.de> | 2014-05-27 14:59:46 -0400 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2014-05-28 11:49:19 -0400 |
commit | 4ce01dd1a07d9cf3eaf44fbf4ea9a61b11badccc (patch) | |
tree | d3314a1d9affb10f9397d4351df26f4a95a5f047 /block | |
parent | 6fca6a611c27f1f0d90fbe1cc3c229dbf8c09e48 (diff) |
blk-mq: merge blk_mq_alloc_reserved_request into blk_mq_alloc_request
Instead of having two almost identical copies of the same code just let
the callers pass in the reserved flag directly.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-core.c | 2 | ||||
-rw-r--r-- | block/blk-mq.c | 20 |
2 files changed, 4 insertions, 18 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 29d5fbafd94a..d87be5b4e554 100644 --- a/block/blk-core.c +++ b/block/blk-core.c | |||
@@ -1173,7 +1173,7 @@ static struct request *blk_old_get_request(struct request_queue *q, int rw, | |||
1173 | struct request *blk_get_request(struct request_queue *q, int rw, gfp_t gfp_mask) | 1173 | struct request *blk_get_request(struct request_queue *q, int rw, gfp_t gfp_mask) |
1174 | { | 1174 | { |
1175 | if (q->mq_ops) | 1175 | if (q->mq_ops) |
1176 | return blk_mq_alloc_request(q, rw, gfp_mask); | 1176 | return blk_mq_alloc_request(q, rw, gfp_mask, false); |
1177 | else | 1177 | else |
1178 | return blk_old_get_request(q, rw, gfp_mask); | 1178 | return blk_old_get_request(q, rw, gfp_mask); |
1179 | } | 1179 | } |
diff --git a/block/blk-mq.c b/block/blk-mq.c index 67066ecc79c0..63d581d72a70 100644 --- a/block/blk-mq.c +++ b/block/blk-mq.c | |||
@@ -294,35 +294,21 @@ static struct request *blk_mq_alloc_request_pinned(struct request_queue *q, | |||
294 | return rq; | 294 | return rq; |
295 | } | 295 | } |
296 | 296 | ||
297 | struct request *blk_mq_alloc_request(struct request_queue *q, int rw, gfp_t gfp) | 297 | struct request *blk_mq_alloc_request(struct request_queue *q, int rw, gfp_t gfp, |
298 | bool reserved) | ||
298 | { | 299 | { |
299 | struct request *rq; | 300 | struct request *rq; |
300 | 301 | ||
301 | if (blk_mq_queue_enter(q)) | 302 | if (blk_mq_queue_enter(q)) |
302 | return NULL; | 303 | return NULL; |
303 | 304 | ||
304 | rq = blk_mq_alloc_request_pinned(q, rw, gfp, false); | 305 | rq = blk_mq_alloc_request_pinned(q, rw, gfp, reserved); |
305 | if (rq) | 306 | if (rq) |
306 | blk_mq_put_ctx(rq->mq_ctx); | 307 | blk_mq_put_ctx(rq->mq_ctx); |
307 | return rq; | 308 | return rq; |
308 | } | 309 | } |
309 | EXPORT_SYMBOL(blk_mq_alloc_request); | 310 | EXPORT_SYMBOL(blk_mq_alloc_request); |
310 | 311 | ||
311 | struct request *blk_mq_alloc_reserved_request(struct request_queue *q, int rw, | ||
312 | gfp_t gfp) | ||
313 | { | ||
314 | struct request *rq; | ||
315 | |||
316 | if (blk_mq_queue_enter(q)) | ||
317 | return NULL; | ||
318 | |||
319 | rq = blk_mq_alloc_request_pinned(q, rw, gfp, true); | ||
320 | if (rq) | ||
321 | blk_mq_put_ctx(rq->mq_ctx); | ||
322 | return rq; | ||
323 | } | ||
324 | EXPORT_SYMBOL(blk_mq_alloc_reserved_request); | ||
325 | |||
326 | static void __blk_mq_free_request(struct blk_mq_hw_ctx *hctx, | 312 | static void __blk_mq_free_request(struct blk_mq_hw_ctx *hctx, |
327 | struct blk_mq_ctx *ctx, struct request *rq) | 313 | struct blk_mq_ctx *ctx, struct request *rq) |
328 | { | 314 | { |