mbox series

[00/12] badblocks: bugfix and cleanup for badblocks

Message ID 20250221081109.734170-1-zhengqixing@huaweicloud.com (mailing list archive)
Headers show
Series badblocks: bugfix and cleanup for badblocks | expand

Message

Zheng Qixing Feb. 21, 2025, 8:10 a.m. UTC
From: Zheng Qixing <zhengqixing@huawei.com>

During RAID feature implementation testing, we found several bugs
in badblocks.

This series contains bugfixes and cleanups for MD RAID badblocks
handling code.

Li Nan (8):
  badblocks: Fix error shitf ops
  badblocks: factor out a helper try_adjacent_combine
  badblocks: attempt to merge adjacent badblocks during
    ack_all_badblocks
  badblocks: return error directly when setting badblocks exceeds 512
  badblocks: return error if any badblock set fails
  badblocks: fix the using of MAX_BADBLOCKS
  badblocks: try can_merge_front before overlap_front
  badblocks: fix merge issue when new badblocks align with pre+1

Zheng Qixing (4):
  badblocks: fix missing bad blocks on retry in _badblocks_check()
  badblocks: return boolen from badblocks_set() and badblocks_clear()
  md: improve return types of badblocks handling functions
  badblocks: use sector_t instead of int to avoid truncation of
    badblocks length

 block/badblocks.c             | 317 +++++++++++++---------------------
 drivers/block/null_blk/main.c |  19 +-
 drivers/md/md.c               |  47 +++--
 drivers/md/md.h               |  14 +-
 drivers/md/raid1-10.c         |   2 +-
 drivers/md/raid1.c            |  10 +-
 drivers/md/raid10.c           |  14 +-
 drivers/nvdimm/badrange.c     |   2 +-
 drivers/nvdimm/nd.h           |   2 +-
 drivers/nvdimm/pfn_devs.c     |   7 +-
 drivers/nvdimm/pmem.c         |   2 +-
 include/linux/badblocks.h     |  10 +-
 12 files changed, 181 insertions(+), 265 deletions(-)

Comments

Yu Kuai Feb. 21, 2025, 9 a.m. UTC | #1
Hi,

在 2025/02/21 16:10, Zheng Qixing 写道:
> From: Zheng Qixing <zhengqixing@huawei.com>
> 
> During RAID feature implementation testing, we found several bugs
> in badblocks.
> 
> This series contains bugfixes and cleanups for MD RAID badblocks
> handling code.

In addition, patch 1-8 is found while testing badblocks APIs, by mdraid
sysfs APIs, and it's applied and running in downstream kernels for a
long time.

Patch 9-12 is found recently by RAID new feature that is still in
development.

Thanks,
Kuai

> 
> Li Nan (8):
>    badblocks: Fix error shitf ops
>    badblocks: factor out a helper try_adjacent_combine
>    badblocks: attempt to merge adjacent badblocks during
>      ack_all_badblocks
>    badblocks: return error directly when setting badblocks exceeds 512
>    badblocks: return error if any badblock set fails
>    badblocks: fix the using of MAX_BADBLOCKS
>    badblocks: try can_merge_front before overlap_front
>    badblocks: fix merge issue when new badblocks align with pre+1
> 
> Zheng Qixing (4):
>    badblocks: fix missing bad blocks on retry in _badblocks_check()
>    badblocks: return boolen from badblocks_set() and badblocks_clear()
>    md: improve return types of badblocks handling functions
>    badblocks: use sector_t instead of int to avoid truncation of
>      badblocks length
> 
>   block/badblocks.c             | 317 +++++++++++++---------------------
>   drivers/block/null_blk/main.c |  19 +-
>   drivers/md/md.c               |  47 +++--
>   drivers/md/md.h               |  14 +-
>   drivers/md/raid1-10.c         |   2 +-
>   drivers/md/raid1.c            |  10 +-
>   drivers/md/raid10.c           |  14 +-
>   drivers/nvdimm/badrange.c     |   2 +-
>   drivers/nvdimm/nd.h           |   2 +-
>   drivers/nvdimm/pfn_devs.c     |   7 +-
>   drivers/nvdimm/pmem.c         |   2 +-
>   include/linux/badblocks.h     |  10 +-
>   12 files changed, 181 insertions(+), 265 deletions(-)
>
Coly Li Feb. 21, 2025, 11:52 a.m. UTC | #2
On Fri, Feb 21, 2025 at 04:10:57PM +0800, Zheng Qixing wrote:
> From: Zheng Qixing <zhengqixing@huawei.com>
> 
> During RAID feature implementation testing, we found several bugs
> in badblocks.
> 
> This series contains bugfixes and cleanups for MD RAID badblocks
> handling code.
> 
> Li Nan (8):
>   badblocks: Fix error shitf ops
>   badblocks: factor out a helper try_adjacent_combine
>   badblocks: attempt to merge adjacent badblocks during
>     ack_all_badblocks
>   badblocks: return error directly when setting badblocks exceeds 512
>   badblocks: return error if any badblock set fails
>   badblocks: fix the using of MAX_BADBLOCKS
>   badblocks: try can_merge_front before overlap_front
>   badblocks: fix merge issue when new badblocks align with pre+1
> 
> Zheng Qixing (4):
>   badblocks: fix missing bad blocks on retry in _badblocks_check()
>   badblocks: return boolen from badblocks_set() and badblocks_clear()
>   md: improve return types of badblocks handling functions
>   badblocks: use sector_t instead of int to avoid truncation of
>     badblocks length
>

Thank you all for the testing and fix up!

Coly Li

 
>  block/badblocks.c             | 317 +++++++++++++---------------------
>  drivers/block/null_blk/main.c |  19 +-
>  drivers/md/md.c               |  47 +++--
>  drivers/md/md.h               |  14 +-
>  drivers/md/raid1-10.c         |   2 +-
>  drivers/md/raid1.c            |  10 +-
>  drivers/md/raid10.c           |  14 +-
>  drivers/nvdimm/badrange.c     |   2 +-
>  drivers/nvdimm/nd.h           |   2 +-
>  drivers/nvdimm/pfn_devs.c     |   7 +-
>  drivers/nvdimm/pmem.c         |   2 +-
>  include/linux/badblocks.h     |  10 +-
>  12 files changed, 181 insertions(+), 265 deletions(-)
> 
> -- 
> 2.39.2
>