Thread (6 messages) 6 messages, 3 authors, 2020-12-22

Re: [RFC PATCH] badblocks: Improvement badblocks_set() for handling multiple ranges

From: Coly Li <hidden>
Date: 2020-12-20 09:47:17
Also in: linux-block, lkml, nvdimm

On 12/20/20 4:02 AM, antlists wrote:
On 03/12/2020 17:15, Coly Li wrote:
quoted
This patch is an initial effort to improve badblocks_set() for setting
bad blocks range when it covers multiple already set bad ranges in the
bad blocks table, and to do it as fast as possible.
Is this your patch, or submitted as part of the bug report?
This is not finished yet. The final version should go into upstream as a
fix for current badblocks routines.
"Heavily based on MD badblocks code from Neil Brown"

How much has this code got to do with the mdraid subsystem? Because
badblocks in mdraid has an appalling reputation, with many people
wanting to just rip it out.
This is in-memory data structure management which is almost irrelevant
to md raid or other on-disk layout.

If this code is separate from the mdraid implementation, any chance you
can work with it, and fix that at the same time? Or make it redundant! I
This is 100% separated from md raid, as well as current badblocks code,
it is just about combine or split some [start, length] extent in a
table. The purpose of this patch is to fixing some reported issue from
users and our customers.
don't quite see why mdraid should need a badblocks list given modern
disk drives.
For me the motivation is just people report bugs and I fix it. If there
is new code to replace it in upstream, then I just continue to maintain
the new code for our users and customers.
And it's on my to-do list (if I can find the time!!!) to integrate
dm-integrity into mdraid, at which point md badblocks should be irrelevant.

Hope I'm not being a shower of cold water, and if you want to fix all
this, good on you, but to the extent that this is relevant to
linux-raid, I think a lot of people will be asking "What's the point?"
Currently blocks/badblocks.c is used by md raid and nvdimm code, and the
badblocks table is irrelevant to any of these two subsystems.

If there will be better code for similar or better functionality, it
should be cool. For me, if the reporting bug is fixed, no difference in
my view :-)

Thanks.

Coly Li
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help