From: Marc MERLIN <marc@merlins.org>
To: linux-btrfs@vger.kernel.org
Subject: Need help mounting laptop corrupted root btrfs. Kernel BUG at fs/btrfs/volumes.c:3707
Date: Thu, 25 Oct 2012 12:58:05 -0700 [thread overview]
Message-ID: <20121025195805.GA24111@merlins.org> (raw)
Howdy,
I can wait a day or maybe 2 before I have to wipe and restore from backup.
Please let me know if you have a patch against 3.6.3 you'd like me to try
to mount/recover this filesystem, or whether you'd like me to try btrfsck.
My laptop had a problem with its boot drive which prevented linux
from writing to it, and in turn caused btrfs to have incomplete writes
to it.
After reboot, the boot drive was fine, but the btrfs filesystem has
a corruption that prevents it from being mounted.
Unfortunately the mount crash prevents writing of crash data to even another
drive since linux stops before the crash data can be written to syslog.
Picture #1 shows a dump when my laptop crashed (before reboot).
btrfs no csum found for inode X start Y
http://marc.merlins.org/tmp/crash.jpg
Mounting with 3.5.0 and 3.6.3 gives the same error:
gandalfthegreat:~# mount -o recovery,skip_balance,ro /dev/mapper/bootdsk
shows
btrfs: bdev /dev/mapper/bootdsk errs: wr 0, rd 0, flush 0, corrupt 1, gen 0
btrfs: bdev /dev/mapper/bootdsk errs: wr 0, rd 0, flush 0, corrupt 2, gen 0
(there are 2 lines, not sure why)
kernel BUG at fs/btrfs/volumes.c:3707
int btrfs_num_copies(struct btrfs_mapping_tree *map_tree, u64 logical, u64 len)
{
struct extent_map *em;
struct map_lookup *map;
struct extent_map_tree *em_tree = &map_tree->map_tree;
int ret;
read_lock(&em_tree->lock);
em = lookup_extent_mapping(em_tree, logical, len);
read_unlock(&em_tree->lock);
BUG_ON(!em); <---
If the snapshot helps (sorry, hard to read, but usable):
http://marc.merlins.org/tmp/btrfs_bug.jpg
Questions:
1) Any better way to get a proper dump without serial console?
(I hate to give you pictures)
2) Should I try btrfsck now, or are there other mount options than
mount -o recovery,skip_balance,ro /dev/mapper/bootdsk
I should try?
3) Want me to try btrfsck although it may make it impossible for me to
reproduce the bug and test a fix, as well as potentially break the filesystem
more (last time I tried btrfsck, it outputted thousands of lines and never converged
to a state it was happy with)
Thanks,
Marc
--
"A mouse is a device used to point at the xterm you want to type in" - A.S.R.
Microsoft is to operating systems ....
.... what McDonalds is to gourmet cooking
Home page: http://marc.merlins.org/
next reply other threads:[~2012-10-25 19:58 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-25 19:58 Marc MERLIN [this message]
2012-10-25 20:03 ` Need help mounting laptop corrupted root btrfs. Kernel BUG at fs/btrfs/volumes.c:3707 cwillu
2012-10-25 20:12 ` Marc MERLIN
2012-10-29 4:30 ` Marc MERLIN
2012-10-29 5:05 ` Chris Murphy
2012-10-29 17:42 ` Marc MERLIN
2012-10-29 17:48 ` Need help mounting laptop corrupted root btrfs. Kernel BUG at fs/btrfs/volumes.c:3707 - FIXED Marc MERLIN
2012-10-30 15:46 ` Marc MERLIN
2012-10-31 9:24 ` Sander
2012-10-31 15:40 ` Marc MERLIN
2012-11-01 10:56 ` Sander
2012-11-01 16:16 ` Marc MERLIN
2012-10-26 18:29 ` Need help mounting laptop corrupted root btrfs. Kernel BUG at fs/btrfs/volumes.c:3707 Marc MERLIN
[not found] <E1TTCzR-0001nz-1p@gandalfthegreat.merlins.org>
[not found] ` <20121030144914.GA18659@merlins.org>
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=20121025195805.GA24111@merlins.org \
--to=marc@merlins.org \
--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).