public inbox for linux-btrfs@vger.kernel.org
 help / color / mirror / Atom feed
From: Zygo Blaxell <ce3g8jdj@umail.furryterror.org>
To: Nikolay Borisov <nborisov@suse.com>
Cc: "Christian Höppner" <chris@mkaito.net>, linux-btrfs@vger.kernel.org
Subject: Re: False alert: read time tree block corruption
Date: Wed, 4 Dec 2019 21:50:40 -0500	[thread overview]
Message-ID: <20191205025040.GX22121@hungrycats.org> (raw)
In-Reply-To: <6c2d09ca-1483-cd82-c906-e30731baa39f@suse.com>

[-- Attachment #1: Type: text/plain, Size: 2757 bytes --]

On Wed, Dec 04, 2019 at 01:32:59PM +0200, Nikolay Borisov wrote:
> 
> 
> On 4.12.19 г. 13:04 ч., Christian Höppner wrote:
> > Hello,
> > 
> > I'm writing because the kernel wiki page relating to this error[1] says to
> > write here first.
> > 
> > I'm (was) running Arch Linux, kernel 5.4.1, btrfs-progs 5.3.1
> > 
> > Yesterday during usage, the root file system remounted read-only. I was
> > dumb enough to react by rebooting the machine, when I was greeted by the
> > following error:
> > 
> > [  25.634530] BTRFS critical (device nvme0n1p2): corrupf leaf: block=810145234944...
> 
> How come you omitted exactly the most useful error that could have
> pointed at the problem ? If the data is intact on-disk and the leaf
> checker triggered this means you likely have faulty ram.

Yesterday on IRC there was a similar case where the metadata in the extent
tree had nonsense generation values, but the rest of the filesystem
was fine.  It was very specific:  only the generation fields in several
extent items (sometimes even consecutive ones!).  Bad RAM is usually much
more chaotic:  different fields are corrupted, and some or all of them
will cause a more visible failure than mere mismatched transid.

	https://pastebin.com/raw/GemSDdin

Also it turned out that the filesystem was made in 2014.  Maybe there was
an old kernel bug that was putting garbage in extent generation numbers,
and this is the last remnant of it.

If such a bug was known in 2014, it might explain why btrfs doesn't seem
to detect it today.  btrfs check, read, and delete all said nothing
about the mismatched gen field.  I'd expect at least check and delete
to notice the gen field mismatch--after all, they are inspecting or
manipulating the extent item and the extent data reference already,
so there's no significant performance loss compared to not doing the
check at the same time.

> > [  25.634793] BTRFS error (device nvme0n1p2): block=810145234944 read time tree block corruption detected
> > [  25.634961] BTRFS error (device nvme0n1p2): in __btrfs_free_extent:3080: errno=-5 IO failure
> > [  25.635042] BTRFS error (device nvme0n1p2): in btrfs_run_delayed_refs:2188: errno=-5 IO failure
> > [  34.653440] systemd-journald[483]: Failed to torate /var/log/journal/8f7037b10bbd4f25aadd3d19105ef920/system.journal
> > 
> > After booting to live media, I checked SMART, badblocks, `btrfs check
> > --readonly` and `btrfs scrub`. All came back clean. I conclude that this
> > is a false positive, and have downgraded the kernel to 5.3.13 as a
> > workaround.
> > 
> > How can I provide more information to help?
> > 
> > [1]: https://btrfs.wiki.kernel.org/index.php/Tree-checker#How_to_handle_such_error
> > 

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2019-12-05  2:50 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-04 11:04 False alert: read time tree block corruption Christian Höppner
2019-12-04 11:32 ` Nikolay Borisov
2019-12-05  2:50   ` Zygo Blaxell [this message]
2019-12-05 11:44   ` Christian Höppner

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=20191205025040.GX22121@hungrycats.org \
    --to=ce3g8jdj@umail.furryterror.org \
    --cc=chris@mkaito.net \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=nborisov@suse.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