Re: data loss on jffs2 filesystem on dataflash

From: Jörn Engel
Date: Thu Sep 22 2005 - 06:34:58 EST


On Wed, 21 September 2005 21:07:59 +0200, Pavel Machek wrote:
>
> > > I glanced at the manual. Uhh, DataFlash is very specific beast. It
> > > suppoers page program with built-in erase command... So DataFlash
> > > effectively may be considered as a block device. Then you may use any FS
> > > on it providing you have wrote proper driver? Why do you need JFFS2 then
> > > :-) ?
> >
> > Still can't. Block devices have the attribute that writing AAA... to
> > a block containing BBB... gives you one of three possible results in
> > case of power failure:
> >
> > 1. BBB...BBB all written
> > 2. AAA...AAA nothing written
> > 3. AAA...BBB partially written.
> >
> > Flash doesn't have 3, but two more cases:
> > 4. FFF...FFF erased, nothing written
> > 5. AAA...FFF erased, partially written
> >
> > Plus the really obnoxious
> > 6. FFF...FFF partially erased. Looks fine but some bits may flip
> > randomly, writes may not stick, etc.
> >
> > Now try finding a filesystem that is robust if 4-6 happens. ;)
>
> ext2 and anything that does not do journalling?
>
> I do not thing behaviour on powerfail is part of block device definition.

Noone bothered defining it, but most everyone is happy about it being
as it is. Non-journalling filesystems would have severe corruption on
unclean umounts. lost+found would fill up much faster than people are
used to, if 4-6 was common for hard disks.

Journalling filesystems actually would be robust against 4-6, as long
as their block size was large enough. The journal must contain the
complete erase block from flash - which is commonly in the area of 64k
or 128k. Ext3 blocks are much smaller, so the fs would still corrupt.

Well - DataFlash appears to have very small block sizes. So yes, it
would be possible to use ext3 on it. But then there's still the
problem of limited per-block flash lifetime and ext3 doesn't do wear
levelling.

Jörn

--
You cannot suppose that Moliere ever troubled himself to be original in the
matter of ideas. You cannot suppose that the stories he tells in his plays
have never been told before. They were culled, as you very well know.
-- Andre-Louis Moreau in Scarabouche
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/