On Fri, 2004-06-18 at 11:15, Oleg Drokin wrote: > Hello! > > On Fri, Jun 18, 2004 at 11:41:23AM +0200, Helge Hafting wrote: > > > >If you can reproduce a garbage in files in ordered journal mode, that > > >would be a > > >bug that should be fixed then. > > Hard to _produce_, but consider: > > 1. Write data to an existing file > > 2. Sync metadata > > 3. data is forced out because of ordered mode, a powerout crash happens > > in the middle of this. The file now has a block with a mix of new > > and old, > > Well, this is not much worse than having two blocks, one from old file > and one from new after a crash. Agree. If the application needs consistency it must do some journaling itself. At least, until the time when an application can say "start transaction" "commit transaction" to the file system itself. > > it may even be unreadable due to a bad sector checksum. > > Well, in data journaled mode you may get unreadable journal, is this much > better? (Also original question was about CF flash media, so no bad sector > problems I presume). You got it wrong here. The sentence was "bad sector checksum", not "bad sector". If the sector was "half written", then the checksum would not match. If the journal is "half written" then it is just discarded (or at least it should be). > > With data journalling you either get the old data (because the crash > > happened > > during a write to the journal) or new data (crash happened during data > > write, > > Well, while with data journaling mode your granularity is one block, > with data ordered it is one sector. Imagine that you request a 2Mb write to an ext3 filesystem with an 1Mb journal. There is *no way* the filesystem can do the write in an atomic operation. (there would be if the filesystem wrote the data to free blocks and updated the metadata through the journal) The point is, there is no concept of "atomic operation" at the file system level, so the application must do journaling itself if it wants to have some concept of "transactions". >From my experience with CF cards, there are some brands that do wear-leveling (I know that at least the TwinMOS ones do, and probably SanDisk too) and others that don't (Kingmax). With a bad CF card and an ext3 filesystem you can get bad sectors in a couple of hours doing some intensive writing. A good CF card will sustain "normal use" (2 writes per minute average) and an ext3 filesystem for months (maybe years, I still didn't went that far in time :) Just my two cents, -- Paulo Marques - www.grupopie.com "In a world without walls and fences who needs windows and gates?" _______________________________________________ Ext3-users@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/ext3-users