]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
md: use new helper md_bitmap_get_stats() in update_array_info()
authorYu Kuai <yukuai3@huawei.com>
Mon, 26 Aug 2024 07:44:13 +0000 (15:44 +0800)
committerSong Liu <song@kernel.org>
Tue, 27 Aug 2024 17:14:14 +0000 (10:14 -0700)
There are no functional changes, avoid dereferencing bitmap directly to
prepare inventing a new bitmap.

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

index 22731d2717ba3a9319546b9c8d21642ad0f50c64..0cca8d3acfe30a939b581ab7f3567bffaded2add 100644 (file)
@@ -7577,15 +7577,17 @@ static int update_array_info(struct mddev *mddev, mdu_array_info_t *info)
                        if (rv)
                                md_bitmap_destroy(mddev);
                } else {
-                       /* remove the bitmap */
-                       if (!mddev->bitmap) {
-                               rv = -ENOENT;
+                       struct md_bitmap_stats stats;
+
+                       rv = md_bitmap_get_stats(mddev->bitmap, &stats);
+                       if (rv)
                                goto err;
-                       }
-                       if (mddev->bitmap->storage.file) {
+
+                       if (stats.file) {
                                rv = -EINVAL;
                                goto err;
                        }
+
                        if (mddev->bitmap_info.nodes) {
                                /* hold PW on all the bitmap lock */
                                if (md_cluster_ops->lock_all_bitmaps(mddev) <= 0) {