Re: [PATCH] md: Fix bitmap offset type in sb writer

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

在 2023/04/28 10:04, Yu Kuai 写道:
Hi,

在 2023/04/28 1:45, Song Liu 写道:
On Thu, Apr 27, 2023 at 2:35 AM Yu Kuai <yukuai1@xxxxxxxxxxxxxxx> wrote:

Hi,

在 2023/04/27 1:58, Song Liu 写道:
Hi Jonathan,

On Tue, Apr 25, 2023 at 8:44 PM Song Liu <song@xxxxxxxxxx> wrote:

On Mon, Apr 24, 2023 at 6:16 PM Jonathan Derrick
<jonathan.derrick@xxxxxxxxx> wrote:

Bitmap offset is allowed to be negative, indicating that bitmap precedes
metadata. Change the type back from sector_t to loff_t to satisfy
conditionals and calculations.

This actually breaks the following tests from mdadm:

05r1-add-internalbitmap-v1a

After a quick look of this test, I think the root cause is another
patch:

commit 8745faa95611 ("md: Use optimal I/O size for last bitmap page")

This patch add a new helper bitmap_io_size(), which breaks the condition
that 'negative value < 0'.

And following patch should fix this problem:

diff --git a/drivers/md/md-bitmap.c b/drivers/md/md-bitmap.c
index adbe95e03852..b1b521837156 100644
--- a/drivers/md/md-bitmap.c
+++ b/drivers/md/md-bitmap.c
@@ -219,8 +219,9 @@ static unsigned int optimal_io_size(struct
block_device *bdev,
   }

   static unsigned int bitmap_io_size(unsigned int io_size, unsigned int
opt_size,
-                                  sector_t start, sector_t boundary)
+                                  loff_t start, loff_t boundary)
   {

05r1-internalbitmap-v1a
05r1-remove-internalbitmap-v1a


The patch is not tested yet, and I don't have time to look other tests
yet...

Thanks Kuai! This fixed the test.

Thanks for the test, I'll check more details and try tests myself later.

Kuai

I will add your Signed-off-by to the patch. Please let me know if you
prefer not to have it.

I just reviewed realted patches and tested myself, perhaps it'll be
better to use Suggested-and-reviewed-by, anyway, I'm good with either
way.

Thanks,
Kuai

Song
.


.





[Index of Archives]     [Linux RAID Wiki]     [ATA RAID]     [Linux SCSI Target Infrastructure]     [Linux Block]     [Linux IDE]     [Linux SCSI]     [Linux Hams]     [Device Mapper]     [Device Mapper Cryptographics]     [Kernel]     [Linux Admin]     [Linux Net]     [GFS]     [RPM]     [git]     [Yosemite Forum]


  Powered by Linux