On 2019/4/5 下午3:41, Nik. wrote: > > Below is the stderr of both commands: > > # btrfs inspect dump-tree -t chunk /dev/md0>DT-chunk.log > # btrfs inspect dump-tree -t extent /dev/md0>DT-extent.log > ERROR: leaf 1894009225216 slot 30 pointer invalid, offset 146038 size 37 > leaf data limit 16283 > ERROR: skip remaining slots > > Since the output on stdout is pretty long even after gzip, I am > providing only the output of the first command as attachment. The output > of the second command (25 MB after gzip -9) can be downloaded here: > > https://cloud.avgustinov.eu/index.php/s/AgbwWyCrbYjenq8 Sorry, I should have use a more specific command to get a smaller output. But anyway, your output is good enough for me to craft the fix patch. Here is the dirty fix branch: https://github.com/adam900710/btrfs-progs/tree/dirty_fix_for_nik Compile the btrfs-progs as usual. Just a late hint, you can disable document/btrfs-convert to reduce the dependency: $ ./configure --disable-documentation --disable-convert Then, inside btrfs-progs directory, call: # ./btrfs-corrupt-block -X /dev/md0 If everything goes correctly, it should output something like: Successfully repaired tree block at 1894009225216 (And please ignore any grammar error in my code) After that, please run a "btrfs check --readonly" to ensure no other bit flip in your fs. Thanks, Qu > > Hope this is ok. > > Regards, > Nik. > -
Attachment:
signature.asc
Description: OpenPGP digital signature
