Commit 4338b942 authored by Yu Kuai's avatar Yu Kuai Committed by Song Liu
Browse files

md/md-bitmap: merge md_bitmap_sync_with_cluster() into bitmap_operations



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: default avatarYu Kuai <yukuai3@huawei.com>
Link: https://lore.kernel.org/r/20240826074452.1490072-31-yukuai1@huaweicloud.com


Signed-off-by: default avatarSong Liu <song@kernel.org>
parent 15db1eca
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1721,7 +1721,7 @@ 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,
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)
{
@@ -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)
+4 −4
Original line number Diff line number Diff line
@@ -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);
+2 −2
Original line number Diff line number Diff line
@@ -497,7 +497,7 @@ 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,
		mddev->bitmap_ops->sync_with_cluster(mddev, cinfo->sync_low,
						     cinfo->sync_hi, lo, hi);
	cinfo->sync_low = lo;
	cinfo->sync_hi = hi;