md/raid1: free the r1bio before waiting for blocked rdev
authorXueshi Hu <xueshi.hu@smartx.com>
Mon, 14 Aug 2023 13:53:55 +0000 (21:53 +0800)
committerSong Liu <song@kernel.org>
Fri, 18 Aug 2023 04:11:30 +0000 (21:11 -0700)
commit992db13a4aee766c8bfbf046ad15c2db5fa7cab8
tree09c6fd0f533addccef1059d9c48efc2ab0dc8399
parentc5d736f548ec5aab7e877872417ac23a5c42f1fd
md/raid1: free the r1bio before waiting for blocked rdev

Raid1 reshape will change mempool and r1conf::raid_disks which are
needed to free r1bio. allow_barrier() make a concurrent raid1_reshape()
possible. So, free the in-flight r1bio before waiting blocked rdev.

Fixes: 6bfe0b499082 ("md: support blocking writes to an array on device failure")
Reviewed-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Xueshi Hu <xueshi.hu@smartx.com>
Link: https://lore.kernel.org/r/20230814135356.1113639-3-xueshi.hu@smartx.com
Signed-off-by: Song Liu <song@kernel.org>
drivers/md/raid1.c