From: Qu Wenruo <quwenruo@cn.fujitsu.com>
To: Rene Thomas <re.thomas@gmx.de>, <linux-btrfs@vger.kernel.org>
Subject: Re: read block failed check_tree_block / Couldn't read chunk tree
Date: Tue, 28 Oct 2014 17:14:35 +0800 [thread overview]
Message-ID: <544F5E7B.10400@cn.fujitsu.com> (raw)
In-Reply-To: <CAHOQfW0O0gT3jkGF5bcLs_m+v=2bYo6zbtV3bcW+FNDHRidgjg@mail.gmail.com>
-------- Original Message --------
Subject: Re: read block failed check_tree_block / Couldn't read chunk tree
From: Rene Thomas <re.thomas@gmx.de>
To: Qu Wenruo <quwenruo@cn.fujitsu.com>, <linux-btrfs@vger.kernel.org>
Date: 2014年10月28日 14:59
> Yes, removed sdb as well. Got the same error.
>
> You are right. I miss to add the btrfs ml when I reply. Thanks.
>
> I'am looking forward to hearing from you.
>
> Thanks
> René
Oh, that's bad...
Also investigate the full output of chunk-recover.
The results is worse that I first think.
1. Missing chunk item in RAID5
Which caused so many orphan dev extents and orphan block groups.
This is especially bad when it comes to RAID0/RAID5 where the stripe
sequence matters.
That's to say, there are at least 499 chunks unable to recover.
(In RAID1, it could be recovered)
Also, chunk-recover current won't continue if there are so many orphans.
In your case, 1300+ valid chunk vs 500- unrecoverable orphan chunks,
The chance is very low now.
2. Low amount of rebuildable chunks.
The 77 bad chunks seems god, except the first bad chunk, who has no
corresponding dev extent nor
block group.
Other 76 chunks are rebuildable, but 1316 + 76 won't change much against
499 unrecoverable chunks.
So overall, it is almost impossible to recover.
I'm very sorry that I can't provide much help.
Thanks,
Qu
>
> 2014-10-27 9:20 GMT+01:00 Qu Wenruo <quwenruo@cn.fujitsu.com
> <mailto:quwenruo@cn.fujitsu.com>>:
>
>
> -------- Original Message --------
> Subject: Re: read block failed check_tree_block / Couldn't read
> chunk tree
> From: Rene Thomas <re.thomas@gmx.de <mailto:re.thomas@gmx.de>>
> To: Qu Wenruo <quwenruo@cn.fujitsu.com
> <mailto:quwenruo@cn.fujitsu.com>>
> Date: 2014年10月27日 15:30
>
> Tried to mount the not affected drives in several ways. Always
> get:
>
> sudo mount -t btrfs -o degraded /dev/sda1 /home
> [sudo] password for rthomas:
> mount: Falscher Dateisystemtyp, ungültige Optionen, der
> Superblock von /dev/sda1 ist beschädigt, fehlende
> Kodierungsseite oder ein anderer Fehler
> Manchmal liefert das Systemprotokoll wertvolle Informationen,
> versuchen Sie »dmesg | tail« oder so
>
> Even plug off the /dev/sdb?
> If even remove the /dev/sdb hardware, it still reproduce the same
> thing,
> I think there is little chance.
>
>
> And dmesg shows:
>
> [ 311.335674] BTRFS: bad tree block start 0 5845480062976
> [ 311.336215] BTRFS: bad tree block start 0 5845480062976
> [ 311.354660] BTRFS: bad tree block start 0 5845480054784
> [ 311.354762] BTRFS: bad tree block start 0 5845480054784
> [ 311.355024] BTRFS: bad tree block start 0 5845480067072
> [ 311.355145] BTRFS: bad tree block start 0 5845480067072
> [ 311.355496] BTRFS: bad tree block start 0 5845480050688
> [ 311.355612] BTRFS: bad tree block start 0 5845480050688
> [ 311.356347] BTRFS: bad tree block start 0 5845480071168
> [ 311.356458] BTRFS: bad tree block start 0 5845480071168
> [ 311.580203] BTRFS: Failed to read block groups: -5
> [ 311.605073] BTRFS: open_ctree failed
>
> Tried all non-destructive ways to get data back.
>
> Please find attached btrfs rescue chunk-recover log
>
> http://sebsauvage.net/paste/?baa6fa7fbb2056cb#RTUGry3LQlmVghpjiMkRRGsxpwzDzoWOsmjO0elHF5c=
>
> Thanks for the log,
> I'll investigate it.
>
> uname -a:
> Linux engelserver 3.17.0-031700rc5-generic #201409151105 SMP
> Mon Sep 15 15:08:10 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>
> btrfs --version:
> 3.17
>
> I'am happy to help to improve tool quality / functionality.
>
> Maybe it's interisting why mkfs.ntfs have such an impact on a
> btrfs RAID5 array. In my opinion mkfs should not touch a
> mounted device even when it's part of a raid and not explicit
> mentioned in the fstab as the drive to be mounted.
>
> Yes, mkfs should never touch a mounted device.
> However, not every fs utils handles it in the right way.
> In my test, ext4/btrfs/xfs can detect it and fail to mkfs, but
> ntfs utils seems not to handle it right.
> That caused the tragedy and btrfs-progs can't help but only to see
> it happens.
>
> BTW, would you mind Cc the mail to btrfs ml?
> More people may provide help.
>
> Thanks,
> Qu
>
>
> If there is a way get more information on the mount process /
> chunk-recover,(e.g. enhanced log level) please advice.
>
> Thanks
> René
>
>
> 2014-10-27 3:29 GMT+01:00 Qu Wenruo <quwenruo@cn.fujitsu.com
> <mailto:quwenruo@cn.fujitsu.com>
> <mailto:quwenruo@cn.fujitsu.com
> <mailto:quwenruo@cn.fujitsu.com>>>:
>
>
> -------- Original Message --------
> Subject: read block failed check_tree_block / Couldn't
> read chunk tree
> From: Rene Thomas <re.thomas@gmx.de
> <mailto:re.thomas@gmx.de> <mailto:re.thomas@gmx.de
> <mailto:re.thomas@gmx.de>>>
> To: <linux-btrfs@vger.kernel.org
> <mailto:linux-btrfs@vger.kernel.org>
> <mailto:linux-btrfs@vger.kernel.org
> <mailto:linux-btrfs@vger.kernel.org>>>
> Date: 2014年10月25日 00:43
>
> Dear Developers / Maintainer,
> I’ve set up a running RAID5 with three devices (sda1 /
> sdb1 /sdc1)
>
> Mountpoint was /home, filesystem was mounted
> A chain of unfortunal circumstances gives me the
> chance to run
> as root
> in a terminal.
>
> mkfs.ntfs /dev/sdb1
>
> where /dev/sdb1 is device 1 in the Array.
>
> After a while I’ve realised that the terminal I used
> was the
> wrong one
> and killed the process where the progress still was 0%.
> The filesystem was still in a readable state switched
> to read
> only.
> Write access was not able.
>
> After a restart the RAID failed to mount.
>
> Tried several steps to reactivate the Array.
>
> All btrfs commands leads to:
>
> Check tree block failed, want=5845480062976, have=0
> Check tree block failed, want=5845480062976, have=0
> Check tree block failed, want=5845480062976, have=65536
> Check tree block failed, want=5845480062976, have=0
> Check tree block failed, want=5845480062976, have=0
> read block failed check_tree_block
> Couldn't read chunk tree
>
> Chunk tree corruption will always lead to disaster :(
>
> What about remove sdb1 and mount sda1/sdc1 with -o degraded ?
> I hope the sda1/sdc1 is still in correct status...
>
>
> Started with:
> btrfs fi show
> mount -o revovery,ro /dev/sdc1 /home
> failed with error (see dmesg log at [311])
> btrfs-image -c 9 -t 8 /dev/sdb1
> /media/storageplace/fs_image
> btrfs-zero-log /dev/sdb1
> btrfs check /dev/sdb1
> btrfs check --repair /dev/sdb1
>
> At least I tried
> btrfs rescue chunk-recover /dev/sdb1
>
> Works for several hours on the arry and end up in
> (huge log
> available > 100k):
>
> “Fail to recover the chunk tree.”
>
> If my previous defraded doesn't help, chunk-recover is the
> last
> chance for it.
> If still failed, the chance to recover seems quite low.
>
> However, can you upload the huge log for developers to
> investigate
> and improve the chunk-recover tools?
>
> Thanks,
> Qu
>
>
> I’ve checked the super block there are no errors
>
> My question is there any chance on a broken c tree to
> get the data
> back? Not necessarily fix the Array only get the data.
>
> Thanks in advanced
>
> # uname -a
> Linux engelserver 3.17.0-031700rc5-generic
> #201409151105 SMP
> Mon Sep
> 15 15:08:10 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
>
> # btrfs --version
> Btrfs v3.17
>
> # btrfs fi show
> Label: 'mythstorage' uuid:
> 9b454272-6800-4b3c-b196-9e180407a6cb
> Total devices 1 FS bytes used 2.36MiB
> devid 1 size 931.51GiB used 10.04GiB path
> /dev/sdd1
>
> Check tree block failed, want=5845480062976, have=0
> Check tree block failed, want=5845480062976, have=0
> Check tree block failed, want=5845480062976, have=65536
> Check tree block failed, want=5845480062976, have=0
> Check tree block failed, want=5845480062976, have=0
> read block failed check_tree_block
> Couldn't read chunk tree
>
> Label: none uuid: 8ef575d9-2465-479c-bf9c-067e2e417770
> Total devices 3 FS bytes used 3.02TiB
> devid 1 size 2.73TiB used 1.77TiB path
> /dev/sdb1
> devid 2 size 2.73TiB used 1.77TiB path
> /dev/sda1
> devid 3 size 2.73TiB used 1.77TiB path
> /dev/sdc1
> Btrfs v3.17
>
> dmesg:
> [ 280.637338] init: plymouth-upstart-bridge main process
> ended, respawning
> [ 311.298682] BTRFS info (device sdc1): disk space
> caching is
> enabled
> [ 311.335674] BTRFS: bad tree block start 0 5845480062976
> [ 311.336215] BTRFS: bad tree block start 0 5845480062976
> [ 311.354660] BTRFS: bad tree block start 0 5845480054784
> [ 311.354762] BTRFS: bad tree block start 0 5845480054784
> [ 311.355024] BTRFS: bad tree block start 0 5845480067072
> [ 311.355145] BTRFS: bad tree block start 0 5845480067072
> [ 311.355496] BTRFS: bad tree block start 0 5845480050688
> [ 311.355612] BTRFS: bad tree block start 0 5845480050688
> [ 311.356347] BTRFS: bad tree block start 0 5845480071168
> [ 311.356458] BTRFS: bad tree block start 0 5845480071168
> [ 311.580203] BTRFS: Failed to read block groups: -5
> [ 311.605073] BTRFS: open_ctree failed
>
> René
> --
> To unsubscribe from this list: send the line "unsubscribe
> linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> <mailto:majordomo@vger.kernel.org>
> <mailto:majordomo@vger.kernel.org
> <mailto:majordomo@vger.kernel.org>>
> More majordomo info at
> http://vger.kernel.org/majordomo-info.html
>
>
>
>
>
next prev parent reply other threads:[~2014-10-28 9:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-24 16:43 read block failed check_tree_block / Couldn't read chunk tree Rene Thomas
2014-10-27 2:29 ` Qu Wenruo
[not found] ` <CAHOQfW2d8oHuQWYde3g7aGwq5McgXkrRhA7eko+aqua6We6-PA@mail.gmail.com>
[not found] ` <544E0044.3050708@cn.fujitsu.com>
[not found] ` <CAHOQfW0O0gT3jkGF5bcLs_m+v=2bYo6zbtV3bcW+FNDHRidgjg@mail.gmail.com>
2014-10-28 9:14 ` Qu Wenruo [this message]
[not found] ` <CAHOQfW1qQ8BPF8_Cswp0CYh8d8VZs-FMBpnTok28Gyb1TS0ctA@mail.gmail.com>
2014-10-29 2:50 ` Qu Wenruo
2014-10-29 3:45 ` Anand Jain
2014-10-29 12:15 ` Rene Thomas
2014-10-30 3:54 ` Anand Jain
2014-10-30 16:47 ` Rene Thomas
2014-10-31 2:38 ` Anand Jain
2014-10-31 4:19 ` Qu Wenruo
[not found] ` <1414739937.5809.51.camel@localhost.localdomain>
2014-11-01 13:09 ` [offlist]Re: " Rene Thomas
2014-10-31 5:27 ` Gui Hecheng
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=544F5E7B.10400@cn.fujitsu.com \
--to=quwenruo@cn.fujitsu.com \
--cc=linux-btrfs@vger.kernel.org \
--cc=re.thomas@gmx.de \
/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