On 02.11.2018 at 15:45 Qu Wenruo wrote:
> On 2018/11/2 下午10:30, M. Klingmann wrote:
>> On 31.10.2018 at 01:03 Qu Wenruo wrote:
>>> My plan for such recovery is:
>>>
>>> 1) btrfs ins dump-super to make sure system chunk array is valid
>>> 2) btrfs-find-root to find any valid chunk tree blocks
>>> 3) pass that chunk tree bytenr to btrfs-restore
>>>    Unfortunately, btrfs-restore doesn't support specifying chunk root
>>>    yet. But it's pretty easy to add such support.
>>>
>>> So, please provide the "btrfs ins dump-super -Ffa" output to start with.
>> Following your plan, I did 1) and 2).
>> As 2) failed (see below), is there anything I can do to find the tree
>> bytenr to supply btrfs-restore with it?
>>
>> 1) Here's the output given by "btrfs-show-super -Ffa":
>>
>> superblock: bytenr=65536, device=sdcard.iso
>> ---------------------------------------------------------
>> csum            0xb8e15dd7 [match]
[snip]
>> 2) "btrfs-find-root" yields "Couldn't read chunk root; Open ctree failed".
> It's not plain "btrfs-find-root" but "btrfs-find-root -o 5".
>
> And you should use btrfs-progs v4.17.1, not the old v4.4.
> The ability to continue search even if chunk tree get corrupted is added
> in v4.5, and I strongly recommend to use latest (v4.17.1) for a lot of
> fixes and extra debug output.
>
> If you can't find any handy way to update btrfs-progs, you could use
> Archlinux iso as a rescue OS to use the latest btrfs-progs.

Using Archlinux in fact is the easiest way to use version 4.17.1
(Archlinux for 2018-11-01).

Here's the output from "btrfs-find-root sdcard.iso":

WARNING: cannot read chunk root, continue anyway
Superblock thinks the generation is 1757933
Superblock thinks the level is 0

Here's the output using "btrfs-find-root -o 5 sdcard.iso":

WARNING: cannot read chunk root, continue anyway
Superblock doesn't contain generation info for root 5
Superblock doesn't contain the level info for root 5

> For 3), I could easily add such feature btrfs-restore, or just use
> manually patching your superblock to continue.
> So as soon as your "btrfs-find-root -o 5" gets some valid output, I
> could continue the work.
>
Thank you.

-- 
Mirko


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to