md: don't check 'mddev->pers' and 'pers->quiesce' from suspend_lo_store()
authorYu Kuai <yukuai3@huawei.com>
Fri, 25 Aug 2023 03:09:56 +0000 (11:09 +0800)
committerSong Liu <song@kernel.org>
Fri, 22 Sep 2023 17:28:27 +0000 (10:28 -0700)
Now that mddev_suspend() doean't rely on 'mddev->pers' to be set, it's
safe to remove such checking.

This will also allow the array to be suspended even before the array
is ran.

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

index 081b6ec2da523fe678fe92fadd59ce248a33843a..10cb4dfbf4ae8406fa566f389ac61f72c3a12c13 100644 (file)
@@ -5189,18 +5189,13 @@ suspend_lo_store(struct mddev *mddev, const char *buf, size_t len)
        err = mddev_lock(mddev);
        if (err)
                return err;
-       err = -EINVAL;
-       if (mddev->pers == NULL ||
-           mddev->pers->quiesce == NULL)
-               goto unlock;
+
        mddev_suspend(mddev);
        mddev->suspend_lo = new;
        mddev_resume(mddev);
 
-       err = 0;
-unlock:
        mddev_unlock(mddev);
-       return err ?: len;
+       return len;
 }
 static struct md_sysfs_entry md_suspend_lo =
 __ATTR(suspend_lo, S_IRUGO|S_IWUSR, suspend_lo_show, suspend_lo_store);