One of my phones recently decided to corrupt its /data partition. I managed to copy it to my PC before wiping the phone completely, but efforts to mount or otherwise recover data from it have proven futile.
Mounting fails with dmesg showing: [433918.994391] F2FS-fs (loop0): inconsistent node block, nid:3, node_footer[nid:808791088,ino:808661560,ofs:92677510,cpver:4050480101642482739,blkaddr:757872690] [433918.995566] F2FS-fs (loop0): Failed to read root inode [433919.002420] F2FS-fs (loop0): inconsistent node block, nid:3, node_footer[nid:808791088,ino:808661560,ofs:92677510,cpver:4050480101642482739,blkaddr:757872690] [433919.003598] F2FS-fs (loop0): Failed to read root inode f2fs-tools v1.11.0's fsck crashes if I tell it to recover lost+found: (NOTE: fsck output at https://luke.dashjr.org/tmp/code/fsck.f2fs-LF.log.xz ) #0 0x0000555555559911 in memcpy (__len=18446744072369571950, __src=0x5555557d644c, __dest=0x7fffffffd2d0) at /usr/include/bits/string_fortified.h:34 #1 convert_encrypted_name ( name=name@entry=0x5555557d644c "3\036\021\004\035=]\035\322\037\f(\212\202&\004\"\021\226\235Ec4 [\227\266\221R1\332\331! \004\226\315\270\216\030\205\020\330\334\334\344\324sg\226\275-\317\352\352\032i\222]\326Ӌ\027^\030\226\005&\006| \333b\223\204I\323P\327\r\211K\220\306\321\064\r\271\263\064u\205\322\006g\034u]\003\002)\005! \200P\nc\024R\266\070\247\360>\342\333\330\361h$\022\203\265)\306$\264-di\316\331\346,B)\212^\211\321\032\227gdY\206M\023\256\272\346j\322<_\202\214\b! \361\241\213\370\336 {\266\267w\230M&\370\246\345¹\027\271z\375\070u\323r\354\330\061\352 9s\346\034\373\367\357'(\270\264\263E\226"..., len=-1339979666, new=new@entry=0x7fffffffd2d0 "3\036\021\004\035=]\035", enc_name=<optimized out>) at fsck.c:1132 #2 0x00005555555639d9 in print_inode_info (sbi=0x5555557817e0 <gfsck>, node=0x5555557d63f0, name=1) at mount.c:183 #3 0x000055555556424f in print_node_info (sbi=<optimized out>, node_block=<optimized out>, verbose=<optimized out>) at mount.c:277 #4 0x00005555555620c2 in dump_node (sbi=sbi@entry=0x5555557817e0 <gfsck>, nid=nid@entry=2875, force=force@entry=1) at dump.c:520 #5 0x000055555555f58f in fsck_verify (sbi=<optimized out>) at fsck.c:2568 #6 0x000055555555679b in do_fsck (sbi=0x5555557817e0 <gfsck>) at main.c:569 #7 main (argc=<optimized out>, argv=<optimized out>) at main.c:726 If I tell it NOT to recover lost+found, it completes, but mounting still fails: (NOTE: fsck output https://luke.dashjr.org/tmp/code/fsck.f2fs-NO-LF.log.xz ) [434361.813196] F2FS-fs (loop0): Found nat_bits in checkpoint [434361.825628] F2FS-fs (loop0): Failed to read root inode [434361.828461] F2FS-fs (loop0): Found nat_bits in checkpoint [434361.840620] F2FS-fs (loop0): Failed to read root inode Any ideas on how to get at least some data recovered from this? (Particularly the encryption key(s) Android stores at /data/misc/vold/*.key) Thanks, Luke ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Linux-f2fs-devel mailing list Linux-f2fs-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-f2fs-devel