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

From: Coly Li
Date: Fri Feb 21 2025 - 05:24:01 EST


On Fri, Feb 21, 2025 at 04:11:03PM +0800, 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>

Looks good to me.

Acked-by: Coly Li <colyli@xxxxxxxxxx>

Thanks.

> ---
> 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;
>
> 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++;
> --
> 2.39.2
>

--
Coly Li