Another in the series of questions that we get asked a lot is: “What Linux filesystem should I use/what ones are available?” This question is not relegated to newcomers to the Linux arena, there are such a baffling array of choices it’s confusing even to old hands at times.

The Main Players:

Ext2/3 – Ext2 is a descendant of the FFS (Fast File System) and UFS (Unix File System) tree of filesystems, while Ext3 adds the all-important journalling, allowing for much-improved handling of crashes and markedly faster filesystem recovery times. Originally written by Stephen Tweedie and Remy Card, it’s currently the default for a goodly number of distributions, including our SLE 10 SP1 lineup, (SLED and SLES). Pluses of the Ext3 file system include extreme compatability with Ext2 file systems, ease of upgrade, familiarity for those already on Ext2, speed and many options. Minuses include it’s adherance to the past and that inodes (effectively the ability to have a file, each inode is a pointer to a file) are set in number at file system creation time.

Reiserfs – Named after it’s creator and majority fundraiser, Hans Reiser, the Reiser FS definitely set out some new features and ways to think about file systems. It’s pluses include a more database-like approach to the file system, better speed at higher loads and that it creates new inodes from an almost infinite pool when needed, so it doesn’t run out of inodes like Ext3 does, at least until it really does run out of space.

XFS – As the oldest file system that features journalling (logging of actions), Silicon Graphic’s XFS began life in 1993 and made it into the Linux Kernel in the 2000 timeframe. XFS supports journalling, has a maximum file size of

XFS is a 64-bit journaling file system with guaranteed file system consistency. It supports a maximum file system size of 8 exabytes, though this is subject to block limits imposed by the host operating system. On 32-bit Linux systems, this limits the file and file system sizes to 16 terabytes.

IBM has a great article about File Systems, Heirarchy and Devices that was written by Ian Shields of IBM, it’s part of a series for prepping to take the LPIC Level 1 exams. A good read.

Rather than spend too much time editorializing about the subject of which you should use, let me point you to a great comparison table that is on Wikipedia, one that I like to use a lot, it’s got the following:

  • General Info (including the date released, company and name)
  • Limits (Minimum and Maximum File and File System Size, etc.)
  • Metadata (Permissions, ACL’s and Extended Attributes)
  • Features (Journalling, Snapshots, Case-Sensitivity and Encryption)
  • Allocation and Advanced Features

As a side note, those of you who follow Apple’s Leopard version of OS X and the announced Time Machine interface for viewing past versions of files, you can check out the Ext3Cow File System, it’s very interesting and shows promise.