|
hmzhao |
c703c1 |
From a913096decbf4101271e7d87b9affb1454bb7676 Mon Sep 17 00:00:00 2001
|
|
hmzhao |
c703c1 |
From: Zhao Heming <heming.zhao@suse.com>
|
|
hmzhao |
c703c1 |
Date: Tue, 6 Oct 2020 00:00:23 +0800
|
|
hmzhao |
c703c1 |
Subject: [PATCH] md/bitmap: md_bitmap_read_sb uses wrong bitmap blocks
|
|
hmzhao |
c703c1 |
Git-commit: a913096decbf4101271e7d87b9affb1454bb7676
|
|
hmzhao |
c703c1 |
Patch-mainline: v5.10-rc1
|
|
hmzhao |
c703c1 |
References: bsc#1163727
|
|
hmzhao |
c703c1 |
|
|
hmzhao |
c703c1 |
The patched code is used to get chunks number, should use round-up div
|
|
hmzhao |
c703c1 |
to replace current sector_div. The same code is in md_bitmap_resize():
|
|
hmzhao |
c703c1 |
```
|
|
hmzhao |
c703c1 |
chunks = DIV_ROUND_UP_SECTOR_T(blocks, 1 << chunkshift);
|
|
hmzhao |
c703c1 |
```
|
|
hmzhao |
c703c1 |
|
|
hmzhao |
c703c1 |
Signed-off-by: Zhao Heming <heming.zhao@suse.com>
|
|
hmzhao |
c703c1 |
Signed-off-by: Song Liu <songliubraving@fb.com>
|
|
hmzhao |
c703c1 |
---
|
|
hmzhao |
c703c1 |
drivers/md/md-bitmap.c | 4 ++--
|
|
hmzhao |
c703c1 |
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
hmzhao |
c703c1 |
|
|
hmzhao |
c703c1 |
diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
|
|
hmzhao |
c703c1 |
index 55b757a223a4..cd9a12ca281d 100644
|
|
hmzhao |
c703c1 |
--- a/drivers/md/md-bitmap.c
|
|
hmzhao |
c703c1 |
+++ b/drivers/md/md-bitmap.c
|
|
hmzhao |
c703c1 |
@@ -606,8 +606,8 @@ static int md_bitmap_read_sb(struct bitmap *bitmap)
|
|
hmzhao |
c703c1 |
if (bitmap->cluster_slot >= 0) {
|
|
hmzhao |
c703c1 |
sector_t bm_blocks = bitmap->mddev->resync_max_sectors;
|
|
hmzhao |
c703c1 |
|
|
hmzhao |
c703c1 |
- sector_div(bm_blocks,
|
|
hmzhao |
c703c1 |
- bitmap->mddev->bitmap_info.chunksize >> 9);
|
|
hmzhao |
c703c1 |
+ bm_blocks = DIV_ROUND_UP_SECTOR_T(bm_blocks,
|
|
hmzhao |
c703c1 |
+ (bitmap->mddev->bitmap_info.chunksize >> 9));
|
|
hmzhao |
c703c1 |
/* bits to bytes */
|
|
hmzhao |
c703c1 |
bm_blocks = ((bm_blocks+7) >> 3) + sizeof(bitmap_super_t);
|
|
hmzhao |
c703c1 |
/* to 4k blocks */
|
|
hmzhao |
c703c1 |
--
|
|
hmzhao |
c703c1 |
1.8.3.1
|
|
hmzhao |
c703c1 |
|