I faced the exact same problem like you, same messages e2fsk, i booted TWRP and can use fsck.f2fs and the following output is generated.After an unfortunate restart yesterday from a misbehaving app, my phone has decided that the whole of the userdata partition is going to be read-only. At the very least, it's stopping me, fastboot, adb, and even the home launcher (when it boots) from running anything. Here's a video of the crash: http://youtu.be/8orBg5ivxsQ?t=1m3s
Now I've spent hours trawling through the various threads, and the ones that has got me closest to anything useful has been this one:
XDA Nexus 5 - [HOWTO][GUIDE] Repairing corrupted /data partition
Now the commands work well, and I have a list of the Moto G (16gb version) superblocks here:
/dev/block/platform/msm_sdcc.1/by-name/system on /system type ext4 (rw,seclabel,relatime,data=ordered)
/dev/block/platform/msm_sdcc.1/by-name/userdata on /data type f2fs (rw,seclabel,relatime,background_gc=on,discard,user_xattr,inline_xattr,acl,errors=recover,active_logs=6)
/dev/block/platform/msm_sdcc.1/by-name/cache on /cache type ext4 (rw,seclabel,relatime,noauto_da_alloc,data=writeback)
/dev/block/platform/msm_sdcc.1/by-name/fsg on /fsg type ext4 (rw,seclabel,nodev,noatime,nodiratime)
/dev/block/platform/msm_sdcc.1/by-name/modem on /firmware type ext4 (rw,seclabel,nodev,noatime,nodiratime,data=ordered)
/dev/block/platform/msm_sdcc.1/by-name/persist on /persist type ext4 (rw,seclabel,nodev,noatime,nodiratime,data=ordered)
Running e2fsk works on all but the userdata superblock, which is the one I cannot write to. It fails with the message
The superblock could not be read or does not describe a correct ext2 filesystem. If the device is valid and it really contains an ext2 filesystem (and not swap or ufs or something else), then the superblock is corrupt, and you might try running e2fsck with an alternate superblock: e2fsck -b 8193 <device>
Clearly I can't e2fsck the f2fs partition (and I have no fsck), does anyone have any suggestions?
----
Tried and failed:
- Nandroid restore (none found and can't write a new one to storage)
- ADB Shell reading/deleting anythign from /data/media/0/
- fasboot flash *anything*
- mfastboot flash *anything*
Anyone found solution?
Code:
F:\Android\AndroidSDK\sdk\platform-tools>adb shell
~ # ←[6nfsck.f2fs /dev/block/platform/msm_sdcc.1/by-name/userdata
fsck.f2fs /dev/block/platform/msm_sdcc.1/by-name/userdata
Info: sector size = 512
Info: total sectors = 27090688 (in 512 bytes)
Info: MKFS version
""
Info: FSCK version
from "Linux version 3.4.42-g48d3b85 ([email protected]) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Tue Jan 6 10:27:18 CST 2015"
to "Linux version 3.4.42-g53c801a ([email protected]) (gcc version 4.8 (GCC) ) #1 SMP PREEMPT Wed Jun 24 09:58:21 CEST 2015"
[FIX] (fsck_chk_orphan_node: 926) --> Discard orphan inodes: ino [0x37f8b]
NID[0x37f8b] is unreachable
[FSCK] Unreachable nat entries [Fail] [0x1]
[FSCK] SIT valid block bitmap checking [Fail]
[FSCK] Hard link checking for regular file [Ok..] [0x0]
[FSCK] valid_block_count matching with CP [Fail] [0x285d02]
[FSCK] valid_node_count matcing with CP (de lookup) [Fail] [0x7823]
[FSCK] valid_node_count matcing with CP (nat lookup) [Ok..] [0x7824]
[FSCK] valid_inode_count matched with CP [Fail] [0x7107]
[FSCK] free segment_count matched with CP [Ok..] [0x5e]
[FSCK] next block offset is free [Ok..]
[FSCK] fixing SIT types
[FSCK] other corrupted bugs [Fail]
Error: Could not conduct fsync!!!
Done.