From: Hugo Mills <hugo@carfax.org.uk>
To: Qu Wenruo <quwenruo.btrfs@gmx.com>
Cc: Jesper Utoft <jesper.utoft@gmail.com>,
linux-btrfs@vger.kernel.org, David Sterba <dsterba@suse.com>
Subject: Re: corrupt leaf: root=1 block=57567265079296 slot=83, bad key order
Date: Thu, 14 Feb 2019 12:35:47 +0000 [thread overview]
Message-ID: <20190214123547.GH31308@carfax.org.uk> (raw)
In-Reply-To: <717fd0a7-68ff-da60-b7e5-4223d16d0b54@gmx.com>
[-- Attachment #1: Type: text/plain, Size: 2280 bytes --]
On Thu, Feb 14, 2019 at 08:25:26PM +0800, Qu Wenruo wrote:
> On 2019/2/14 下午7:58, Jesper Utoft wrote:
> > Hello Fellow BTRFS users.
> >
> > I have run into the bad key order issue.
> > corrupt leaf: root=1 block=57567265079296 slot=83, bad key order, prev
> > (18446744073709551605 0 57707594776576) current (18446726481523507189
> > 0 57709742260224)
> > The lines repeats over and over..
> >
> > I read a thread between Hugo Mills and Eric Wolf about a similar issue
> > and i have gathered the same info.
> Now we have all the needed info.
>
> >
> > I understand that it probably is hardware related, i have been running
> > memtest for 60h+ to see if i could reproduce it.
> > I also tried to run btrfs check --recover but it did not help.
> >
> > My questions is if it can be fixed?
>
> Yes, but only manual patching is possible yet.
David: What needs to be done to get the bitflip-in-key patches
added to btrfs check? They've been lurking in some patch stack for
literally years, and would have dealt with this one easily.
[snip]
> Thankfully, all keys around give us a pretty good idea what the original
> value should be: (FREE_SPACE UNTYPED 57709742260224).
>
> And for the raw value:
> bad: 0xffffeffffffffff5
> good: 0xfffffffffffffff5
> ^
> e->f, one bit get flipped.
> (UNTYPED is the same value for UNKNOWN.0, so don't worry about that).
>
> I have created a special branch for you:
> https://github.com/adam900710/btrfs-progs/tree/dirty_fix
>
> Just compile that btrfs-progs, no need to install, then excute the
> following command inside btrfs-progs directory:
>
> # ./btrfs-corrupt-block -X <device>
BUT, don't do it until you've found and replaced the bad RAM that
broke it in the first place.
> And your report just remind me to update the write time tree block
> checker....
Looking forward to dealing with a whole new type of "btrfs is
broken!" complaints on IRC (followed by "can't I just let it carry on
regardless?"). ;)
Hugo.
--
Hugo Mills | Hickory Dickory Dock,
hugo@... carfax.org.uk | Three mice ran up the clock.
http://carfax.org.uk/ | The clock struck one,
PGP: E2AB1DE4 | The other two escaped with minor injuries
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2019-02-14 12:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-14 11:58 corrupt leaf: root=1 block=57567265079296 slot=83, bad key order Jesper Utoft
2019-02-14 12:25 ` Qu Wenruo
2019-02-14 12:35 ` Hugo Mills [this message]
2019-02-14 12:39 ` Qu Wenruo
-- strict thread matches above, loose matches on Subject: below --
2019-02-19 19:45 Jesper Utoft
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=20190214123547.GH31308@carfax.org.uk \
--to=hugo@carfax.org.uk \
--cc=dsterba@suse.com \
--cc=jesper.utoft@gmail.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=quwenruo.btrfs@gmx.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 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).