summaryrefslogtreecommitdiff
path: root/block
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2024-11-12 18:00:39 +0100
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2025-05-02 07:58:54 +0200
commited7535b141161f71c5f03a2bce361a0ca842c166 (patch)
tree9d91136b0d6cd69bed0f941333e3b7622c47df08 /block
parent3e12e8c273ebcf346bfafdf7066764324912b070 (diff)
downloadlinux-ed7535b141161f71c5f03a2bce361a0ca842c166.tar.gz
linux-ed7535b141161f71c5f03a2bce361a0ca842c166.tar.bz2
linux-ed7535b141161f71c5f03a2bce361a0ca842c166.zip
block: remove the ioprio field from struct request
[ Upstream commit 6975c1a486a40446b5bc77a89d9c520f8296fd08 ] The request ioprio is only initialized from the first attached bio, so requests without a bio already never set it. Directly use the bio field instead. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Bart Van Assche <bvanassche@acm.org> Link: https://lore.kernel.org/r/20241112170050.1612998-3-hch@lst.de Signed-off-by: Jens Axboe <axboe@kernel.dk> Stable-dep-of: fc0e982b8a3a ("block: make sure ->nr_integrity_segments is cloned in blk_rq_prep_clone") Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'block')
-rw-r--r--block/blk-merge.c10
-rw-r--r--block/blk-mq.c3
2 files changed, 5 insertions, 8 deletions
diff --git a/block/blk-merge.c b/block/blk-merge.c
index bc909bd894fa..f575cc1705b3 100644
--- a/block/blk-merge.c
+++ b/block/blk-merge.c
@@ -868,11 +868,10 @@ static struct request *attempt_merge(struct request_queue *q,
/* Don't merge requests with different write hints. */
if (req->bio->bi_write_hint != next->bio->bi_write_hint)
return NULL;
+ if (req->bio->bi_ioprio != next->bio->bi_ioprio)
+ return NULL;
}
- if (req->ioprio != next->ioprio)
- return NULL;
-
if (!blk_atomic_write_mergeable_rqs(req, next))
return NULL;
@@ -1004,11 +1003,10 @@ bool blk_rq_merge_ok(struct request *rq, struct bio *bio)
/* Don't merge requests with different write hints. */
if (rq->bio->bi_write_hint != bio->bi_write_hint)
return false;
+ if (rq->bio->bi_ioprio != bio->bi_ioprio)
+ return false;
}
- if (rq->ioprio != bio_prio(bio))
- return false;
-
if (blk_atomic_write_mergeable_rq_bio(rq, bio) == false)
return false;
diff --git a/block/blk-mq.c b/block/blk-mq.c
index e3a0f521335b..5e6afda59e7a 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -870,7 +870,7 @@ static void blk_print_req_error(struct request *req, blk_status_t status)
blk_op_str(req_op(req)),
(__force u32)(req->cmd_flags & ~REQ_OP_MASK),
req->nr_phys_segments,
- IOPRIO_PRIO_CLASS(req->ioprio));
+ IOPRIO_PRIO_CLASS(req_get_ioprio(req)));
}
/*
@@ -3306,7 +3306,6 @@ int blk_rq_prep_clone(struct request *rq, struct request *rq_src,
rq->special_vec = rq_src->special_vec;
}
rq->nr_phys_segments = rq_src->nr_phys_segments;
- rq->ioprio = rq_src->ioprio;
if (rq->bio && blk_crypto_rq_bio_prep(rq, rq->bio, gfp_mask) < 0)
goto free_and_out;