[PATCH RFC -next v2 37/41] md/md-bitmap: merge md_bitmap_set_pages() into struct bitmap_operations

From: Yu Kuai
Date: Wed Aug 14 2024 - 03:24:52 EST


From: Yu Kuai <yukuai3@xxxxxxxxxx>

o that the implementation won't be exposed, and it'll be possible
o invent a new bitmap by replacing bitmap_operations.

Signed-off-by: Yu Kuai <yukuai3@xxxxxxxxxx>
---
drivers/md/md-bitmap.c | 4 ++--
drivers/md/md-bitmap.h | 2 +-
drivers/md/md-cluster.c | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
index 5d04b32ce088..f53e3a62c4e2 100644
--- a/drivers/md/md-bitmap.c
+++ b/drivers/md/md-bitmap.c
@@ -2131,11 +2131,10 @@ static int bitmap_copy_from_slot(struct mddev *mddev, int slot, sector_t *low,
return rv;
}

-void md_bitmap_set_pages(struct bitmap *bitmap, unsigned long pages)
+static void bitmap_set_pages(struct bitmap *bitmap, unsigned long pages)
{
bitmap->counts.pages = pages;
}
-EXPORT_SYMBOL_GPL(md_bitmap_set_pages);

static int bitmap_get_stats(struct bitmap *bitmap, struct md_bitmap_stats *stats)
{
@@ -2771,6 +2770,7 @@ static struct bitmap_operations bitmap_ops = {
.sync_with_cluster = bitmap_sync_with_cluster,
.get_from_slot = bitmap_get_from_slot,
.copy_from_slot = bitmap_copy_from_slot,
+ .set_pages = bitmap_set_pages,
};

void mddev_set_bitmap_ops(struct mddev *mddev)
diff --git a/drivers/md/md-bitmap.h b/drivers/md/md-bitmap.h
index 1dbc78b9172b..d5bbadc1f6fd 100644
--- a/drivers/md/md-bitmap.h
+++ b/drivers/md/md-bitmap.h
@@ -278,6 +278,7 @@ struct bitmap_operations {
struct bitmap *(*get_from_slot)(struct mddev *mddev, int slot);
int (*copy_from_slot)(struct mddev *mddev, int slot, sector_t *lo,
sector_t *hi, bool clear_bits);
+ void (*set_pages)(struct bitmap *bitmap, unsigned long pages);
};

/* the bitmap API */
@@ -285,7 +286,6 @@ void mddev_set_bitmap_ops(struct mddev *mddev);

/* these are exported */

-void md_bitmap_set_pages(struct bitmap *bitmap, unsigned long pages);
void md_bitmap_free(struct bitmap *bitmap);
void md_bitmap_wait_behind_writes(struct mddev *mddev);

diff --git a/drivers/md/md-cluster.c b/drivers/md/md-cluster.c
index 201a4b12c2fe..64a4ccbe68c0 100644
--- a/drivers/md/md-cluster.c
+++ b/drivers/md/md-cluster.c
@@ -1191,7 +1191,7 @@ static int resize_bitmaps(struct mddev *mddev, sector_t newsize, sector_t oldsiz
bm_lockres->flags |= DLM_LKF_NOQUEUE;
rv = dlm_lock_sync(bm_lockres, DLM_LOCK_PW);
if (!rv)
- md_bitmap_set_pages(bitmap, my_pages);
+ mddev->bitmap_ops->set_pages(bitmap, my_pages);
lockres_free(bm_lockres);

if (my_pages != stats.pages)
--
2.39.2