linux-raid.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v5 0/3] md/raid1: don't allow_barrier() before r1bio got freed
@ 2023-08-14  8:51 Xueshi Hu
  2023-08-14  8:51 ` [PATCH v5 1/3] md/raid1: call free_r1bio() before allow_barrier() Xueshi Hu
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Xueshi Hu @ 2023-08-14  8:51 UTC (permalink / raw)
  To: song, djeffery, dan.j.williams, neilb, akpm, neilb; +Cc: linux-raid, Xueshi Hu

Because raid reshape changes the r1conf::raid_disks and the mempool, it
orders that there's no in-flight r1bio when reshaping. However, the
current caller of allow_barrier() allows the reshape
operation to proceed even if the old r1bio requests have not been freed.

-> v2:
	- fix the problem one by one instead of calling
	blk_mq_freeze_queue() as suggested by Yu Kuai
-> v3:
	- add freeze_array_totally() to replace freeze_array() instead
	  of gave up in raid1_reshape()
	- add a missed fix in raid_end_bio_io()
	- add a small check at the start of raid1_reshape()
-> v4:
	- add fix tag and revise the commit message
	- drop patch 1 as there is an ongoing systematic fix for the bug
	- drop patch 3 as it's unrelated which will be sent in
	another patch
-> v5:
	- split the patch into three parts, with each individual patch fix
	one bug.

Xueshi Hu (3):
  md/raid1: call free_r1bio() before allow_barrier()
  md/raid1: free the r1bio firstly before waiting for blocked rdev
  md/raid1: keep the barrier held until handle_read_error() finished

 drivers/md/raid1.c | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

-- 
2.40.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-08-14 12:39 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-14  8:51 [PATCH v5 0/3] md/raid1: don't allow_barrier() before r1bio got freed Xueshi Hu
2023-08-14  8:51 ` [PATCH v5 1/3] md/raid1: call free_r1bio() before allow_barrier() Xueshi Hu
2023-08-14 12:35   ` Yu Kuai
2023-08-14  8:51 ` [PATCH v5 2/3] md/raid1: free the r1bio firstly before waiting for blocked rdev Xueshi Hu
2023-08-14 12:37   ` Yu Kuai
2023-08-14  8:51 ` [PATCH v5 3/3] md/raid1: keep the barrier held until handle_read_error() finished Xueshi Hu
2023-08-14 12:38   ` Yu Kuai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).