Re: [PATCH v7 0/6] badblocks improvement for multiple bad block ranges

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

 



On Sat, Aug 12, 2023 at 01:05:06AM +0800, Coly Li wrote:
> This is the v7 version of the badblocks improvement series, which makes
> badblocks APIs to handle multiple ranges in bad block table.
> 
> The change comparing to previous v6 version is the modifications
> enlightened by the code review comments from Xiao Ni,
> - Typo fixes in code comments and commit logs.
> - Tiny but useful optimzation in prev_badblocks(), front_overwrite(),
>   _badblocks_clear().
> 
> There is NO in-memory or on-disk format change in the whole series, all
> existing API and data structures are consistent. This series just only
> improve the code algorithm to handle more corner cases, the interfaces
> are same and consistency to all existing callers (md raid and nvdimm
> drivers).
> 
> The original motivation of the change is from the requirement from our
> customer, that current badblocks routines don't handle multiple ranges.
> For example if the bad block setting range covers multiple ranges from
> bad block table, only the first two bad block ranges merged and rested
> ranges are intact. The expected behavior should be all the covered
> ranges to be handled.
> 
> All the patches are tested by modified user space code and the code
> logic works as expected. The modified user space testing code is
> provided in the last patch, which is not listed in the cover letter. The
> testing code is an example how the improved code is tested.
> 
> The whole change is divided into 6 patches to make the code review more
> clear and easier. If people prefer, I'd like to post a single large
> patch finally after the code review accomplished.
> 
> Please review the code and response. Thank you all in advance.
> 
> Coly Li
> 
> Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
> Cc: Geliang Tang <geliang.tang@xxxxxxxx>
> Cc: Hannes Reinecke <hare@xxxxxxx>
> Cc: Jens Axboe <axboe@xxxxxxxxx>
> Cc: NeilBrown <neilb@xxxxxxx>
> Cc: Richard Fan <richard.fan@xxxxxxxx>
> Cc: Vishal L Verma <vishal.l.verma@xxxxxxxxx>
> Cc: Wols Lists <antlists@xxxxxxxxxxxxxxx>
> Cc: Xiao Ni <xni@xxxxxxxxxx>

This series LGTM, thanks Coly.

Acked-by: Geliang Tang <geliang.tang@xxxxxxxx>

> ---
> 
> Coly Li (6):
>   badblocks: add more helper structure and routines in badblocks.h
>   badblocks: add helper routines for badblock ranges handling
>   badblocks: improve badblocks_set() for multiple ranges handling
>   badblocks: improve badblocks_clear() for multiple ranges handling
>   badblocks: improve badblocks_check() for multiple ranges handling
>   badblocks: switch to the improved badblock handling code
> 
>  block/badblocks.c         | 1618 ++++++++++++++++++++++++++++++-------
>  include/linux/badblocks.h |   30 +
>  2 files changed, 1354 insertions(+), 294 deletions(-)
> 
> -- 
> 2.35.3
> 



[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