diff options
| author | Yaroslav Furman <yaro330@gmail.com> | 2019-03-20 16:26:23 +0300 |
|---|---|---|
| committer | Davide Garberi <dade.garberi@gmail.com> | 2021-10-07 16:16:04 +0200 |
| commit | b0d507ad3c221b138e898faab40554d2b0075ee1 (patch) | |
| tree | 15792ead69359d3200e8692bbfcae04da99ea793 | |
| parent | 81ced3974dc8ac7cc93535921614c99841c1ac90 (diff) | |
blk-iosched: fix compilation
Patch "block: do not merge requests without consulting with io scheduler"
is backported from 4.8 (if I'm not mistaken) when bfq wasn't merged in
mainline Linux, so this patch wasn't applied for it.
Do it.
Signed-off-by: Yaroslav Furman <yaro330@gmail.com>
| -rw-r--r-- | block/bfq-iosched.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/block/bfq-iosched.c b/block/bfq-iosched.c index d36c91f6d142..0940e206e51c 100644 --- a/block/bfq-iosched.c +++ b/block/bfq-iosched.c @@ -1646,7 +1646,7 @@ static int bfq_merge(struct request_queue *q, struct request **req, struct request *__rq; __rq = bfq_find_rq_fmerge(bfqd, bio); - if (__rq && elv_rq_merge_ok(__rq, bio)) { + if (__rq && elv_bio_merge_ok(__rq, bio)) { *req = __rq; return ELEVATOR_FRONT_MERGE; } @@ -2163,7 +2163,7 @@ bfq_merge_bfqqs(struct bfq_data *bfqd, struct bfq_io_cq *bic, bfq_put_queue(bfqq); } -static int bfq_allow_merge(struct request_queue *q, struct request *rq, +static int bfq_allow_bio_merge(struct request_queue *q, struct request *rq, struct bio *bio) { struct bfq_data *bfqd = q->elevator->elevator_data; @@ -2206,6 +2206,12 @@ static int bfq_allow_merge(struct request_queue *q, struct request *rq, return bfqq == RQ_BFQQ(rq); } +static int bfq_allow_rq_merge(struct request_queue *q, struct request *rq, + struct request *next) +{ + return RQ_BFQQ(rq) == RQ_BFQQ(next); +} + /* * Set the maximum time for the in-service queue to consume its * budget. This prevents seeky processes from lowering the throughput. @@ -5267,7 +5273,8 @@ static struct elevator_type iosched_bfq = { #ifdef CONFIG_BFQ_GROUP_IOSCHED .elevator_bio_merged_fn = bfq_bio_merged, #endif - .elevator_allow_merge_fn = bfq_allow_merge, + .elevator_allow_bio_merge_fn = bfq_allow_bio_merge, + .elevator_allow_rq_merge_fn = bfq_allow_rq_merge, .elevator_dispatch_fn = bfq_dispatch_requests, .elevator_add_req_fn = bfq_insert_request, .elevator_activate_req_fn = bfq_activate_request, |
