[2] ext4 (fourth extended filesystem) is a journaling file system for Linux, developed as the successor to ext3.
This proposal was accepted, and on 28 June 2006, Theodore Ts'o, the ext3 maintainer, announced the new plan of development for ext4.
In 2008, the principal developer of the ext3 and ext4 file systems, Theodore Ts'o, stated that although ext4 has improved features, it is not a major advance, it uses old technology, and is a stop-gap.
Ts'o believes that Btrfs is the better direction because "it offers improvements in scalability, reliability, and ease of management".
A patch to implement secure deletion was proposed in 2011, but did not solve the problem of sensitive data ending up in the file-system journal.
The typical scenario in which this might occur is a program replacing the contents of a file without forcing a write to the disk with fsync.
There are two common ways of replacing the contents of a file on Unix systems:[33] Using fsync() more often to reduce the risk for ext4 could lead to performance penalties on ext3 filesystems mounted with the data=ordered flag (the default on most Linux distributions).
In response, ext4 in Linux kernels 2.6.30 and newer detect the occurrence of these common cases and force the files to be allocated immediately.
For a small cost in performance, this provides semantics similar to ext3 ordered mode and increases the chance that either version of the file will survive the crash.
Performance problems can be minimized by limiting crucial disk writes that need fsync() to occur less frequently.
It is the result of an attempt to integrate multiple file systems into an orderly single structure.
[41] Paragon Software offers commercial products that provide full read/write access for ext2/3/4 – Linux File Systems for Windows[42] and extFS for Mac.
The ext4 filesystem divides the partition it resides into smaller chunks called blocks (a group of sectors, usually between 1KiB and 64 KiB).