From: Yu Kuai Date: Wed, 10 Sep 2025 06:30:56 +0000 (+0800) Subject: md/raid0: convert raid0_make_request() to use bio_submit_split_bioset() X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=e0ed2bca7bef9267da0928a8ed6d1de41f19ecf6;p=thirdparty%2Fkernel%2Fstable.git md/raid0: convert raid0_make_request() to use bio_submit_split_bioset() Currently, raid0_make_request() will remap the original bio to underlying disks to prevent reordered IO. Now that bio_submit_split_bioset() will put original bio to the head of current->bio_list, it's safe converting to use this helper and bio will still be ordered. CC: Jan Kara Signed-off-by: Yu Kuai Reviewed-by: Christoph Hellwig Signed-off-by: Jens Axboe --- diff --git a/drivers/md/raid0.c b/drivers/md/raid0.c index ca08ec2e1f274..adc9e68d064d9 100644 --- a/drivers/md/raid0.c +++ b/drivers/md/raid0.c @@ -607,19 +607,10 @@ static bool raid0_make_request(struct mddev *mddev, struct bio *bio) : sector_div(sector, chunk_sects)); if (sectors < bio_sectors(bio)) { - struct bio *split = bio_split(bio, sectors, GFP_NOIO, + bio = bio_submit_split_bioset(bio, sectors, &mddev->bio_set); - - if (IS_ERR(split)) { - bio->bi_status = errno_to_blk_status(PTR_ERR(split)); - bio_endio(bio); + if (!bio) return true; - } - - bio_chain(split, bio); - trace_block_split(split, bio->bi_iter.bi_sector); - raid0_map_submit_bio(mddev, bio); - bio = split; } raid0_map_submit_bio(mddev, bio);