Messages in this thread |  | | Date | Tue, 25 Sep 2001 13:13:04 -0700 | From | Mike Fedyk <> | Subject | Re: ReiserFS data corruption in very simple configuration |
| |
On Sat, Sep 22, 2001 at 04:47:31PM +0400, Nikita Danilov wrote: > foner-reiserfs@media.mit.edu writes: > > [Please CC me on any replies; I'm not on linux-kernel.] > > I thought the whole point of a journalling file system was to > > -prevent- corruption due to an unexpected failure! This seems to be > > -far- worse than a normal filesystem---ext2fs would at least choke and > > force fsck to be run, which might actually fix the problem, but this > > is ridiculous---it just silently trashes random files. > > Stock reiserfs only provides meta-data journalling. It guarantees that > structure of you file-system will be correct after journal replay, not > content of a files. It will never "trash" file that wasn't accessed at > the moment of crash, though. Full data-journaling comes at cost. There > is patch by Chris Mason <Mason@Suse.COM> to support data journaling in > reiserfs. Ext3 supports it also. >
When files on a ReiserFS mount have data from other files, does that mean that it has recovered wrong meta-data, or is it because the meta-data was committed before the data?
So, if I write a file, does ReiserFS write the structures first, and if the data isn't written, whatever else was deleted from the block before will now be in the file?
If that's so, then one way to keep old deleted data from getting into partially written files after a crash would be to zero out the blocks on unlink. I can imagine that this would prevent undelete, and slow down deleting considerably.
Another way, may be to keep a journal of which blocks have actually been committed. Maybe a bitmap in the journal, or some other structure...
If you have data journaling, does that mean there is a possability of recovering a complete file -before- it was written? i.e:
echo a > test; sync; cat picture.tif > test (writing in progress, only partially in journal) power off
Will "a" be in test upon recovery? - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |