[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250828065733.556341-1-yukuai1@huaweicloud.com>
Date: Thu, 28 Aug 2025 14:57:23 +0800
From: Yu Kuai <yukuai1@...weicloud.com>
To: axboe@...nel.dk,
tj@...nel.org,
josef@...icpanda.com,
song@...nel.org,
neil@...wn.name,
akpm@...ux-foundation.org,
hch@...radead.org,
colyli@...nel.org,
hare@...e.de,
tieren@...as.com
Cc: linux-block@...r.kernel.org,
linux-kernel@...r.kernel.org,
cgroups@...r.kernel.org,
linux-raid@...r.kernel.org,
yukuai3@...wei.com,
yukuai1@...weicloud.com,
yi.zhang@...wei.com,
yangerkun@...wei.com,
johnny.chenyi@...wei.com
Subject: [PATCH RFC v2 00/10] block: fix disordered IO in the case recursive split
From: Yu Kuai <yukuai3@...wei.com>
Changes in v2:
- export a new helper bio_submit_split_bioset() instead of
export bio_submit_split() directly;
- don't set no merge flag in the new helper;
- add patch 7 and patch 10;
- add patch 8 to skip bio checks for resubmitting split bio;
patch 1 export a bio split helper;
patch 2-7 unify bio split code;
path 8-9 convert the helper to insert split bio to the head of current
bio list;
patch 10 is a follow cleanup for raid0;
This set is just test for raid5 for now, see details in patch 9;
Yu Kuai (10):
block: factor out a helper bio_submit_split_bioset()
md/raid0: convert raid0_handle_discard() to use
bio_submit_split_bioset()
md/raid1: convert to use bio_submit_split_bioset()
md/raid10: convert read/write to use bio_submit_split_bioset()
md/raid5: convert to use bio_submit_split_bioset()
md/md-linear: convert to use bio_submit_split_bioset()
blk-crypto: convert to use bio_submit_split_bioset()
block: skip unnecessary checks for split bio
block: fix disordered IO in the case recursive split
md/raid0: convert raid0_make_request() to use
bio_submit_split_bioset()
block/blk-core.c | 34 ++++++++++++++++----
block/blk-crypto-fallback.c | 15 +++------
block/blk-merge.c | 63 ++++++++++++++++++++++++-------------
block/blk-throttle.c | 2 +-
block/blk.h | 3 +-
drivers/md/md-linear.c | 14 ++-------
drivers/md/raid0.c | 31 ++++++------------
drivers/md/raid1.c | 35 +++++++++------------
drivers/md/raid1.h | 4 ++-
drivers/md/raid10.c | 51 +++++++++++++-----------------
drivers/md/raid10.h | 2 ++
drivers/md/raid5.c | 10 +++---
include/linux/blkdev.h | 2 ++
13 files changed, 137 insertions(+), 129 deletions(-)
--
2.39.2
Powered by blists - more mailing lists