← Back to team overview

ubuntu-eee-coders team mailing list archive

[Question #52132]: ext3 on external sd card - consistent corruption after crash

 

New question #52132 on Ubuntu Eee:
https://answers.launchpad.net/ubuntu-eee/+question/52132

I have a 701G 4G with external 8G SD card formatted as ext3
running array.org 2.6.27-8-eeepc kernel. Infrequently the system hangs and cannot be recovered without hard power down (hold power button to force ACPI). On several occasions after this occurs the system on reboot believes the ext3 partition is clean(!). However "fsck.ext3 -f /dev/sdb1" reveals massive filesystem corruption.

Note: the fact that the system hangs is of concern but not my
main point. In spite of such events the corruption of an ext3
partition seems completely contrary to its design which is supposed to be based on journalled writes. Despite efforts to increase integrity of journal writing, e.g. by adding "barrier=1" to the mount options of the filesystem, and setting "data=journal", the problem persists. The fstab entry follows:

/dev/sdb1 /media/sd ext3 data=journal,relatime,errors=remount-ro,commit=120,barrier=1,sync 1       2

My understanding is that there is a known issue with ext3 with these symptoms caused by lack of a checksum on the journal, in scenarios involving drives with write caching enabled. Sure enough, the kernel reports that the external drive is being mounted with write-through caching.

[   14.775781] sd 2:0:0:0: [sdb] 16019456 512-byte hardware sectors (8202 MB)
[   14.776730] sd 2:0:0:0: [sdb] Write Protect is off
[   14.776746] sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00
[   14.776754] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[   14.779028] sd 2:0:0:0: [sdb] 16019456 512-byte hardware sectors (8202 MB)
[   14.779893] sd 2:0:0:0: [sdb] Write Protect is off
[   14.779904] sd 2:0:0:0: [sdb] Mode Sense: 03 00 00 00
[   14.779911] sd 2:0:0:0: [sdb] Assuming drive cache: write through
[   14.779983]  sdb: sdb1
[   14.782238] sd 2:0:0:0: [sdb] Attached SCSI removable disk

I have had no luck changing this. hdparm won't even report on the write caching status of the drive let alone change it. On the other
hand the internal drive seems to have caching disabled.

# hdparm -W /dev/sda
/dev/sda:
 write-caching = not supported

# hdparm -W /dev/sdb
/dev/sdb:
 HDIO_DRIVE_CMD(identify) failed: Input/output error

 (BTW I have never had any sign of corruption on the internal drive.)

My EEE is now NEARLY usable. Unfortunately this infrequent, but regular corruption is taking its toll. Of course I have backups of the drive but restoring backups, fixing damaged files, etc. is costly.



-- 
You received this question notification because you are a member of
Ubuntu Eee Coders, which is an answer contact for Ubuntu Eee.