From: Phil Turmel <philip@turmel.org>
To: Marc MERLIN <marc@merlins.org>, Sarah Newman <srn@prgmr.com>
Cc: "linux-raid@vger.kernel.org" <linux-raid@vger.kernel.org>
Subject: Re: Raid check didn't fix Current_Pending_Sector, but badblocks -nsv did
Date: Mon, 6 Jun 2016 20:54:16 -0400 [thread overview]
Message-ID: <57561B38.1070402@turmel.org> (raw)
In-Reply-To: <20160606224401.GA6672@merlins.org>
On 06/06/2016 06:44 PM, Marc MERLIN wrote:
> From what I understand, the only difference between the 2 is that repair
> does not use the write-intent bitmap, but both will repair an error if
> found.
Repair doesn't even read the parity (and Q syndrome) blocks if it
doesn't need them. It unconditionally recomputes and writes parity (and
Q) blocks.
Both processes will compute and rewrite a block that reports a read error.
> https://www.thomas-krenn.com/en/wiki/Mdadm_checkarray#Check_vs._Repair
>
> Or are you saying that check after getting a read error from one drive,
> would not rewrite the bad block on that drive? I thought it did...
They both do.
> Either way, it seems that neither would have worked because while those
> blocks were marked as "need to be reallocated" by the drive, I think the
> kernel was actually able to read them without problem, so the md layer never
> saw anything and therefore never did anything either.
Both processes only apply to the actual data area of each member device,
which is usually substantially less than the whole disk. Both processes
will read or write (or both) every data area sector.
Sectors that haven't ever been deliberately written and aren't read by
normal mdadm processes are often the first to pop up in disk
self-diagnostics. If you look at the sector offsets in the SMART data,
I bet you find they're all outside the area mdadm is using.
Magnetism does slowly decay on drive platters, faster in the spots where
manufacturing didn't maintain the intended oxide thickness. Completely
normal and is the basis for URE specifications.
> Whereas badblocks forced an unconditional rewrite of all blocks, and forced
> the drive to re-allocate those "weak" blocks, even though it was able to
> read them.
Probably not. It got 'em because it wasn't limited to the data area.
Phil
next prev parent reply other threads:[~2016-06-07 0:54 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-06 17:41 Raid check didn't fix Current_Pending_Sector, but badblocks -nsv did Marc MERLIN
2016-06-06 19:10 ` Sarah Newman
2016-06-06 22:44 ` Marc MERLIN
2016-06-07 0:54 ` Phil Turmel [this message]
2016-06-07 4:51 ` Marc MERLIN
2016-06-07 13:04 ` Phil Turmel
2016-06-07 13:56 ` Mikael Abrahamsson
2016-06-07 14:04 ` Marc MERLIN
2016-06-08 1:39 ` Brad Campbell
2016-06-08 12:24 ` Phil Turmel
2016-06-07 5:35 ` Roman Mamedov
2016-06-07 13:57 ` Andreas Klauer
2016-06-07 14:14 ` Phil Turmel
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=57561B38.1070402@turmel.org \
--to=philip@turmel.org \
--cc=linux-raid@vger.kernel.org \
--cc=marc@merlins.org \
--cc=srn@prgmr.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.