Re: Trying to recover data from SSD
From: Konstantin Svist <hidden>
Date: 2021-08-29 20:02:10
On 8/29/21 00:19, Qu Wenruo wrote:
On 2021/8/29 下午2:34, Konstantin Svist wrote:quoted
# btrfs ins dump-tree -b 787070976 --follow /dev/sdb3 | grep "(257 ROOT_ITEM" -A 5 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 Csum didn't match WARNING: could not setup extent tree, skipping it item 13 key (257 ROOT_ITEM 0) itemoff 13147 itemsize 439 generation 166932 root_dirid 256 bytenr 786726912 level 2 refs 1 lastsnap 56690 byte_limit 0 bytes_used 1013104640 flags 0x0(none) uuid 1ac60d28-6f11-2842-aca2-b1574b108336 ctransid 166932 otransid 8 stransid 0 rtransid 0 ctime 1627959592.718936423 (2021-08-02 19:59:52) # btrfs restore -Divf 786726912 /dev/sdb3 . checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 Csum didn't match WARNING: could not setup extent tree, skipping it This is a dry-run, no files are going to be restored checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 bad tree block 920748032, bytenr mismatch, want=920748032, have=0 ERROR: search for next directory entry failed: -5This all zero means the data on-disk are wiped. Either not reaching disk or discarded. Neither is a good thing.quoted
1st set of "checksum verify failed" has different addresses, but the last set always has 920748032Have you tried other bytenrs from find-root?
Is it normal that they all fail on the same exact block? Sounds suspicious to me. The other 3 attempts: # btrfs ins dump-super -f /dev/sdb3 | grep backup_tree_root backup_tree_root: 787070976 gen: 166932 level: 1 backup_tree_root: 778108928 gen: 166929 level: 1 backup_tree_root: 781172736 gen: 166930 level: 1 backup_tree_root: 786399232 gen: 166931 level: 1 # btrfs ins dump-tree -b 786399232 --follow /dev/sdb3 | grep "(257 ROOT_ITEM" -A 5 [...] item 13 key (257 ROOT_ITEM 0) itemoff 13147 itemsize 439 generation 166931 root_dirid 256 bytenr 781467648 level 2 refs 1 lastsnap 56690 byte_limit 0 bytes_used 1013104640 flags 0x0(none) [...] # btrfs restore -Divf 781467648 /dev/sdb3 . checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 Csum didn't match WARNING: could not setup extent tree, skipping it This is a dry-run, no files are going to be restored checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 bad tree block 920748032, bytenr mismatch, want=920748032, have=0 ERROR: search for next directory entry failed: -5 # btrfs ins dump-tree -b 781172736 --follow /dev/sdb3 | grep "(257 ROOT_ITEM" -A 5 [...] item 13 key (257 ROOT_ITEM 0) itemoff 13147 itemsize 439 generation 166930 root_dirid 256 bytenr 780828672 level 2 refs 1 lastsnap 56690 byte_limit 0 bytes_used 1013104640 flags 0x0(none) [...] # btrfs restore -Divf 780828672 /dev/sdb3 . checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 Csum didn't match WARNING: could not setup extent tree, skipping it This is a dry-run, no files are going to be restored checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 bad tree block 920748032, bytenr mismatch, want=920748032, have=0 ERROR: search for next directory entry failed: -5 # btrfs ins dump-tree -b 778108928 --follow /dev/sdb3 | grep "(257 ROOT_ITEM" -A 5 [...] item 13 key (257 ROOT_ITEM 0) itemoff 13147 itemsize 439 generation 166929 root_dirid 256 bytenr 102760448 level 2 refs 1 lastsnap 56690 byte_limit 0 bytes_used 1013104640 flags 0x0(none) [...] # btrfs restore -Divf 102760448 /dev/sdb3 . checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 checksum verify failed on 786939904 wanted 0xcdcdcdcd found 0xc375d6b6 Csum didn't match WARNING: could not setup extent tree, skipping it This is a dry-run, no files are going to be restored checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 checksum verify failed on 920748032 wanted 0x00000000 found 0xb6bde3e4 bad tree block 920748032, bytenr mismatch, want=920748032, have=0 ERROR: search for next directory entry failed: -5