md: add legacy_async_del_gendisk mode
authorXiao Ni <xni@redhat.com>
Wed, 13 Aug 2025 03:29:29 +0000 (11:29 +0800)
committerYu Kuai <yukuai3@huawei.com>
Wed, 13 Aug 2025 11:44:17 +0000 (19:44 +0800)
commit25db5f284fb8f30222146ca15b3ab8265789da38
tree26c96dbbce09c49e5210b2525960c1ec31c729ca
parent0452f08395f8e7d04fe3744443dad396b3330d0c
md: add legacy_async_del_gendisk mode

commit 9e59d609763f ("md: call del_gendisk in control path") changes the
async way to sync way of calling del_gendisk. But it breaks mdadm
--assemble command. The assemble command runs like this:
1. create the array
2. stop the array
3. access the sysfs files after stopping

The sync way calls del_gendisk in step 2, so all sysfs files are removed.
Now to avoid breaking mdadm assemble command, this patch adds the parameter
legacy_async_del_gendisk that can be used to choose which way. The default
is async way. In future, we plan to change default to sync way in kernel
7.0. Then users need to upgrade to mdadm 4.5+ which removes step 2.

Fixes: 9e59d609763f ("md: call del_gendisk in control path")
Reported-by: Mikulas Patocka <mpatocka@redhat.com>
Closes: https://lore.kernel.org/linux-raid/CAMw=ZnQ=ET2St-+hnhsuq34rRPnebqcXqP1QqaHW5Bh4aaaZ4g@mail.gmail.com/T/#t
Suggested-and-reviewed-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Xiao Ni <xni@redhat.com>
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Link: https://lore.kernel.org/linux-raid/20250813032929.54978-1-xni@redhat.com
Signed-off-by: Yu Kuai <yukuai3@huawei.com>
drivers/md/md.c