Re: [PATCH] block: fix disordered IO in the case recursive split

From: Christoph Hellwig
Date: Thu Aug 21 2025 - 04:43:54 EST


On Thu, Aug 21, 2025 at 03:47:06PM +0800, Yu Kuai wrote:
> + if (current->bio_list) {
> + if (bio_flagged(bio, BIO_CHAIN))
> + bio_list_add_head(&current->bio_list[0], bio);
> + else
> + bio_list_add(&current->bio_list[0], bio);
> + } else if (!bdev_test_flag(bio->bi_bdev, BD_HAS_SUBMIT_BIO)) {

This breaks all the code the already chains the right way around,
and there's quite a bit of that (speaking as someone who created a few
instances).

So instead fix your submitter to chain the right way instead.