mirror of
https://github.com/torvalds/linux.git
synced 2026-09-22 20:54:03 +02:00
md/raid10: remove unnecessary barrier around bio_submit_split_bioset()
raid10_write_request() drops the barrier before calling bio_submit_split_bioset() and reacquires it afterwards. This is no longer necessary because the split bio cannot re-enter raid10_write_request() while the barrier is held. The allow_barrier()/wait_barrier() pair was introduced by commite820d55cb9("md: fix raid10 hang issue caused by barrier") when submit_flushes() called md_handle_request() directly, allowing re-entry into raid10_write_request(). Since v5.2, submit_flushes() has instead gone through submit_bio(), eliminating that recursion. submit_flushes() was later removed entirely by commitb75197e86e("md: Remove flush handling"). Currently, raid10_write_request() is only entered from the bio submission path, so the split bio submitted by bio_submit_split_bioset() cannot recurse back into wait_barrier(). Remove the redundant allow_barrier()/wait_barrier() pair around bio_submit_split_bioset(). Signed-off-by: Abd-Alrhman Masalkhi <abd.masalkhi@gmail.com> Reviewed-by: Yu Kuai <yukuai@fygo.io> Link: https://patch.msgid.link/20260710101521.1714-5-abd.masalkhi@gmail.com Signed-off-by: Yu Kuai <yukuai@fygo.io>
This commit is contained in:
parent
3409bf2f96
commit
addb977450
|
|
@ -1443,10 +1443,8 @@ static bool raid10_write_request(struct mddev *mddev, struct bio *bio,
|
|||
if (atomic)
|
||||
goto err_handle;
|
||||
|
||||
allow_barrier(conf);
|
||||
bio = bio_submit_split_bioset(bio, r10_bio->sectors,
|
||||
&conf->bio_split);
|
||||
wait_barrier(conf);
|
||||
if (!bio) {
|
||||
set_bit(R10BIO_Returned, &r10_bio->state);
|
||||
goto err_handle;
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user