nvdimm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v1 0/6] badblocks improvement for multiple bad block ranges
@ 2021-03-02  4:02 Coly Li
  2021-03-02  4:02 ` [RFC PATCH v1 1/6] badblocks: add more helper structure and routines in badblocks.h Coly Li
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Coly Li @ 2021-03-02  4:02 UTC (permalink / raw)
  To: linux-block, axboe, dan.j.williams, vishal.l.verma, neilb
  Cc: antlists, linux-kernel, linux-raid, linux-nvdimm, Coly Li

This is the first completed effort to improve badblocks code to handle
multiple ranges in bad block table.

There is neither in-memory nor on-disk format change in this 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. Kernel space testing and debugging is on the
way while I am asking help for code review at the same time.

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.

Thank you in advance for any review comment and suggestion.

Coly Li (6):
  badblocks: add more helper structure and routines in badblocks.h
  badblocks: add helper routines for badblock ranges handling
  badblocks: improvement 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         | 1591 ++++++++++++++++++++++++++++++-------
 include/linux/badblocks.h |   32 +
 2 files changed, 1332 insertions(+), 291 deletions(-)

-- 
2.26.2
_______________________________________________
Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org
To unsubscribe send an email to linux-nvdimm-leave@lists.01.org

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-03-03 11:45 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-02  4:02 [RFC PATCH v1 0/6] badblocks improvement for multiple bad block ranges Coly Li
2021-03-02  4:02 ` [RFC PATCH v1 1/6] badblocks: add more helper structure and routines in badblocks.h Coly Li
2021-03-03  8:20   ` Hannes Reinecke
2021-03-03 11:45     ` Coly Li
2021-03-02  4:02 ` [RFC PATCH v1 2/6] badblocks: add helper routines for badblock ranges handling Coly Li
2021-03-02  4:02 ` [RFC PATCH v1 3/6] badblocks: improvement badblocks_set() for multiple " Coly Li
2021-03-02  4:02 ` [RFC PATCH v1 4/6] badblocks: improve badblocks_clear() " Coly Li
2021-03-02  4:02 ` [RFC PATCH v1 5/6] badblocks: improve badblocks_check() " Coly Li
2021-03-02  4:02 ` [RFC PATCH v1 6/6] badblocks: switch to the improved badblock handling code Coly Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).