linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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 --]

  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).