Commit 3b0e6aac authored by Stephen Rothwell's avatar Stephen Rothwell Committed by NeilBrown

md/bitmap: use sector_div for sector_t divisions

neilb: modified to not corrupt ->resync_max_sectors.

sector_div usage fixed by Guoqing Jiang <gqjiang@suse.com>
Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarNeilBrown <neilb@suse.de>
parent 935f3d4f
...@@ -571,9 +571,10 @@ static int bitmap_read_sb(struct bitmap *bitmap) ...@@ -571,9 +571,10 @@ static int bitmap_read_sb(struct bitmap *bitmap)
re_read: re_read:
/* If cluster_slot is set, the cluster is setup */ /* If cluster_slot is set, the cluster is setup */
if (bitmap->cluster_slot >= 0) { if (bitmap->cluster_slot >= 0) {
sector_t bm_blocks; sector_t bm_blocks = bitmap->mddev->resync_max_sectors;
bm_blocks = bitmap->mddev->resync_max_sectors / (bitmap->mddev->bitmap_info.chunksize >> 9); sector_div(bm_blocks,
bitmap->mddev->bitmap_info.chunksize >> 9);
bm_blocks = bm_blocks << 3; bm_blocks = bm_blocks << 3;
bm_blocks = DIV_ROUND_UP_SECTOR_T(bm_blocks, 4096); bm_blocks = DIV_ROUND_UP_SECTOR_T(bm_blocks, 4096);
bitmap->mddev->bitmap_info.offset += bitmap->cluster_slot * (bm_blocks << 3); bitmap->mddev->bitmap_info.offset += bitmap->cluster_slot * (bm_blocks << 3);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment