From: Coly Li <firstname.lastname@example.org> To: email@example.com, firstname.lastname@example.org, email@example.com, firstname.lastname@example.org Cc: email@example.com, Coly Li <firstname.lastname@example.org>, Dan Williams <email@example.com>, Hannes Reinecke <firstname.lastname@example.org>, Jens Axboe <email@example.com>, NeilBrown <firstname.lastname@example.org>, Richard Fan <email@example.com>, Vishal L Verma <firstname.lastname@example.org> Subject: [PATCH v3 0/7] badblocks improvement for multiple bad block ranges Date: Tue, 14 Sep 2021 00:36:36 +0800 [thread overview] Message-ID: <email@example.com> (raw) This is the second effort to improve badblocks code APIs to handle multiple ranges in bad block table. There are 2 changes from previous version, - Fixes 2 bugs in front_overwrite() which are detected by the user space testing code. - Provide the user space testing code in last patch. There is NO in-memory or on-disk format change in the whole 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. The modified user space testing code is provided in last patch. The testing code detects 2 defects in helper front_overwrite() and fixed in this version. 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. This version is seriously tested, and so far no more defect observed. Coly Li Cc: Dan Williams <firstname.lastname@example.org> Cc: Hannes Reinecke <email@example.com> Cc: Jens Axboe <firstname.lastname@example.org> Cc: NeilBrown <email@example.com> Cc: Richard Fan <firstname.lastname@example.org> Cc: Vishal L Verma <email@example.com> --- Changelog: v3: add tester Richard Fan <firstname.lastname@example.org> v2: the improved version, and with testing code. v1: the first completed version. 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 Coly Li (1): test: user space code to test badblocks APIs block/badblocks.c | 1599 ++++++++++++++++++++++++++++++------- include/linux/badblocks.h | 32 + 2 files changed, 1340 insertions(+), 291 deletions(-) -- 2.31.1
next reply other threads:[~2021-09-13 16:38 UTC|newest] Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-13 16:36 Coly Li [this message] 2021-09-13 16:36 ` [PATCH v3 1/6] badblocks: add more helper structure and routines in badblocks.h Coly Li 2021-09-27 7:23 ` Geliang Tang 2021-09-27 8:23 ` Coly Li 2021-09-13 16:36 ` [PATCH v3 2/6] badblocks: add helper routines for badblock ranges handling Coly Li 2021-09-27 7:25 ` Geliang Tang 2021-09-27 8:17 ` Coly Li 2021-09-13 16:36 ` [PATCH v3 3/6] badblocks: improvement badblocks_set() for multiple " Coly Li 2021-09-27 7:30 ` Geliang Tang 2021-09-27 8:16 ` Coly Li 2021-09-13 16:36 ` [PATCH v3 4/6] badblocks: improve badblocks_clear() " Coly Li 2021-09-13 16:36 ` [PATCH v3 5/6] badblocks: improve badblocks_check() " Coly Li 2021-09-13 16:36 ` [PATCH v3 6/6] badblocks: switch to the improved badblock handling code Coly Li 2021-09-13 16:36 ` [PATCH] test: user space code to test badblocks APIs Coly Li 2021-09-23 5:59 ` Too large badblocks sysfs file (was: [PATCH v3 0/7] badblocks improvement for multiple bad block ranges) Coly Li 2021-09-23 6:08 ` Greg Kroah-Hartman 2021-09-23 6:14 ` Coly Li 2021-09-23 6:47 ` Greg Kroah-Hartman 2021-09-23 7:13 ` Coly Li 2021-09-23 9:40 ` Hannes Reinecke 2021-09-23 9:57 ` Greg Kroah-Hartman 2021-09-23 10:09 ` NeilBrown 2021-09-23 10:39 ` Greg Kroah-Hartman 2021-09-23 12:55 ` Coly Li
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --firstname.lastname@example.org \ --email@example.com \ --subject='Re: [PATCH v3 0/7] badblocks improvement for multiple bad block ranges' \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
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).