Re: Is ReiserFS really a journaling file system, or is it really just a synchronous-metadata file system like BSD FFS?

From: Scott Henry (scotth@sgi.com)
Date: Tue Mar 28 2000 - 12:53:58 EST


>>>>> "n" == ncm <ncm@nospam.cantrip.org> writes:

n> I have seen the ReiserFS described as a "journaling filesystem", but
n> in examining the project web page, it appears not to be. In fact, I
n> see described there a "journaling patch" which seems to journal FS
n> metadata, but not file contents. In particular:

n> This is metadata logging only. If you hit the reset button in the
n> middle of a kernel compile, you will end up with a bunch of
n> invalid .o files, but the directory tree will remain valid. If
n> you run sync a few times and then hit the reset button, data and
n> metadata will both be valid.

In common use among filesystem designers, a journalling filesystem
logs meta-data only. The intent is to preserve the integrity of the
filesystem to speed recovery after a crash. Carefully written,
journalling metadata has minimal performance impact. Since the
on-disk data structures are now preserved consistent even across
crashes, more complex data structures can be used, which can, in
most cases, more than make up for the performance hit of the
journal.

You are thinking of the other type, a log-based filesystem, where
metadata and user data are logged. It is much more difficult to
write a log-based filesystem that doesn't suffer from the
performance issues.

Because proper and useful journalling of user data is really
application-specific, it makes more sense for use a meta-data
journalling filesystem, and have the application worry about
journalling the user data (with direct-IO techniques, etc).

(I got most of this from the XFS design documents and references,
which were generated from an analysis of real uses)

-- 
 Scott Henry <scotth@sgi.com> /  Help! My disclaimer is missing!
 IRIX MTS,                   /  GIGO *really* means: Garbage in, Gospel Out
 Silicon Graphics, Inc      /  http://reality.sgi.com/scotth/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Mar 31 2000 - 21:00:22 EST