I am jyothishree NK from LG Electronics.
This request is regarding Android ICS, e2fsck program.
Currently ICS use this version E2FSPROGS_VERSION "1.41.11"
There is some problem in detectng filesystem error through e2fsck program.
Issue: ext4 Filesystem errors "JBD: Spotted dirty metadata buffer" is not detected by e2fsck program.
Description: In the source we do this.
1. Creat filesystem (if it is not exist) on partition.
2. Check filesystem erros using "exec /system/bin/e2fsck -p /dev/block/mmcblk0p20"
3. mount the filesystem as "ext4 mount ext4 /dev/block/mmcblk0p20 /data nosuid nodev noatime barrier=1,data=ordered,noauto_da_alloc,errors=continue".
As per the logic If there is any error in filesystem then "e2fsck -p" option should automatically repair the erros.
Then mount the filesystem.
As per the attached kernel logs, mount has displayed error that e2fsck check is required even though we run e2fsck before mount.
"[ 4.784468] EXT4-fs (mmcblk0p20): warning: mounting fs with errors, running e2fsck is recommended".
And it continue mounting but internally ext4 fs has found filesystem error
"[ 7.251313] EXT4-fs error (device mmcblk0p20): ext4_lookup:1044: inode #2: comm port-bridge: deleted inode referenced: 12
[ 7.390184] EXT4-fs error (device mmcblk0p20): ext4_mb_generate_buddy:736: group 14, 31867 blocks in bitmap, 32231 in gd
[ 7.390369] JBD: Spotted dirty metadata buffer (dev = mmcblk0p20, blocknr = 0). There's a risk of filesystem corruption in case of system crash.
[ 7.535184] warning: `rild' uses 32-bit capabilities (legacy support in use)
[ 7.739751] EXT4-fs error (device mmcblk0p20): ext4_mb_generate_buddy:736: group 3, 32061 blocks in bitmap, 32088 in gd
[ 7.739904] JBD: Spotted dirty metadata buffer (dev = mmcblk0p20, blocknr = 0). There's a risk of filesystem corruption in case of system crash."
Because of this, system display error.
Please let us know why e2fsck could not repair this filesystem error.