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

The new helpers suspend the array first and then lock the array,

Prepare to refactor from:

mddev_lock/lock_nointr
mddev_suspend
...
mddev_resuem
mddev_lock

With:

mddev_suspend_and_lock/lock_nointr
...
mddev_unlock_and_resume

After all the use cases is refactored, mddev_suspend/resume() will be
removed.

And mddev_suspend_and_lock() will also replace mddev_lock() for the case
that the array will be reconfigured, in order to synchronize with io to
prevent problems in many corner cases.

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