From: Qu Wenruo <quwenruo.btrfs@gmx.com>
To: Christian Pernegger <pernegger@gmail.com>
Cc: linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: first it froze, now the (btrfs) root fs won't mount ...
Date: Mon, 21 Oct 2019 18:55:50 +0800 [thread overview]
Message-ID: <5b1e98d5-ed56-efbf-e52e-cc6808ed6ba7@gmx.com> (raw)
In-Reply-To: <CAKbQEqEuYqxO8pFk3sDQwEayTPiggLAFtCT8LmoNPF4Zc+-uzw@mail.gmail.com>
[-- Attachment #1.1: Type: text/plain, Size: 4815 bytes --]
On 2019/10/21 下午6:47, Christian Pernegger wrote:
> [Please CC me, I'm not on the list.]
>
> Am So., 20. Okt. 2019 um 12:28 Uhr schrieb Qu Wenruo <quwenruo.btrfs@gmx.com>:
>>> Question: Can I work with the mounted backup image on the machine that
>>> also contains the original disc? I vaguely recall something about
>>> btrfs really not liking clones.
>>
>> If your fs only contains one device (single fs on single device), then
>> you should be mostly fine. [...] mostly OK.
>
> Should? Mostly? What a nightmare-inducing, yet pleasantly Adams-esqe
> way of putting things ... :-)
>
> Anyway, I have an image of the whole disk on a server now and am
> feeling all the more adventurous for it. (The first try failed a
> couple of MB from completion due to spurious network issues, which is
> why I've taken so long to reply.)
>
>>> You wouldn't happen to know of a [suitable] bootable rescue image [...]?
>>
>> Archlinux iso at least has the latest btrfs-progs.
>
> I'm on the Ubuntu 19.10 live CD (btrfs-progs 5.2.1, kernel 5.3.0)
> until further notice. Exploring other options (incl. running your
> rescue kernel on another machine and serving the disk via nbd) in
> parallel.
>
>> I'd recommend the following safer methods before trying --init-extent-tree:
>>
>> - Dump backup roots first:
>> # btrfs ins dump-super -f <dev> | grep backup_treee_root
>> Then grab all big numbers.
>
> # btrfs inspect-internal dump-super -f /dev/nvme0n1p2 | grep backup_tree_root
> backup_tree_root: 284041969664 gen: 58600 level: 1
> backup_tree_root: 284041953280 gen: 58601 level: 1
> backup_tree_root: 284042706944 gen: 58602 level: 1
> backup_tree_root: 284045410304 gen: 58603 level: 1
>
>> - Try backup_extent_root numbers in btrfs check first
>> # btrfs check -r <above big number> <dev>
>> Use the number with highest generation first.
>
> Assuming backup_extent_root == backup_tree_root ...
>
> # btrfs check --tree-root 284045410304 /dev/nvme0n1p2
> Opening filesystem to check...
> checksum verify failed on 284041084928 found E4E3BDB6 wanted 00000000
> checksum verify failed on 284041084928 found E4E3BDB6 wanted 00000000
> bad tree block 284041084928, bytenr mismatch, want=284041084928, have=0
> ERROR: cannot open file system
>
> # btrfs check --tree-root 284042706944 /dev/nvme0n1p2
> Opening filesystem to check...
> checksum verify failed on 284042706944 found E4E3BDB6 wanted 00000000
> checksum verify failed on 284042706944 found E4E3BDB6 wanted 00000000
> bad tree block 284042706944, bytenr mismatch, want=284042706944, have=0
> Couldn't read tree root
> ERROR: cannot open file system
>
> # btrfs check --tree-root 284041953280 /dev/nvme0n1p2
> Opening filesystem to check...
> checksum verify failed on 284041953280 found E4E3BDB6 wanted 00000000
> checksum verify failed on 284041953280 found E4E3BDB6 wanted 00000000
> bad tree block 284041953280, bytenr mismatch, want=284041953280, have=0
> Couldn't read tree root
> ERROR: cannot open file system
>
> # btrfs check --tree-root 284041969664 /dev/nvme0n1p2
> Opening filesystem to check...
> checksum verify failed on 284041969664 found E4E3BDB6 wanted 00000000
> checksum verify failed on 284041969664 found E4E3BDB6 wanted 00000000
> bad tree block 284041969664, bytenr mismatch, want=284041969664, have=0
> Couldn't read tree root
> ERROR: cannot open file system
This doesn't look good at all.
All 4 copies are wiped out, so it doesn't look like a bug in btrfs, but
some other problem wiping out a full range of tree blocks.
>
>> If all backup fails to pass basic btrfs check, and all happen to have
>> the same "wanted 00000000" then it means a big range of tree blocks
>> get wiped out, not really related to btrfs but some hardware wipe.
>
> Doesn't look good, does it? Any further ideas at all or is this the
> end of the line? TBH, at this point, I don't mind having to re-install
> the box so much as the idea that the same thing might happen again --
I don't have good idea. The result looks like something have wiped part
of your tree blocks (not a single one, but a range).
> either to this one, or to my work machine, which is very similar. If
> nothing else, I'd really appreciate knowing what exactly happened here
> and why -- a bug in the GPU and/or its driver shouldn't cause this --;
> and an avoidance strategy that goes beyond-upgrade-and-pray.
At this stage, I'm sorry that I have no idea at all.
If you're 100% sure that you haven't enabled discard for a while, then I
guess it doesn't look like btrfs at least.
Btrfs shouldn't cause so many tree blocks wiped at all, even for v5.0
kernel.
Thanks,
Qu
>
> Cheers,
> Christian
>
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2019-10-21 10:56 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CAKbQEqE7xN1q3byFL7-_pD=_pGJ0Vm9pj7d-g+rRgtONeH-GrA@mail.gmail.com>
2019-10-19 22:34 ` first it froze, now the (btrfs) root fs won't mount Christian Pernegger
2019-10-20 0:38 ` Qu Wenruo
2019-10-20 10:11 ` Christian Pernegger
2019-10-20 10:22 ` Christian Pernegger
2019-10-20 10:28 ` Qu Wenruo
2019-10-21 10:47 ` Christian Pernegger
2019-10-21 10:55 ` Qu Wenruo [this message]
2019-10-21 11:47 ` Austin S. Hemmelgarn
2019-10-21 13:02 ` Christian Pernegger
2019-10-21 13:34 ` Qu Wenruo
2019-10-22 22:56 ` Christian Pernegger
2019-10-23 0:25 ` Qu Wenruo
2019-10-23 11:31 ` Austin S. Hemmelgarn
2019-10-24 10:41 ` Christian Pernegger
2019-10-24 11:26 ` Qu Wenruo
2019-10-24 11:40 ` Austin S. Hemmelgarn
2019-10-25 16:43 ` Christian Pernegger
2019-10-25 17:05 ` Christian Pernegger
2019-10-25 17:16 ` Austin S. Hemmelgarn
2019-10-25 17:12 ` Austin S. Hemmelgarn
2019-10-26 0:01 ` Qu Wenruo
2019-10-26 9:23 ` Christian Pernegger
2019-10-26 9:41 ` Qu Wenruo
2019-10-26 13:52 ` Christian Pernegger
2019-10-26 14:06 ` Qu Wenruo
2019-10-26 16:30 ` Christian Pernegger
2019-10-27 0:46 ` Qu Wenruo
[not found] ` <CAKbQEqFne8eohE3gvCMm8LqA-KimFrwwvE5pUBTn-h-VBhJq1A@mail.gmail.com>
2019-10-27 13:38 ` Qu Wenruo
2019-10-21 14:02 ` Austin S. Hemmelgarn
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=5b1e98d5-ed56-efbf-e52e-cc6808ed6ba7@gmx.com \
--to=quwenruo.btrfs@gmx.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=pernegger@gmail.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