RE: Question on the fs choice

From: VanBaren, Gerald (AGRE) <hidden>
Date: 2004-05-12 12:36:53

Journaling file systems don't cure corruption on power fail, they just make the power fail recovery faster by eliminating the full fsck disk scan and significantly reduce the probability of corruption due to the transactional nature.  The assumption with a journaling file system is that the power fail only corrupted the last (partial) transaction.  With normal usage patterns this is a good assumption (spinning disk physics probably help, but write caches in disks are going to hurt).  With CF under heavy power failure cycles, this might not be as good an assumption.

There was a slashdot item yesterday pointing to a benchmark of various journaling file systems.  In the discussion, one point that was made was that ext3 journals the data as well as the metadata by default where the other journaling file systems journal only the metadata (directory info).  I presume this was accurate (hey, it was on ./ which guarantees accuracy, right? ;-).  Whichever fs you pick, you probably want to journal the data as well as the metadata.

A suggestion is to have multiple partitions on your CF and use RAID-3 or RAID-5.  The assumption here is that a power fail-induced physical corruption would corrupt only one of the partitions which could then be rebuilt due to the RAID redundancy.  The journaled file system would then eliminate the fsck on start up and make the file system itself consistant and the RAID redundancy would (presumably) fix any low level errors that the unexpected power fail could induce.

...or maybe a journaling file system is good enough.

gvb

-----Original Message-----
From: owner-linuxppc-embedded@lists.linuxppc.org
[mailto:owner-linuxppc-embedded@lists.linuxppc.org]On Behalf Of Zajac
Adam-AAZ004
Sent: Tuesday, May 11, 2004 7:20 PM
To: 'linuxppc-embedded@lists.linuxppc.org'
Subject: Question on the fs choice



Hello,

We've built a custom board based on MPC8540 that runs Linux
OS and utilizes
compact flash card to store the kernel on a raw-data
partition (read-only)
and root file system on an Ext2 partition (read-write). As
Ext2 is not a
journaling FS, in case of any power failure the file system
is not cleanly
unmounted and the fscheck complains upon a system start-up.
Also, sometimes the file system partition gets corrupted when
we power-cycle
the card instead of shutting the system down gracefully (the
card is build
to be "hot-swappable" so we test it on purpose).

I saw Wolfgang Denx's post discouraging any use of the CF cards for an
embedded platform where write operations are performed under
power-failure
prone environment. Unfortunately, this is the reality we're
facing on our
card.

I'm seeking some help with selecting the file system that
would survive
power failure if the CF card didn't get damaged during a
write cycle (we're
gonna perform a thorough testing to assess the severity of
that issue).

I've seen some articles suggesting one of the journaling
systems, like Ext3,
XFS or ReiserFS.

Has anybody successfully implemented any of these FS systems
on an embedded
platform equipped with a compact flash card working as a main storage
medium?

Any help would be greatly appreciated.

Adam Zajac
Motorola Inc, Global Telecom Solutions Sector
5555 N Beach St, Mailstop 8E, Fort Worth, TX 76137-2794
Phone: (817) 245-7963

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help