LINFO

The Ext4 Filesystem


The fourth extended filesystem (ext4) is a next-generation filesystem for Linux that is currently in the development stage.

A filesystem is a way of organizing data on a computer. Most filesystems appear to the user as a hierarchy of directories and files. The most commonly used filesystems on Linux are ext2, ext3 and reiserfs.

Ext4 is being developed for the rapidly approaching era of terabyte (1024 gigabytes) hard disk drive (HDD) capacities. It features support for storage up to 1024 petabytes (1024 terabytes) per volume.

Ext4 also supports extent file writing. In extent, when a file is created, it is given a contiguous area of storage. Then, when the file is written to in the future, the new information is written at the end of the earlier file. This is intended to reduce file fragmentation and improve HDD performance. Support for extents is already included in the Reiser4 and in IBM's JFS (Journaling filesystem), which is used in AIX and Linux.

Also featured is support for allocate-on-flush (also called delayed allocation), which had previously been implemented in the XFS, Reiser4 and ZFS (developed by Sun Microsystems for use in Solaris) filesystems. Benefits included reduced disk fragmentation and reduced CPU usage.

Ext4 was announced on October 10, 2006 by Andrew Morton, one of the lead developers of the Linux kernel. It was included in 2.6.19 kernel which was released on November 29, 2006.




Created March 30, 2007.
Copyright © 2007 The Linux Information Project. All Rights Reserved.