Linux File System Series And Development – Ext2, Ext3 And Ext4

By | December 4, 2012

In Linux, ext stands for extended file system, first such type of file system, was implemented in April 1992 as  created specifically for the Linux kernel. This system is based on ‘metadata’ – very similar to traditional Unix File System (UFS). The development series of this file system was started from ext2 and today it has reached to ext4 as the latest file system available for Linux kernel.

To get the better idea of the development of this series, we will see features of all these three file systems developed for Linux Kernel.

ext2, ext3 and ext4 are all file systems created for Linux. This article explains the following:

Ext2

  • Ext2 stands for ‘Second Extended File System’.
  • This was introduced at the very start, in 1993. And, the developer was ‘Rémy Card’.
  • The main purpose behind its development was to overcome the limitation of the original ext file system.
  • One more thing about Ext2 is, it does not have journaling feature.
  • Ext2 is recommended mostly on flash drives and usb drives, as it doesn’t need to do the over-head of journaling.
  • For Ext2 Maximum individual file size limit can be from 16 GB to 2 TB
  • Overall ext2 file system size limit can be from 2 TB to 32 TB

Ext3

  • Ext3 stands for ‘Third Extended File System’.
  • This was introduced in 2001 and the developer was ‘Stephen Tweedie’.
  • Ext3 was available from  Linux Kernel 2.4.15
  • Allowing journaling was the most important feature of Ext3, which was absent in Ext2.
  • The major benefit of journalig is that it has a dedicated area in the file system, where all the changes are tracked, as a result the possibility of corruption of file system is minimized.
  • Maximum individual file size limit in EXt3 can be from 16 GB to 2 TB
  • Overall ext3 file system size limit can be from 2 TB to 32 TB
  • There are three types of journaling available in ext3 file system.
  1. Journal – This is the basic jornaling in which metadata and content are saved in the journal.
  2. Ordered – Only metadata is saved in the journal and metadata are journaled only after writing the content to disk. This comes as default.
  3. Writeback – Only metadata is saved in the journal but, unlike ‘Ordered Journaling’ Metadata might be journaled either before or after the content is written to the disk.
  • One can upgrade an ext2 file system to ext3 file system directly (without backup/restore).

Ext4

  • Ext4 stands for ‘Fourth Extended File System’.
  • Ext4 was introduced in 2008.
  • Ext4 was available from  Linux Kernel 2.6.19
  • One of the most important feature arrived in Linux file system with Ext4 was it has ability to support huge individual file size and overall file system size.
  • Ext4 made it possible to extend maximum individual file size limit from 16 GB to 16 TB
  • It also extended the Overall maximum file size limit to 1 EB (exabyte) (1 EB = 1024 PB (petabyte) and 1 PB = 1024 TB (terabyte)). So you can imagine how bigger overall file size can by supported by Ext4.
  • In Ext4 a directory can contain a maximum of 64,000 sub-directories (the limit is 32,000 in ext3)
  • Without upgrading one can also mount an existing ext3 fs as ext4 fs
  • Ext4 also introduced other important features like multiblock allocation, delayed allocation, journal checksum, fast fsck, etc. these new features play major role in improvisation in performance and reliability of the linux filesystem when compared to ext3.
  • Though journaling is an important feature, but in ext4, you also have the option of turning it off if not required.

Ext2 is becoming outdated package and today Ext4 is the most updated file system available for Linux, but still it is not used as widely as ext3 in web hosting services industry.