Slashdot Mirror


Merits Of The Different Journaling Filesystems?

a2800276 asks: "The story that XFS has gone beta raised some questions in my mind. There are now four journaling filesystems available under various OSS licenses and being actively developed for Linux, there being (in estimated order of maturity): SuSE/Namesys's reiserfs, SGI's XFS, IBM's JFS and Tweedie/Redhat's ext3fs. Avoiding the obvious question of why can't the effort going into four different projects be channeled into one, I think a discussion of the particular merits of the different fs's would be interesting."

3 of 192 comments (clear)

  1. A brief summary by Fluffy+the+Cat · · Score: 5

    XFS is optimised for dealing with streaming media, and so deals well with high IO and large files.

    JFS has been around for years under AIX. It's a well proven general purpose journalling filesystem.

    ReiserFS is the best established of the Linux journalling filesystems. It has several fairly innovative features and is more efficient than ext2 in terms of space utilisation. People are using it as their primary filesystem now, although it's still in development.

    EXT3 is (unsurprisingly) a development of EXT2. It lacks most of the pretty features of the other journalled filesystems, but has the significant advantage that you can turn EXT2 partitions into EXT3 (and vice versa) without any trouble at all.

  2. Try *BSD Soft Updates by redelm · · Score: 5

    For similar crash protection, you might want to try out McKusick's "Soft Updates" that appear in *BSD systems. Essentially, they are ordered disk writes that makes sure data gets on the disk before metadata is altered. They go through the buffereing system, so performance isn't bad.

    As an experiment, I pulled the plug towards the end of 5 FreeBSD kernel compiles (SMP `make -j 4`). In all cases, the fsck upon restart was minor, just freeing inodes. In four of the cases, `make` just picked up where it left off, and finished the kernel compile, losing only ~40 seconds work. In one case, a `make clean` had to be done because something was incomplete.

    Don't try this on Linux! The ext2 fsck is horrible after a powerfail, and I've lost superblocks and had to re-install :( .

  3. Journalling is dead. Long live phase trees! by teraflop+user · · Score: 5
    OK, that overstates the case a little, journalling is still better when transactions have to complete as early as possible. But for most purposes Daniel Phillips' 'Tux2' phase-tree filesystem looks as though it may well be superior to journalling - it provides the same guarantees of a consistent filesystem as data+metadata journalling, without the performance hit.

    It is also proof that open source software does not just 'chase tail lights' - the work is substantially innovative.

    Phillips is also implementing tailmerging (a feature from ReiserFS to efficiently store small files) for ext2/ext3/tux2.

    For more details, check his web pages here, and the linux-fsdevel mailinglist.