Ext3

From Pulsed Media Wiki

ext3

ext3 (Third Extended Filesystem) is a journaling file system used in the Linux operating system. It was introduced as an improvement to ext2 by adding journaling capabilities, which significantly enhance reliability and recovery in the event of crashes or power failures.

ext3 was the default filesystem for many Linux distributions from the early 2000s until it was largely superseded by ext4.

Features

  • Journaling – Logs changes before they are committed, reducing the risk of data corruption and speeding up recovery after unclean shutdowns.
  • Backward Compatibility – Fully compatible with ext2. ext2 filesystems can be upgraded to ext3 without reformatting.
  • Stable and Reliable – ext3 was known for its simplicity and long-term stability in production environments.
  • Three Journaling Modes (configurable in mount options):
 * journal – Logs both data and metadata (safest).
 * ordered – Logs metadata and flushes data before journaling metadata (default).
 * writeback – Logs only metadata (fastest but least safe).

Limitations

  • No support for extents – Uses traditional block mapping, which can lead to fragmentation.
  • No checksumming of journal – Can lead to silent corruption in some rare scenarios.
  • Lower performance – Compared to ext4, ext3 has slower file creation and I/O performance.
  • File and volume size limits – Maximum individual file size is 2 TiB; maximum volume size is 32 TiB (depending on block size).

Transition to ext4

ext3 is now considered a legacy filesystem. It has been mostly replaced by ext4, which offers:

  • Larger file and volume support
  • Extent-based storage
  • Delayed allocation and faster fsck

Most modern Linux distributions support ext3 mainly for compatibility with older systems.

Usage

To format a partition as ext3:

<syntaxhighlight lang="bash"> mkfs.ext3 /dev/sdX1 </syntaxhighlight>

To check for filesystem integrity:

<syntaxhighlight lang="bash"> fsck.ext3 /dev/sdX1 </syntaxhighlight>

See Also