mirror of https://github.com/torvalds/linux.git
Revert "block: consider discard merge last"
This reverts commit 2516c246d0.
Suspected issues with discard merging post this patch, hence revert
it for now.
Link: https://lore.kernel.org/linux-block/26acdfdf-de13-430b-8c73-f890c7689a84@kernel.dk/
Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
parent
935a20d1be
commit
caebce24f6
|
|
@ -712,10 +712,10 @@ static void blk_account_io_merge_request(struct request *req)
|
||||||
static enum elv_merge blk_try_req_merge(struct request *req,
|
static enum elv_merge blk_try_req_merge(struct request *req,
|
||||||
struct request *next)
|
struct request *next)
|
||||||
{
|
{
|
||||||
if (blk_rq_pos(req) + blk_rq_sectors(req) == blk_rq_pos(next))
|
if (blk_discard_mergable(req))
|
||||||
return ELEVATOR_BACK_MERGE;
|
|
||||||
else if (blk_discard_mergable(req))
|
|
||||||
return ELEVATOR_DISCARD_MERGE;
|
return ELEVATOR_DISCARD_MERGE;
|
||||||
|
else if (blk_rq_pos(req) + blk_rq_sectors(req) == blk_rq_pos(next))
|
||||||
|
return ELEVATOR_BACK_MERGE;
|
||||||
|
|
||||||
return ELEVATOR_NO_MERGE;
|
return ELEVATOR_NO_MERGE;
|
||||||
}
|
}
|
||||||
|
|
@ -903,12 +903,12 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio)
|
||||||
|
|
||||||
enum elv_merge blk_try_merge(struct request *rq, struct bio *bio)
|
enum elv_merge blk_try_merge(struct request *rq, struct bio *bio)
|
||||||
{
|
{
|
||||||
if (blk_rq_pos(rq) + blk_rq_sectors(rq) == bio->bi_iter.bi_sector)
|
if (blk_discard_mergable(rq))
|
||||||
|
return ELEVATOR_DISCARD_MERGE;
|
||||||
|
else if (blk_rq_pos(rq) + blk_rq_sectors(rq) == bio->bi_iter.bi_sector)
|
||||||
return ELEVATOR_BACK_MERGE;
|
return ELEVATOR_BACK_MERGE;
|
||||||
else if (blk_rq_pos(rq) - bio_sectors(bio) == bio->bi_iter.bi_sector)
|
else if (blk_rq_pos(rq) - bio_sectors(bio) == bio->bi_iter.bi_sector)
|
||||||
return ELEVATOR_FRONT_MERGE;
|
return ELEVATOR_FRONT_MERGE;
|
||||||
else if (blk_discard_mergable(rq))
|
|
||||||
return ELEVATOR_DISCARD_MERGE;
|
|
||||||
return ELEVATOR_NO_MERGE;
|
return ELEVATOR_NO_MERGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue