From: Zheng Qixing <zhengqixing@xxxxxxxxxx> 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(-) -- 2.39.2