Ext4 is a general-purpose filesystem with POSIX semantics. It was developed as part of the Linux kernel and is the successor to Ext3. Its first unstable release was in October 2006 and its first stable release in October 2008. Ext4 has been adopted as the default filesystem for a number of popular GNU/Linux distributions, however it is regarded by its principal developer as a stop gap measure until Btrfs is suitable for widespread deployment.

The differences between Ext3 and Ext4 are incremental in nature. They include increased capacity and improved performance and reliability. With a block size of 4KB the maximum size of an Ext4 volume is 1EB (1048576TB) and the maximum size of an individual file is 16TB. Filenames are limited to 255 bytes in length, with only two characters (forward slash and null) forbidden. It can efficiently handle large numbers of files per directory provided that the dir_index feature is enabled.

Ext4 is a journalled filesystem, however (as with Ext3) you should be aware that there are different modes in which the journal can operate (journal, ordered and writeback) and they do not give equal protection against data corruption in the event of a failure.


See also

Further reading