This page may be out of date. Submit any pending changes before refreshing this page.
Hide this message.
Quora uses cookies to improve your experience. Read more

What are the advantages and disadvantages of the filesystems ext2, ext3, ext4, ReiserFS, and XFS?

5 Answers
For USB flash drives, Ext3 is still the best choice. As much as I hate VFAT, I love my friends more.

*** recommendation below is very specific to flash drives ***

Ext2 - Yes - too old and no journaling support. It will work fine, but there is no compelling reason to stick to it.

Ext3 - No - very stable, journaling support, capacity up to 16TB, supported by all GNU/Linux distros. Ext3's journaling is not flash friendly. It helps with fast recovery though.

Ext4 - No - stable in newer kernel versions, faster file system check, improved large file performance (extent support), journaled checksums. RHEL announced stable Ext4 support only in 5.6 release. e2fsprogs is still limited to 16TB capacity. I use Ext4 with Debian distro for my laptop backup drives. It is my personal #1 choice.

XFS - No - over kill, not much portability, journaling support, up to 100TB, designed for storage servers. Red Hat revived XFS in RHEL 5.2. Most of ex-XFS developers from SGI are now with RH. It is officially recommended filesystem for servers > 16TB capacity. Fast mkfs and fsck. Excellent large file support. Linux 2.6.37/39 got some really nice xfs meta-data performance improvements.

ReiserFS - No - dead project.

VFAT - Yes - most portable across operating systems, no other good reason.

Btrfs - No - Linux's answer to ZFS. Not ready yet, but most promising.
Your response is private.
Is this answer still relevant and up to date?
Christian Smith
ext2, ext3 and ext4 are evolutions of the same basic file system. As such, ext3 can be considered a superset of ext2, and ext4 a superset of ext3. ext3 and ext4 both can write to a journal before updating the file system, which has benefits in terms of recovering from crashes as well as performance benefits in some situations. ext4 also adds more efficient management of contiguous extents of data within files.

XFS is similar to ext[234] in how data is laid out, it has a journal, but adds btree management of meta-data, which basically provides bounded worst case performance when managing both file and directory meta-data. This has positive performance implications especially in read performance.

ReiserFS is an evolutionary dead end, but made for efficient storage of files both from space and performance points of view. A lot of the good points of ReiserFS has been taken forward into BTRFS.

If this USB flash drive is to be used only with Linux machines (relatively recent ones at that) then I can actually recommend NILFS2. Other general purpose file systems suffer with the performance characteristics of cheap USB flash drives, whereas NILFS2 exploit the best performance characteristics (sequential write performance, low latency read performance) of this cheap storage medium.

If interoperability with non-Linux is desired, or NILFS2 is not supported across all Linux machines, then you'd be as well sticking with the FAT default usually stored on USB drives.
Toby Thain
As a general comment: If you're really serious about surveying filesystems then you need to appreciate that, while very mature, all these are conventional write-in-place filesystems, and therefore have limitations by design in the areas of snapshotting, integrity, and transactionality.

Some filesystems cited already that are copy-on-write (COW) and represent a leap ahead in capability are ZFS and NILFS2 (both mature enough for production use), and btrfs (needs a few more years to mature). These are much closer to the state of the art, but do require some conceptual leaps to fully appreciate (such as grokking Merkle trees and the need to integrate formerly separate layers of volume management and filesystem).
Unless you have significant expertise and resources lined up, I would stick with the most commonly used file system, i.e., the one that comes by default in your target hardware and platform. Odd combinations of individually stable components often do break and you don't want to lose data over a bad choice of FS.
In this article there are few adavantages given, How to Create XFS Filesystem in Redhat Linux 7