]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
md/md-bitmap: merge md_bitmap_sync_with_cluster() into bitmap_operations
authorYu Kuai <yukuai3@huawei.com>
Mon, 26 Aug 2024 07:44:40 +0000 (15:44 +0800)
committerSong Liu <song@kernel.org>
Tue, 27 Aug 2024 19:43:14 +0000 (12:43 -0700)
So that the implementation won't be exposed, and it'll be possible
to invent a new bitmap by replacing bitmap_operations.

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

index 2d9d9689f721233b3e3ef78c789d7f78678f99ec..9fe97f14a71981cf4d16387549ffdaed59d15041 100644 (file)
@@ -1721,9 +1721,9 @@ static void bitmap_cond_end_sync(struct mddev *mddev, sector_t sector,
        sysfs_notify_dirent_safe(bitmap->mddev->sysfs_completed);
 }
 
-void md_bitmap_sync_with_cluster(struct mddev *mddev,
-                             sector_t old_lo, sector_t old_hi,
-                             sector_t new_lo, sector_t new_hi)
+static void bitmap_sync_with_cluster(struct mddev *mddev,
+                                    sector_t old_lo, sector_t old_hi,
+                                    sector_t new_lo, sector_t new_hi)
 {
        struct bitmap *bitmap = mddev->bitmap;
        sector_t sector, blocks = 0;
@@ -1740,7 +1740,6 @@ void md_bitmap_sync_with_cluster(struct mddev *mddev,
        }
        WARN((blocks > new_hi) && old_hi, "alignment is not correct for hi\n");
 }
-EXPORT_SYMBOL(md_bitmap_sync_with_cluster);
 
 static void md_bitmap_set_memory_bits(struct bitmap *bitmap, sector_t offset, int needed)
 {
@@ -2753,6 +2752,8 @@ static struct bitmap_operations bitmap_ops = {
 
        .update_sb              = bitmap_update_sb,
        .get_stats              = bitmap_get_stats,
+
+       .sync_with_cluster      = bitmap_sync_with_cluster,
 };
 
 void mddev_set_bitmap_ops(struct mddev *mddev)
index 027de097f96a9f02a29fb440ac73f7395efee3e9..0953ac73735c7c9c627faa26a3c42384bb2ffa96 100644 (file)
@@ -267,16 +267,16 @@ struct bitmap_operations {
 
        void (*update_sb)(struct bitmap *bitmap);
        int (*get_stats)(struct bitmap *bitmap, struct md_bitmap_stats *stats);
+
+       void (*sync_with_cluster)(struct mddev *mddev,
+                                 sector_t old_lo, sector_t old_hi,
+                                 sector_t new_lo, sector_t new_hi);
 };
 
 /* the bitmap API */
 void mddev_set_bitmap_ops(struct mddev *mddev);
 
 /* these are exported */
-void md_bitmap_sync_with_cluster(struct mddev *mddev,
-                                sector_t old_lo, sector_t old_hi,
-                                sector_t new_lo, sector_t new_hi);
-
 void md_bitmap_unplug(struct bitmap *bitmap);
 void md_bitmap_unplug_async(struct bitmap *bitmap);
 void md_bitmap_daemon_work(struct mddev *mddev);
index a5f1135cc1fa9290a6b099ae8fc4e297e099e8be..55feabe14ad3ac5111e32b38402fd37f62235254 100644 (file)
@@ -497,8 +497,8 @@ static void process_suspend_info(struct mddev *mddev,
         * we don't want to trigger lots of WARN.
         */
        if (sb && !(le32_to_cpu(sb->feature_map) & MD_FEATURE_RESHAPE_ACTIVE))
-               md_bitmap_sync_with_cluster(mddev, cinfo->sync_low,
-                                           cinfo->sync_hi, lo, hi);
+               mddev->bitmap_ops->sync_with_cluster(mddev, cinfo->sync_low,
+                                                    cinfo->sync_hi, lo, hi);
        cinfo->sync_low = lo;
        cinfo->sync_hi = hi;