From: Charles Cazabon <charlesc-lists-btrfs@pyropus.ca>
To: btrfs list <linux-btrfs@vger.kernel.org>
Subject: Re: Is `btrfsck --repair` supposed to actually repair problems?
Date: Wed, 2 Oct 2013 10:53:24 -0600 [thread overview]
Message-ID: <20131002165324.GA21508@pyropus.ca> (raw)
In-Reply-To: <DFC049CD-209E-49CB-91A3-05BB2F766BC8@colorremedies.com>
Chris Murphy <lists@colorremedies.com> wrote:
> On Oct 1, 2013, at 9:13 PM, Charles Cazabon wrote:
> >
> > Ah, I'm not looking to repair the files -- I can recopy the files easily
> > enough, and rsync will pick up any files whose contents have been corrupted.
>
> If you run a scrub, dmesg should contain the path for affected files which
> you can then delete. If it's just a checksum problem with files, the file
> system doesn't need fixing.
Okay, I'll do that.
> I'd wait until the raid is finished syncing.
Strictly speaking, this shouldn't be necessary. mdadm arrays are fully usable
from creation during the initial sync; the system tracks which bits have been
initialized and which haven't.
> > It's a brand new array. The initial sync is actually still going on
> > (about half complete; it'll take several days to initialize an array this
> > size on this hardware).
>
> OK maybe someone else can comment if this is expected to work, maybe on
> linux-raid even.
https://raid.wiki.kernel.org/index.php/Initial_Array_Creation talks about the
initial (re)sync. It explicitly states:
This can take quite a time and the array is not fully resilient whilst this
is happening (it is however fully useable).
> But now you tell us this? You didn't think it might be important to mention
> that you've got a raid initially syncing, that you've formatted btrfs,
> copied files over, and at some point you got a kerne lock up, and then once
> restarted you ran a btrfsck?
Yes. The array uses a write-intent bitmap, so the kernel lockup during the
initial sync does not cause corruption; when the system is brought back up, it
may re-initialize a portion that it had already initialized (i.e. it's not
100% efficient), but it doesn't result in corruption.
> I would expect problems with any file system, with a system that locks up
> while the raid is still syncing.
No, this doesn't cause any particular problems. It's just like the normal
case of a single-drive filesystem and the system crashing during a write.
You just fsck to address any problems the interrupted write caused and recover
the journal (if applicable).
Charles
--
-----------------------------------------------------------------------
Charles Cazabon
GPL'ed software available at: http://pyropus.ca/software/
-----------------------------------------------------------------------
next prev parent reply other threads:[~2013-10-02 16:53 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-01 21:12 Is `btrfsck --repair` supposed to actually repair problems? Charles Cazabon
2013-10-01 22:01 ` Chris Murphy
2013-10-01 23:46 ` Charles Cazabon
2013-10-02 0:42 ` Chris Murphy
2013-10-02 3:13 ` Charles Cazabon
2013-10-02 3:50 ` Chris Murphy
2013-10-02 16:53 ` Charles Cazabon [this message]
2013-10-02 19:13 ` Chris Murphy
2013-10-02 19:56 ` Charles Cazabon
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=20131002165324.GA21508@pyropus.ca \
--to=charlesc-lists-btrfs@pyropus.ca \
--cc=linux-btrfs@vger.kernel.org \
/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).