Home > Wiki Tips

What is a Journaling File System & Everything About It

Updated on Tuesday, December 3, 2024

Written by

Connie Yang

Approved by

Jessica Shee

English Français Deutsch やまと Español Português

Summary: This post comprehensively introduces journaling file systems. You'll learn what a journaling file system is, its examples, advantages and disadvantages of it, and journaling vs. non-journaling file systems after reading. - From iBoysoft

You see the journaling file systems when formatting a drive on a computer but don't know what are they and what's the difference between them and non-journaling ones. Well, this post is a knowledge base about journaling file systems. You can get everything about the journaling file systems from it.

What is a journaling file system?

The journaling file system is a type of computer file system. It is featured with keeping track of changes that are not yet committed to the main part of the file system and recording the tracked changes in a data structure called "journal" (a separate log). This is also where the file system name comes from.

When a system crash or sudden power outage happens on a macOS, Windows, or Linux machine, a journaling file system can return to the online state quickly and has a lower possibility of corruption. This greatly helps ensure data integrity and improves the ability to restore from crashes.

Go to explain to your friends what a journaling file system is.

 

Journaling file system examples

Here are the specific examples of journaling file systems in macOS, Windows, and Linux.

  • ext3/ext4/ReiserFS: Journaling file system for Linux.
  • NTFS (New Technology file system): The main journaling file system for Windows.
  • HFS+ (Mac OS Extended): The journaled file system used by older versions of macOS.

 Note: The standard exFAT and FAT32 file systems are not journaled file systems. And APFS is the modern and proprietary file system for macOS designed with crash protection but without the journaling technique.

Journaling file system types

To be more precise, there are 3 main types of journaling file systems.

Write Ahead Logging (WAL): Changes are written to the journal before they are written to the main file system.

Metadata Journaling: Only changes to the file system's metadata (e.g., structure, file names, sizes) are journaled. This is less intensive and faster but provides less protection compared to full data journaling.

Full Data Journaling: Both file data and metadata are journaled. This provides the highest level of data integrity but is also more resource-intensive.

Journaling file system advantages & disadvantages

A journaling file system supports tracking changes that are not yet submitted to the main part of the file system, but it also has both pros and cons.

Advantages:

  • Improved Data Integrity: Reduces the risk of data corruption when system crashes and power outages happen.
  • Faster file system Recovery: The file system can be back online in a quick way after crashes.
  • Convenient fix: Simplifies troubleshooting and maintenance tasks when errors happen on the file system.

Disadvantages:

  • Performance overhead: Slightly slower the performance of the device due to extra write operations.
  • Complexity: More complex to implement when compared with non-journaling file systems.

Journaling vs. non-journaling file systems

In a word, journaling file system brings higher data security when compared with non-journaling file systems. Journaling file systems can keep a log of changes to help data recovery when power failure or system crashes happen, but non-journaling file systems can not.

Check the table to find out more about journaling vs. non-journaling file systems:

TypesJournaling file systemsNon-journaling file systems
Data IntegrityHigh, due to journal loggingLower, risk of corruption
RecoveryFast and reliableSlow, require manual checks
PerformanceSlight overheadGenerally faster
Maintainance complexityMore complexRelatively simpler

If this post helps you get a comprehensive learning of journaling file systems, share it with others.