From: NeilBrown <neilb@suse.de>
To: Marc MERLIN <marc@merlins.org>
Cc: Mikael Abrahamsson <swmike@swm.pp.se>, linux-raid@vger.kernel.org
Subject: Re: How to force rewrite of a smart detected bad block with raid5: checkarray?
Date: Thu, 20 Jan 2011 07:58:42 +1100 [thread overview]
Message-ID: <20110120075842.25912e84@notabene.brown> (raw)
In-Reply-To: <20110119173150.GB6823@merlins.org>
On Wed, 19 Jan 2011 09:31:50 -0800 Marc MERLIN <marc@merlins.org> wrote:
> On Wed, Jan 19, 2011 at 08:41:15PM +1100, NeilBrown wrote:
> > All you need to do is get md/raid5 to try reading the bad block. Once it does
> > that it will get a read error and automagically try to correct it.
>
> So, if I get this right, raid5 only reads n-1 drives. Unless I'm unlucky
> enough to have the bad disk be the parity stripe, just reading the file with
> a bad stripe by luck would cause the kernel to recompute parity on the read
> error and re-write the bad block?
> (I also read in the online docs that raid4 actually reads all the blocks,
> including parity, which is a bit slower, but would actually guarantee that
> all blocks are read, and parity is still consistent at ready time?)
>
>
> But back to your point: check, which I had started, will indeed do what I
> was hoping it would, thanks.
>
> > If you were really keen, you could
> > cd /sys/block/mdXX/md
> > echo 3907029168 > sync_min
> > echo 3907029170 > sync_max
> > echo check > sync_action
>
> I stopped the full check, and tried:
>
> gargamel:/sys/block/md7/md# cat sync_min
> 244188936
> gargamel:/sys/block/md7/md# cat sync_max
> max
> gargamel:/sys/block/md7/md# echo 3907029168 > sync_min
> bash: echo: write error: Invalid argument
>
> Any idea what went wrong here?
Like I suggest, rounding might be necessary.
I just checked the code and this number does need to be a multiple of the
chunk size, which is 1024 sectors for you.
so
echo 3907028992 > sync_min
should do the trick.
NeilBrown
next prev parent reply other threads:[~2011-01-19 20:58 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-01-19 7:04 How to force rewrite of a smart detected bad block with raid5: checkarray? Marc MERLIN
2011-01-19 7:42 ` Mikael Abrahamsson
2011-01-19 9:41 ` NeilBrown
2011-01-19 17:31 ` Marc MERLIN
2011-01-19 20:58 ` NeilBrown [this message]
2011-01-19 21:03 ` Marc MERLIN
-- strict thread matches above, loose matches on Subject: below --
2011-01-19 18:36 Richard Scobie
2011-01-19 18:49 ` Marc MERLIN
2011-01-19 20:01 ` NeilBrown
2011-01-19 20:57 ` Marc MERLIN
2011-01-20 0:30 ` Richard Scobie
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 \
--in-reply-to=20110120075842.25912e84@notabene.brown \
--to=neilb@suse.de \
--cc=linux-raid@vger.kernel.org \
--cc=marc@merlins.org \
--cc=swmike@swm.pp.se \
/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
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).