What Is a Journaling File System?
The journaling file system (JFS) is a kind of file system developed by IBM IN 1990. It keeps track of changes, which are not yet committed to the file system’s main part, by recording the goal of such changes in a data structure known as “journal”. Usually, the “journal” is a circular log.
In the event of a system crash or power failure, a journaling file system can be brought back online more quickly with a lower chance of being corrupted. Depending on the actual implementation, the JFS may only keep track of stored metadata, which results in improved performance at the expense of increased possibility for data corruption.
On the other hand, a journaling file system may track both stored data and related metadata while some implementations enable selectable behavior in this regard.
Journaling File System Advantages and Disadvantages
In general, a journaling file system has several pros and cons.
Advantages of Journaling File System
- Limits the possibility of data corruption or loss under system crash or power failure.
- Quicker to bring filesystem back online after a crash.
- Keeps track and logs the changes made in actively written files.
- Journal log and file system doesn’t have to be on the same device.
Disadvantages of Journaling File System
- Takes up certain hard drive storage space.
- Occupies additional processing, memory, and disk access.
- Not friendly to old storage mediums and old computers.
Types of Journaling File System
According to the techniques of a journaling file system, there are two kinds.
Physical Journaling File System
A physical journal records an advance copy of every block that will later be written to the main file system. It imposes a significant performance penalty for every changed block that must be committed twice to storage but may be acceptable when absolute fault protection is required.
Logical Journaling File System
A logical journal stores only changes to file metadata in the journal and trades fault tolerance for substantially better write performance. A logical journaling file system still recovers quickly after a crash but may permit journaled metadata and un-journaled file data to fall out of sync with each other, thus causing data corruption.
File Systems Adopt Journaling
- NTFS (New Technology file system)
- EXT2/EXT3/EXT4 (extended file system)
- APFS (Apple file system)
- XFS
- OpenZFS
- F2FS (Flash-friendly file system)
- GFS2 (global file system 2)
Also read: Ext4 vs NTFS vs HFS+: Differences and Which One Should You Use
Alternatives to Journaling File System
Log-structured File Systems
A log-structured file system occupies the entire storage device. It is structured so that it can be traversed as would a normal file system. so, in the log-structured file system, the write-twice penalty doesn’t apply.
Copy-on-write File Systems
Full copy-on-write file systems like Zettabyte file system (ZFS) and Btrfs avoid in-place changes to file data by writing out the data in newly allocated blocks, followed by updated metadata that will point to the new data and disown the old, followed by metadata pointing to that, and so on up to the superblock or the root of the file system hierarchy. This has the same correctness-preserving properties as a journal without the write-twice overhead.
Soft Updates
Some Unix file system (UFS) implementations avoid journaling and implement soft updates. They order their writes in such a way that the on-disk file system is never inconsistent or that the only inconsistency that can be created in the event of a crash is a storage leak. To recover from those leaks, the free space map is reconciled against a full walk of the file system at the next mount.
Journaling File System FAQ
Which Linux file system was the first to implement journaling?
The journaling file system was implemented in Linux’s EXT3 file system in 2001.
Which Windows file system enables journaling and access control lists?
Windows NT’s NTFS files system enables the journaling file system and access control lists in 1993.
Which journaling mode requires writing every file system change twice?
Physical journaling file system.
Is NTFS a journaling file system?
Yes, it is.
Does the Journal log have to be on the same device as the filesystem?
No.
What is a journal checkpoint?
Committing operations from the log and synchronizing the log and its associated filesystem is called a checkpoint.
Professional Software to Avoid Data Loss/Corruption
Besides taking advantage of the journaling file system, you can also make use of a robust and reliable program like MiniTool ShadowMaker to back up important files in case of data loss or corruption due to system crashes or power failures.