Sorry I pressed send before I finished my thoughts. btrfs restore gets nowhere with any options. btrfs-recover says the superblocks are fine, and chunk recover does nothing after a few hours of reading.
Everything else bails out with the errors I listed above. On Wed, Apr 8, 2015 at 2:36 PM, Dan Merillat <dan.meril...@gmail.com> wrote: > It's a known bug with bcache and enabling discard, it was discarding > sections containing data it wanted. After a reboot bcache refused to > accept the cache data, and of course it was dirty because I'm frankly > too stupid to breathe sometimes. > > So yes, it's a bcache issue, but that's unresolvable. I'm trying to > rescue the btrfs data that it trashed. > > > On Wed, Apr 8, 2015 at 2:27 PM, Cameron Berkenpas <c...@neo-zeon.de> wrote: >> Hello, >> >> I had some luck in the past with btrfs restore using the -r option. I don't >> recall how I determined the roots... Maybe I tried random numbers? I was >> able to recover nearly all of my data from a bcache related crash from over >> a year ago. >> >> What kind of bcache failure did you see? I've been doing some testing >> recently and ran into 2 bcache failures. With both of these failures, I had >> a ' bad btree header at bucket' error message (which is entirely different >> from the crash I had over a year back). I'm currently trying a different SSD >> to see if that alleviates the issue. The error makes me think that it's a >> bcache specific issue that's unrelated to btrfs or possibly (in my case) an >> issue with the previous SSD. >> >> Did you encounter this same error? >> >> With my 2 most recent crashes, I didn't try to recover very hard (or even >> try 'btrfs recover; at all) as I've been taking daily backups. I did try >> btrfsck, and not only would it fail, it would segfault. >> >> -Cameron >> >> >> On 04/08/2015 11:07 AM, Dan Merillat wrote: >> >> Any ideas on where to start with this? I did flush the cache out to >> disk before I made changes to the bcache configuration, so there >> shouldn't be anything completely missing, just some bits of stale >> metadata. If I can get the tools to take the closest match and run >> with it it would probably recover nearly everything. >> >> At worst, is there a way to scan the metadata blocks and rebuild from >> found extent-trees? >> >> >> >> >> On Tue, Apr 7, 2015 at 11:40 PM, Dan Merillat <dan.meril...@gmail.com> >> wrote: >> >> Bcache failures are nasty, because they leave a mix of old and new >> data on the disk. In this case, there was very little dirty data, but >> of course the tree roots were dirty and out-of-sync. >> >> fileserver:/usr/src/btrfs-progs# ./btrfs --version >> Btrfs v3.18.2 >> >> kernel version 3.18 >> >> [ 572.573566] BTRFS info (device bcache0): enabling auto recovery >> [ 572.573619] BTRFS info (device bcache0): disk space caching is enabled >> [ 574.266055] BTRFS (device bcache0): parent transid verify failed on >> 7567956930560 wanted 613690 found 613681 >> [ 574.276952] BTRFS (device bcache0): parent transid verify failed on >> 7567956930560 wanted 613690 found 613681 >> [ 574.277008] BTRFS: failed to read tree root on bcache0 >> [ 574.277187] BTRFS (device bcache0): parent transid verify failed on >> 7567956930560 wanted 613690 found 613681 >> [ 574.277356] BTRFS (device bcache0): parent transid verify failed on >> 7567956930560 wanted 613690 found 613681 >> [ 574.277398] BTRFS: failed to read tree root on bcache0 >> [ 574.285955] BTRFS (device bcache0): parent transid verify failed on >> 7567965720576 wanted 613689 found 613694 >> [ 574.298741] BTRFS (device bcache0): parent transid verify failed on >> 7567965720576 wanted 613689 found 610499 >> [ 574.298804] BTRFS: failed to read tree root on bcache0 >> [ 575.047079] BTRFS (device bcache0): bad tree block start 0 7567954464768 >> [ 575.111495] BTRFS (device bcache0): parent transid verify failed on >> 7567954464768 wanted 613688 found 613685 >> [ 575.111559] BTRFS: failed to read tree root on bcache0 >> [ 575.121749] BTRFS (device bcache0): bad tree block start 0 7567954214912 >> [ 575.131803] BTRFS (device bcache0): parent transid verify failed on >> 7567954214912 wanted 613687 found 613680 >> [ 575.131866] BTRFS: failed to read tree root on bcache0 >> [ 575.180101] BTRFS: open_ctree failed >> >> all the btrfs tools throw up their hands with similar errors: >> ileserver:/usr/src/btrfs-progs# btrfs restore /dev/bcache0 -l >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> Ignoring transid failure >> Couldn't setup extent tree >> Couldn't setup device tree >> Could not open root, trying backup super >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> Ignoring transid failure >> Couldn't setup extent tree >> Couldn't setup device tree >> Could not open root, trying backup super >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> Ignoring transid failure >> Couldn't setup extent tree >> Couldn't setup device tree >> Could not open root, trying backup super >> >> >> fileserver:/usr/src/btrfs-progs# ./btrfsck --repair /dev/bcache0 >> --init-extent-tree >> enabling repair mode >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> Ignoring transid failure >> Couldn't setup extent tree >> Couldn't setup device tree >> Couldn't open file system >> >> Annoyingly: >> # ./btrfs-image -c9 -t4 -s -w /dev/bcache0 /tmp/test.out >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> parent transid verify failed on 7567956930560 wanted 613690 found 613681 >> Ignoring transid failure >> Couldn't setup extent tree >> Open ctree failed >> create failed (Success) >> >> So I can't even send an image for people to look at. >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in >> the body of a message to majord...@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> >> -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html