Skip to content
Modern File Systems
step 1/5

Reading — step 1 of 5

Read

~1 min readCrash Safety & Modern FS

Modern File Systems

Beyond the toy:

ext4:

  • Linux's most common. Mature, fast, journaled.
  • Extents, dir_index, online resize.
  • 1 EiB max FS, 16 TiB max file.
  • 30+ years of bug fixes.

xfs:

  • B-trees for everything. High performance.
  • Excellent for large files + many.
  • No shrink (only grow).
  • Default in RHEL since 7.

btrfs:

  • COW, snapshots, RAID 0/1/5/6/10.
  • Subvolumes (nested file systems).
  • Compression, deduplication.
  • Stable for most use; some RAID modes still experimental.

ZFS:

  • Originally Solaris (now OpenZFS). Mature.
  • Pools (zpool) abstract over devices.
  • COW, snapshots, send/receive (incremental backup).
  • End-to-end checksums (silent corruption detection).
  • ARC (cache) integrated; no double-buffering with kernel.
  • ZFS on Linux via OpenZFS project.

APFS (macOS, iOS):

  • COW, snapshots, encryption-by-default.
  • Optimized for SSDs.
  • Fast cloning (clone files = COW reference).

F2FS (Flash-friendly FS):

  • Designed for SSD/eMMC characteristics.
  • Sequential writes (avoid random in flash).
  • Cleaner-friendly: garbage collection of obsolete blocks.

FAT/exFAT:

  • Simple. No journaling. Universal compatibility.
  • Used in USB drives, SD cards, BIOS-mode boot partitions.

NTFS:

  • Windows. Transactional. ACLs.
  • Read-only support in Linux is mature; write iffy until ntfs3 (2021).

Network FS:

  • NFS (RFC 1813, 5661): standard UNIX network FS.
  • SMB/CIFS: Windows network FS.
  • 9P: Plan 9; used by some VMs.
  • FUSE: user-space FS framework. Implement FS in user space.

Distributed FS:

  • CephFS, GlusterFS: scale-out.
  • HDFS: Hadoop. Optimized for large block sequential.
  • GCS/S3: object stores. Not really FS but increasingly used as one.

Choosing:

  • General Linux server: ext4 or xfs.
  • Large data + snapshots: btrfs or ZFS.
  • macOS: APFS (default).
  • Windows: NTFS.
  • USB drive: exFAT.
  • Embedded SSD: F2FS.

Discussion

Ask a question, share an insight, or help someone who’s stuck.

Sign in to post a comment or reply.

Loading…