[v2,00/11] block/badblocks: fix badblocks setting error

Message ID 20230504124828.679770-1-linan666@huaweicloud.com
Headers
Series block/badblocks: fix badblocks setting error |

Message

Li Nan May 4, 2023, 12:48 p.m. UTC
  From: Li Nan <linan122@huawei.com>

The patch series fix the bug of setting badblocks, which may not match
expectations in complex scenarios. Optimize the code to make it more
readable at the same time.

Changes in v2:
 - add missing patch "block/badblocks: change some members of badblocks
 to bool"

Li Nan (11):
  block/badblocks: change some members of badblocks to bool
  block/badblocks: only set bb->changed when badblocks changes
  block/badblocks: fix badblocks loss when badblocks combine
  block/badblocks: fix badblocks overlap
  block/badblocks: fix the bug of reverse order
  block/badblocks: fix ack set fail in badblocks_set
  block/badblocks: check bb->count instead of 'hi > lo'
  block/badblocks: factor out a helper to merge badblocks
  block/badblocks: factor out a helper to combine badblocks
  block/badblocks: factor out a helper to create badblocks
  block/badblocks: try to merge badblocks as much as possible

 block/badblocks.c         | 310 +++++++++++++++++++++++---------------
 include/linux/badblocks.h |  10 +-
 2 files changed, 197 insertions(+), 123 deletions(-)