From: Luke Dashjr <luke@dashjr.org>
To: Chao Yu <chao@kernel.org>
Cc: linux-f2fs-devel@lists.sourceforge.net
Subject: Re: Corrupt F2FS partition - fsck is useless
Date: Fri, 24 Aug 2018 14:38:43 +0000 [thread overview]
Message-ID: <201808241438.44154.luke@dashjr.org> (raw)
In-Reply-To: <5751656f-ff8a-0d3e-5737-47cf50e23c83@kernel.org>
Info: Debug level = 1
Info: Segments per section = 1
Info: Sections per zone = 1
Info: sector size = 512
Info: total sectors = 12597656 (6151 MB)
Info: MKFS version
"Linux version 3.10.49-geda0055-01928-gb21c1b57 (hudsoncm@ilclbld30) (gcc
version 4.8 (GCC) ) #1 SMP PREEMPT Fri Feb 5 20:48:53 CST 2016"
Info: FSCK version
from "Linux version 4.17.11-gentoo (root@ishibashi) (gcc version 7.3.0
(Gentoo Hardened 7.3.0 p1.0)) #1 SMP PREEMPT Sun Jul 29 04:07:16 UTC 2018"
to "Linux version 4.17.11-gentoo (root@ishibashi) (gcc version 7.3.0
(Gentoo Hardened 7.3.0 p1.0)) #1 SMP PREEMPT Sun Jul 29 04:07:16 UTC 2018"
Info: superblock features = 0 :
Info: superblock encrypt level = 0, salt = 00000000000000000000000000000000
+--------------------------------------------------------+
| Super block |
+--------------------------------------------------------+
magic [0xf2f52010 : 4076150800]
major_ver [0x 1 : 1]
volum_name []
minor_ver [0x 2 : 2]
log_sectorsize [0x 9 : 9]
log_sectors_per_block [0x 3 : 3]
log_blocksize [0x c : 12]
log_blocks_per_seg [0x 9 : 9]
segs_per_sec [0x 1 : 1]
secs_per_zone [0x 1 : 1]
checksum_offset [0x 0 : 0]
block_count [0x 13ffe0 : 1310688]
section_count [0x 9e9 : 2537]
segment_count [0x 9fe : 2558]
segment_count_ckpt [0x 2 : 2]
segment_count_sit [0x 2 : 2]
segment_count_nat [0x c : 12]
segment_count_ssa [0x 5 : 5]
segment_count_main [0x 9e9 : 2537]
segment0_blkaddr [0x 200 : 512]
cp_blkaddr [0x 200 : 512]
sit_blkaddr [0x 600 : 1536]
nat_blkaddr [0x a00 : 2560]
ssa_blkaddr [0x 2200 : 8704]
main_blkaddr [0x 2c00 : 11264]
root_ino [0x 3 : 3]
node_ino [0x 1 : 1]
meta_ino [0x 2 : 2]
cp_payload [0x 0 : 0]
version Linux version 4.17.11-gentoo (root@ishibashi)
(gcc version 7.3.0 (Gentoo Hardened 7.3.0 p1.0)) #1 SMP PREEMPT Sun Jul 29
04:07:16 UTC 2018
Info: total FS sectors = 10485504 (5119 MB)
Info: CKPT version = 1f339f
+--------------------------------------------------------+
| Checkpoint |
+--------------------------------------------------------+
checkpoint_ver [0x 1f339f : 2044831]
user_block_count [0x 127a00 : 1210880]
valid_block_count [0x bfc23 : 785443]
rsvd_segment_count [0x 30 : 48]
overprov_segment_count [0x ac : 172]
free_segment_count [0x 30 : 48]
alloc_type[CURSEG_HOT_NODE] [0x 0 : 0]
alloc_type[CURSEG_WARM_NODE] [0x 0 : 0]
alloc_type[CURSEG_COLD_NODE] [0x 0 : 0]
cur_node_segno[0] [0x 4bc : 1212]
cur_node_segno[1] [0x 552 : 1362]
cur_node_segno[2] [0x 912 : 2322]
cur_node_blkoff[0] [0x bc : 188]
cur_node_blkoff[1] [0x 79 : 121]
cur_node_blkoff[2] [0x 169 : 361]
alloc_type[CURSEG_HOT_DATA] [0x 0 : 0]
alloc_type[CURSEG_WARM_DATA] [0x 0 : 0]
alloc_type[CURSEG_COLD_DATA] [0x 0 : 0]
cur_data_segno[0] [0x 576 : 1398]
cur_data_segno[1] [0x 665 : 1637]
cur_data_segno[2] [0x 66e : 1646]
cur_data_blkoff[0] [0x 0 : 0]
cur_data_blkoff[1] [0x 0 : 0]
cur_data_blkoff[2] [0x 0 : 0]
ckpt_flags [0x 4 : 4]
cp_pack_total_block_count [0x 3 : 3]
cp_pack_start_sum [0x 1 : 1]
valid_node_count [0x 5e52 : 24146]
valid_inode_count [0x 5c97 : 23703]
next_free_nid [0x 35c78 : 220280]
sit_ver_bitmap_bytesize [0x 40 : 64]
nat_ver_bitmap_bytesize [0x 180 : 384]
checksum_offset [0x ffc : 4092]
elapsed_time [0x183e8f20f43 : 1666060521283]
sit_nat_version_bitmap[0] [0x 9 : 9]
[dump_node: 500] Node ID [0x3]
[dump_node: 501] nat_entry.block_addr [0x11fa0e]
[dump_node: 502] nat_entry.version [0x0]
[dump_node: 503] nat_entry.ino [0x3]
[dump_node: 510] node_blk.footer.ino [0x30333238]
[dump_node: 511] node_blk.footer.nid [0x30352c30]
[print_node_info: 283] Node ID [0x30352c30:808791088] is direct node or
indirect node.
[0] [0x3933332c : 959656748]
[1] [0x3633322c : 909324844]
[2] [0x30303030 : 808464432]
[3] [0x3134312c : 825504044]
[4] [0x2c303639 : 741357113]
[5] [0x3636322d : 909521453]
[6] [0x2c363331 : 741749553]
[7] [0x31303432 : 825242674]
[8] [0x2c303030 : 741355568]
[9] [0x472c3532 : 1194079538]
[10] [0x2c646f6f : 744779631]
Invalid (i)node block
Info: checkpoint state = 4 : compacted_summary sudden-power-off
Done.
On Friday 24 August 2018 13:08:30 Chao Yu wrote:
> Hi Luke,
>
> I think the problem here is that we don't even start to traverse and check
> all directories and files due to we encounter root inode sanity check
> failure.
>
> [ASSERT] (sanity_check_nid: 412) --> nid[0x3] footer.nid[0x30352c30]
> footer.ino[0x30333238]
>
> Could you dump root node info with below command:
>
> dump.f2fs -i 3 -d 1 <your_device_path>
>
> Thanks,
>
> On 2018/8/24 12:31, Luke Dashjr wrote:
> > 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:40504801016424
> >82739,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:40504801016424
> >82739,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\3
> >52\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\006
> >g\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\21
> >4\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
------------------------------------------------------------------------------
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
next prev parent reply other threads:[~2018-08-24 14:39 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-24 4:31 Corrupt F2FS partition - fsck is useless Luke Dashjr
2018-08-24 13:08 ` Chao Yu
2018-08-24 14:38 ` Luke Dashjr [this message]
2018-08-24 15:59 ` Chao Yu
2018-08-28 9:28 ` Chao Yu
2018-08-28 9:47 ` Luke Dashjr
2018-08-28 10:34 ` Chao Yu
2018-08-28 7:37 ` Jaegeuk Kim
2018-08-28 7:49 ` Luke Dashjr
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201808241438.44154.luke@dashjr.org \
--to=luke@dashjr.org \
--cc=chao@kernel.org \
--cc=linux-f2fs-devel@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).