在 2026/5/1 19:46, Abd-Alrhman Masalkhi 写道:
> Hi,
>
> This series revisits an issue in the read error recovery path for
> raid1 and raid10 when bios are split and resubmitted.
>
> In v1, the approach was to avoid splitting bios in the raid1 thread
> to prevent recursion and potential deadlocks. However, this was not
> ideal and too restrictive.
>
> As suggested by Yu Kuai, this series instead handles the problem in
> md_handle_request() and allows bio splitting.
>
> Link to Yu Kuai' email: https://lore.kernel.org/linux-raid/m2lde74dtw.fsf@gmail.com/T/#m714020a38b60fc5f84b9a24f0c46acbe5d7342d6
>
> This series fixes the above by:
> - handling md cloned bios explicitly in md_handle_request()
> - using md_cloned_bio() to reliably detect the error path
> - fixing bio accounting to avoid double/missing accounting
>
> Changes in v2:
> - Split fixes into separate patches for clarity.
> - Use md_cloned_bio() consistently to detect cloned bios.
> - Recognize that raid10 has the same issue and fix it in this series
> - Allow splitting bios.
> - Handle md cloned bios explicitly in md_handle_request()
> - Link v1: https://lore.kernel.org/linux-raid/20260427103446.300378-1-abd.masalkhi@gmail.com/
>
> Abd-Alrhman Masalkhi (3):
> md/raid1,raid10: fix deadlock in read error recovery path
> md/raid1,raid10: fix error-path detection with md_cloned_bio()
> md/raid1,raid10: fix bio accounting for split md cloned bios
>
> drivers/md/md.c | 25 ++++++++++++++++---------
> drivers/md/md.h | 5 +++++
> drivers/md/raid1.c | 15 +++++++++++----
> drivers/md/raid10.c | 28 ++++++++++++++++++----------
> 4 files changed, 50 insertions(+), 23 deletions(-)
Applied to md-7.2
>
--
Thansk,
Kuai