Hi, Jens!
在 2025/02/27 15:54, Zheng Qixing 写道:
> From: Zheng Qixing <zhengqixing@huawei.com>
>
> Hi,
>
> during RAID feature implementation testing, we found several bugs
> in badblocks.
>
> This series contains bugfixes and cleanups for MD RAID badblocks
> handling code.
>
> V2:
> - patch 4: add a description of the issue
> - patch 5: add comment of parital setting
> - patch 6: add fix tag
> - patch 10: two code style modifications
> - patch 11: keep original functionality of rdev_clear_badblocks(),
> functionality was incorrectly modified in V1.
> - patch 1-10 and patch 12 are reviewed by Yu Kuai
> <yukuai3@huawei.com>
> - patch 1, 3, 5, 6, 8, 9, 10, 12 are acked by Coly Li
> <colyli@kernel.org>
>
> 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 boolean 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
>
This set contains fixes that are found by testing mdraid, please
consider this set for the next merge window, or I can apply it to
md-6.15.
Thanks,
Kuai
> block/badblocks.c | 322 +++++++++++++---------------------
> drivers/block/null_blk/main.c | 16 +-
> drivers/md/md.c | 48 ++---
> 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, 183 insertions(+), 266 deletions(-)
>