Re: [PATCH 06/12] badblocks: fix the using of MAX_BADBLOCKS

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

 




On 21.02.25 09:11, Zheng Qixing wrote:
From: Li Nan <linan122@xxxxxxxxxx>

The number of badblocks cannot exceed MAX_BADBLOCKS, but it should be
allowed to equal MAX_BADBLOCKS.

Fixes: aa511ff8218b ("badblocks: switch to the improved badblock handling code")
Signed-off-by: Li Nan <linan122@xxxxxxxxxx>
---
  block/badblocks.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/badblocks.c b/block/badblocks.c
index a953d2e9417f..87267bae6836 100644
--- a/block/badblocks.c
+++ b/block/badblocks.c
@@ -700,7 +700,7 @@ static bool can_front_overwrite(struct badblocks *bb, int prev,
  			*extra = 2;
  	}
- if ((bb->count + (*extra)) >= MAX_BADBLOCKS)
+	if ((bb->count + (*extra)) > MAX_BADBLOCKS)
  		return false;


In this commit,

commit c3c6a86e9efc5da5964260c322fe07feca6df782
Author: Coly Li <colyli@xxxxxxx>
Date:   Sat Aug 12 01:05:08 2023 +0800

    badblocks: add helper routines for badblock ranges handling

    This patch adds several helper routines to improve badblock ranges
    handling. These helper routines will be used later in the improved
    version of badblocks_set()/badblocks_clear()/badblocks_check().

    - Helpers prev_by_hint() and prev_badblocks() are used to find the bad
      range from bad table which the searching range starts at or after.

The above is changed to MAX_BADBLOCKS. Thus, perhaps, the Fixes tag should include the above commit?

Except that, I am fine with this commit.

Reviewed-by: Zhu Yanjun <yanjun.zhu@xxxxxxxxx>

Zhu Yanjun


return true;
@@ -1135,7 +1135,7 @@ static int _badblocks_clear(struct badblocks *bb, sector_t s, int sectors)
  		if ((BB_OFFSET(p[prev]) < bad.start) &&
  		    (BB_END(p[prev]) > (bad.start + bad.len))) {
  			/* Splitting */
-			if ((bb->count + 1) < MAX_BADBLOCKS) {
+			if ((bb->count + 1) <= MAX_BADBLOCKS) {
  				len = front_splitting_clear(bb, prev, &bad);
  				bb->count += 1;
  				cleared++;

--
Best Regards,
Yanjun.Zhu





[Index of Archives]     [Linux RAID]     [Linux SCSI]     [Linux ATA RAID]     [IDE]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Device Mapper]

  Powered by Linux