md/md-bitmap: use new apis to suspend array for location_store()
authorYu Kuai <yukuai3@huawei.com>
Tue, 10 Oct 2023 15:19:46 +0000 (23:19 +0800)
committerSong Liu <song@kernel.org>
Wed, 11 Oct 2023 01:49:50 +0000 (18:49 -0700)
Convert to use new apis, the old apis will be removed eventually.

This is not hot path, so performance is not concerned.

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

index 0c661e5036bba851589b40af07f43dde5bf221f4..7d21e2a5b06e9a928043f0a940322a9d944d603a 100644 (file)
@@ -2348,11 +2348,10 @@ location_store(struct mddev *mddev, const char *buf, size_t len)
 {
        int rv;
 
-       rv = mddev_lock(mddev);
+       rv = mddev_suspend_and_lock(mddev);
        if (rv)
                return rv;
 
-       mddev_suspend(mddev);
        if (mddev->pers) {
                if (mddev->recovery || mddev->sync_thread) {
                        rv = -EBUSY;
@@ -2429,8 +2428,7 @@ location_store(struct mddev *mddev, const char *buf, size_t len)
        }
        rv = 0;
 out:
-       mddev_resume(mddev);
-       mddev_unlock(mddev);
+       mddev_unlock_and_resume(mddev);
        if (rv)
                return rv;
        return len;