Re: [PATCH block-5.17] fix rq-qos breakage from skipping rq_qos_done_bio()

From: Jens Axboe
Date: Mon Mar 14 2022 - 16:24:03 EST


On Sun, 13 Mar 2022 21:15:02 -1000, Tejun Heo wrote:
> a647a524a467 ("block: don't call rq_qos_ops->done_bio if the bio isn't
> tracked") made bio_endio() skip rq_qos_done_bio() if BIO_TRACKED is not set.
> While this fixed a potential oops, it also broke blk-iocost by skipping the
> done_bio callback for merged bios.
>
> Before, whether a bio goes through rq_qos_throttle() or rq_qos_merge(),
> rq_qos_done_bio() would be called on the bio on completion with BIO_TRACKED
> distinguishing the former from the latter. rq_qos_done_bio() is not called
> for bios which wenth through rq_qos_merge(). This royally confuses
> blk-iocost as the merged bios never finish and are considered perpetually
> in-flight.
>
> [...]

Applied, thanks!

[1/1] fix rq-qos breakage from skipping rq_qos_done_bio()
(no commit info)

Best regards,
--
Jens Axboe