[HELP] Read-only filesystem? e2fsck fails as the Moto G is F2FS. Help please!

prithvic

Senior Member
Oct 21, 2014
257
100
73
Mυмвαι
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*
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.

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.
 

Bodzium

Senior Member
Sep 27, 2016
50
5
0
I have the same on my moto g 2nd xt1068 I can open internal storage copy from there to my pc but can't delete any file from there, wipe not working on internal storage (data wipe - failed, restore- failed) , I have open boot loader and twrp installed, any new solution?
 

_that

Recognized Developer / Recognized Contributor
Oct 2, 2012
4,817
4,205
243
I have the same on my moto g 2nd xt1068 I can open internal storage copy from there to my pc but can't delete any file from there, wipe not working on internal storage (data wipe - failed, restore- failed) , I have open boot loader and twrp installed, any new solution?
Wipe data with TWRP, and after it fails, get the logs:
Code:
adb pull /tmp/recovery.log
adb shell dmesg > dmesg.txt
Check dmesg.txt for mmcblk0 errors, post the files for help.
 
  • Like
Reactions: JanardhanTS

JanardhanTS

Member
Dec 24, 2014
22
1
0
30
Bangalore
hi
I have my moto g doing the exact same thing as yours in your video I cant even flash a custom recovery to mine if I flash anything it says its completed but its done nothing completely read-only your the only person ive found on the net with the same problem as me.
Have you got any where with your G?
thanks
You are not the only one. I'm here with you. I face the same problem :(

---------- Post added at 05:00 PM ---------- Previous post was at 04:49 PM ----------

Wipe data with TWRP, and after it fails, get the logs:
Code:
adb pull /tmp/recovery.log
adb shell dmesg > dmesg.txt
Check dmesg.txt for mmcblk0 errors, post the files for help.
I have CMW Philips touch recovery, Can i run this commands on adb of CMW
 

empty4u

New member
Apr 8, 2013
1
0
0
I guess the internal storage ist broken

Wipe data with TWRP, and after it fails, get the logs:
Code:
adb pull /tmp/recovery.log
adb shell dmesg > dmesg.txt
Check dmesg.txt for mmcblk0 errors, post the files for help.
recovery.log:
Lösche Daten, aber verschone internen Speicher...
I:skipped '/data/media'
I:skipped '/data/misc/vold'
I:Unable to unlink '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/LOG': I/O error
I:Unable to unlink '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/000003.log': I/O error
I:Unable to unlink '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/CURRENT': I/O error
I:skipped '/data/lost+found'
I:skipped '/data/system/storage.xml'
I:skipped '/data/.layout_version'
Abgeschlossen.
I:sending message to add 65537 '/data/media/0' 'Interner Speicher'
I:Message sent, add storage ID: 65537 '/data/media/0'
Partitions-Informationen werden aktualisiert...
I:[MTP] mtppipe add storage 65537 '/data/media/0'
I:[MTP] MtpStorage id: 65537 path: /data/media/0
E:[MTP] MtpServer::addStorage Storage for storage ID 65537 already exists.
Fehler beim Öffnen: '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/LOG' (I/O error)
I:Real error: Unable to stat '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/LOG'
Fehler beim Öffnen: '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/000003.log' (I/O error)
I:Real error: Unable to stat '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/000003.log'
Fehler beim Öffnen: '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/CURRENT' (I/O error)
I:Real error: Unable to stat '/data/data/com.google.android.gms/snet/leveldb/snet_sb_blacklist_4/CURRENT'
I:Data backup size is 0MB, free: 5065MB.

dmesg.txt
<6>[ 1861.924453,0] sdhci: ===========================================
<6>[ 1861.924644,0] mmc0: bytes to transfer: 4096 transferred: 0
<3>[ 1861.928880,0] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x480900
<3>[ 1861.929119,0] mmcblk0: error -110 transferring data, sector 3679872, nr 8, cmd response 0x900, card status 0x0
<4>[ 1861.929346,0] blk_update_request: 53 callbacks suppressed
<3>[ 1861.929458,0] end_request: I/O error, dev mmcblk0, sector 3679872
<3>[ 1861.929686,0] end_request: I/O error, dev mmcblk0, sector 3679912
<3>[ 1861.929810,0] end_request: I/O error, dev mmcblk0, sector 3679928
<3>[ 1861.930016,0] end_request: I/O error, dev mmcblk0, sector 3679968
<3>[ 1861.930139,0] end_request: I/O error, dev mmcblk0, sector 3679984
<3>[ 1861.930343,0] end_request: I/O error, dev mmcblk0, sector 3680000
<3>[ 1861.930548,0] end_request: I/O error, dev mmcblk0, sector 3680024
<3>[ 1861.930672,0] end_request: I/O error, dev mmcblk0, sector 3680072
<3>[ 1861.930874,0] end_request: I/O error, dev mmcblk0, sector 3680088
<3>[ 1861.930996,0] end_request: I/O error, dev mmcblk0, sector 3680104
<6>[ 1869.941525,0] mmc0: waiting on long transfer (0 of 4096 blocks)
<3>[ 1877.961522,0] mmc0: Timeout waiting for hardware interrupt.
<6>[ 1877.961734,0] sdhci: =========== REGISTER DUMP (mmc0)===========
<6>[ 1877.961848,0] sdhci: Sys addr: 0xa0000008 | Version: 0x00003802
<6>[ 1877.962039,0] sdhci: Blk size: 0x00007200 | Blk cnt: 0x00000008
<6>[ 1877.962150,0] sdhci: Argument: 0x00382a98 | Trn mode: 0x0000002b
<6>[ 1877.962342,0] sdhci: Present: 0x01f80000 | Host ctl: 0x00000035
<6>[ 1877.962453,0] sdhci: Power: 0x0000000b | Blk gap: 0x00000000
<6>[ 1877.962646,0] sdhci: Wake-up: 0x00000000 | Clock: 0x00000007
<6>[ 1877.962757,0] sdhci: Timeout: 0x0000000a | Int stat: 0x00000000
<6>[ 1877.962948,0] sdhci: Int enab: 0x03ff800b | Sig enab: 0x03ff800b
<6>[ 1877.963059,0] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
<6>[ 1877.963250,0] sdhci: Caps: 0x642dc8b2 | Caps_1: 0x00008004
<6>[ 1877.963441,0] sdhci: Cmd: 0x0000193a | Max curr: 0x00000000
<6>[ 1877.963551,0] sdhci: Resp 1: 0x00000000 | Resp 0: 0x00000900
<6>[ 1877.963741,0] sdhci: Resp 3: 0x00000900 | Resp 2: 0x00000000
<6>[ 1877.963851,0] sdhci: Host ctl2: 0x00000004
<6>[ 1877.964037,0] sdhci: ADMA Err: 0x00000007 | ADMA Ptr: 0x21300018
<6>[ 1877.964149,0] mmc0: clk: 52000000 clk-gated: 0 claimer: mmcqd/0 pwr: 10
<6>[ 1877.964341,0] mmc0: rpmstatus[pltfm](runtime-suspend:usage_count:disable_depth)(0:0:0)
 

_that

Recognized Developer / Recognized Contributor
Oct 2, 2012
4,817
4,205
243
r<3>[ 1861.928880,0] mmcblk0: error -110 sending stop command, original cmd response 0x900, card status 0x480900
<3>[ 1861.929119,0] mmcblk0: error -110 transferring data, sector 3679872, nr 8, cmd response 0x900, card status 0x0
...
Yes, that looks like a hardware error. Time to find a new phone.