I have a GPlug-Display which is configured with boot and root partitions on a micro-SD card (/dev/sda1, /dev/sda2, respectively) while there is an internal flash drive partitioned as FAT16 for storing videos (this is how it came configured).
When running applications that seem to write intensively to the flash (such as apt-upgrade but occassionally even simpler things), I randomly get errors on the console of form:
xa-sdh pxa-sdh.0: DATA Line Error(status: 0x0010)!
mmcblk0: error -5 transferring data, sector 1319016, nr 120, card status 0x900
end_request: I/O error, dev mmcblk0, sector 1319096
Buffer I/O error on device mmcblk0p2, logical block 139387
lost page write due to I/O error on mmcblk0p2
end_request: I/O error, dev mmcblk0, sector 1319104
Buffer I/O error on device mmcblk0p2, logical block 139388
lost page write due to I/O error on mmcblk0p2
end_request: I/O error, dev mmcblk0, sector 1319112
Buffer I/O error on device mmcblk0p2, logical block 139389
lost page write due to I/O error on mmcblk0p2
end_request: I/O error, dev mmcblk0, sector 1319120
Buffer I/O error on device mmcblk0p2, logical block 139390
lost page write due to I/O error on mmcblk0p2
end_request: I/O error, dev mmcblk0, sector 1319128
Buffer I/O error on device mmcblk0p2, logical block 139391
lost page write due to I/O error on mmcblk0p2
JBD: Detected IO errors while flushing file data on mmcblk0p2
JBD: Detected IO errors while flushing file data on mmcblk0p2
I'm not sure if this is due to bad flash or due to a driver issue. I am concerned though of course about data corruption.
NOTE the output of fdisk -l is:
Disk /dev/mmcblk0: 4035 MB, 4035969024 bytes
68 heads, 3 sectors/track, 38640 cylinders
Units = cylinders of 204 * 512 = 104448 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/mmcblk0p1 1 1000 101998+ 6 FAT16
/dev/mmcblk0p2 1001 38640 3839280 83 Linux
Disk /dev/mmcblk1: 8018 MB, 8018460672 bytes
219 heads, 12 sectors/track, 5959 cylinders
Units = cylinders of 2628 * 512 = 1345536 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/mmcblk1p1 4 5960 7826432 b W95 FAT32
and the outut of df is:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mmcblk0p2 3778976 1072780 2514232 30% /
tmpfs 257748 0 257748 0% /lib/init/rw
udev 10240 520 9720 6% /dev
tmpfs 257748 4 257744 1% /dev/shm
In any case, the problem seems to occur when writing to the root filesystem
i have two gp+'s running and have since 8 months also the rootfs and swap allocated on mmc-cards.
on one guruplug i've exactly the same problem as you (8gb mmc a-data), the other gp+ is running without any problem (4gb mmc)!
i have not yet figured out what the problem is: the specific mmc-card or gp+
the problem occurs about one time in 2 months.
i did a badsector check on my laptop, result: no bad sectors.
my workaround is simple: insert the mmc-card in your laptop, do a fsck with autorepair (a lot of errors will be found) , after that my gp+ with that recovered mmc-rootFS is running fine for weeks.
weekly i make a tar-backup of the rootFS, in the beginning i did not the above mentioned workaround, but formatted the root-partition and restored the tar-backup.