On 3/24/24 21:44, Damien Le Moal wrote:
diff --git a/block/blk-mq.c b/block/blk-mq.c
index 8aeb8e96f1a7..9e6e2a9a147c 100644
--- a/block/blk-mq.c
+++ b/block/blk-mq.c
@@ -820,11 +820,11 @@ static void blk_complete_request(struct request *req)
/* Completion has already been traced */
bio_clear_flag(bio, BIO_TRACE_COMPLETION);
- if (req_op(req) == REQ_OP_ZONE_APPEND)
- bio->bi_iter.bi_sector = req->__sector;
-
- if (!is_flush)
+ if (!is_flush) {
+ blk_zone_update_request_bio(req, bio);
bio_endio(bio);
+ }
The above change includes a behavior change. It seems wrong to me not
to call blk_zone_update_request_bio() for REQ_OP_ZONE_APPEND requests if
RQF_FLUSH_SEQ has been set.
Thanks,
Bart.