At 01/19/2017 06:06 PM, Sebastian Gottschall wrote:
Hello

I have a question. after a power outage my system was turning into a
unrecoverable state using btrfs (kernel 4.9)
since im running --init-extent-tree now for 3 days i'm asking how long
this process normally takes and why it outputs millions of lines like

--init-extent-tree will trash *ALL* current extent tree, and *REBUILD* them from fs-tree.

This can takes a long time depending on the size of the fs, and how many shared extents there are (snapshots and reflinks all counts).

Such a huge operation should only be used if you're sure only extent tree is corrupted, and other tree are all OK.

Or you'll just totally screw your fs further, especially when interrupted.


Backref 1562890240 root 262 owner 483059214 offset 0 num_refs 0 not
found in extent tree
Incorrect local backref count on 1562890240 root 262 owner 483059214
offset 0 found 1 wanted 0 back 0x23b0211d0
backpointer mismatch on [1562890240 4096]

This is common, since --init-extent-tree trash all extent tree, so every tree-block/data extent will trigger such output

adding new data backref on 1562890240 root 262 owner 483059214 offset 0
found 1
Repaired extent references for 1562890240

But as you see, it repaired the extent tree by adding back EXTENT_ITEM/METADATA_ITEM into extent tree, so far it works.

If you see such output with all the same bytenr, then things goes really wrong and maybe a dead loop.


Personally speaking, normal problem like failed to mount should not need --init-extent-tree.

Especially, extent-tree corruption normally is not really related to mount failure, but sudden remount to RO and kernel wanring.

Thanks,
Qu


please avoid typical answers like "potential dangerous operation" since
all repair options are declared as potenial dangerous.


Sebastian



--
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

Reply via email to