md: add new helpers to suspend/resume array
authorYu Kuai <yukuai3@huawei.com>
Tue, 10 Oct 2023 15:19:43 +0000 (23:19 +0800)
committerSong Liu <song@kernel.org>
Wed, 11 Oct 2023 01:49:49 +0000 (18:49 -0700)
commit714d20150ed85811193ae07a494d91f9927c590f
tree0e14a78c85da36565bd3ade9eb4cd3e3952799c4
parent2e82248b70f48a98f3720cdaa8ea7a4e7f8bd760
md: add new helpers to suspend/resume array

Advantages for new apis:
 - reconfig_mutex is not required;
 - the weird logical that suspend array hold 'reconfig_mutex' for
   mddev_check_recovery() to update superblock is not needed;
 - the specail handling, 'pers->prepare_suspend', for raid456 is not
   needed;
 - It's safe to be called at any time once mddev is allocated, and it's
   designed to be used from slow path where array configuration is changed;
 - the new helpers is designed to be called before mddev_lock(), hence
   it support to be interrupted by user as well.

Signed-off-by: Yu Kuai <yukuai3@huawei.com>
Signed-off-by: Song Liu <song@kernel.org>
Link: https://lore.kernel.org/r/20231010151958.145896-5-yukuai1@huaweicloud.com
drivers/md/md.c
drivers/md/md.h