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.

Reply via email to