Re: ext4 settings in an embedded system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thank you very much for your helpful response and answers.

I would like to describe some background for our embedded system. The
system has recently been upgraded, before the upgrade we did not see
"filesystem" related problems. Before the upgrade we used  another
filesystem, kernel and IDE Flash Disk(kernel 2.6.12 kernel, reiserfs and
a smaller 256 MB IDE Flash Disk).  Today we have kernel 2.6.32,
ext4(default options) and a 1GB Transend TS1GDOM44H-S IDE Flash Disk.
We have a very low IO intensity towards the flash disk and low
requirements on the filesystem performance. 

In our case with the file of size 0 bytes. We use a bash shell script to
upgrade our application. The shell script calls the program "tar" and
tar overwrites/recreates  our application bin file. After some minutes
the power is cut and our bin file had the new size 0 bytes when the
system came up again . This particular case was solved by adding a sync
in the end of our upgrade shell script. I still don't understand why the
data is not committed to the disk after several minutes? Even if tar
leaves the file truncated tar must have closed the file and ext4 would
have done an implicit write-back?
We are worried that this will happen again where we use programs not
written by ourselves. Will the nodelalloc option solve this behavior?

If I understand you right the corrupted journal superblock (inode #8) is
most probably a result of a problem in the IDE Flash Disk.  I have
attached dumpe2fs.output from this problem. I booted the system from a
usb-drive and the filesystem could be repaired by e2fsck, but this is
not something the customer can do, we have to replace units like this.
The Transend TS1GDOM44H-S IDE Flash Disk is intended for demanding
embedded systems that require reliability, I guess it could still be the
part creating this problem. 

I think you are saying that ext4 should work fine in our setup were we
have regular power-cuts if we use sync/fsync and applies the following
settings:
-barrier, which we already use by default (Can't see barrier in the
attached dumpe2fs.output thou).
-nodelalloc
You also advise us to implement or own power-cut tests.

Are there more settings that could be to our favor, like
journal_checksum? Tune2fs data=journal?

Best Regards

Fredrik Ohlsson
Software Engineer






Attachment: dumpe2fs.output
Description: dumpe2fs.output

Attachment: e2fsck.output
Description: e2fsck.output


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux