Linux最早支持的文件系统是Minix文件系统,这个文件系统有严重的性能问题,因此后来出现了另一个针对Linux的文件系统,即扩展文件系统。
第1版扩展文件系统(Ext1)由Remy Card设计,并于1992年4月引入到Linux中。Ext1文件系统是第一个使用虚拟文件系统(VFS)交换的文件系统,虚拟文件系统交换是在0.96c内核中实现的,支持的最大文件系统为2GB。
第2版扩展文件系统(Ext2)也是由Remy Card设计的,并于1993年1月引入到Linux中,它借鉴了当时流行的FFS(Berkeley Fast File System)文件系统的先进想法。Ext2支持的最大文件系统为2TB,后来在2.6内核将该文件系统支持的最大容量提升到32TB。
第3版扩展文件系统(Ext3)是Linux文件系统的重大改进,由Stephen Tweedie实现,并于2001年11月发布。Ext3文件系统引入了日志概念,以提高文件系统的可靠性。Ext3还能够支持从使用Ext2的系统进行就地(In-place)升级。
第4版扩展文件系统(Ext4)是由Ext3的维护者Theodore Tso领导的开发团队实现的,并引入到Linux2.6.19内核中。
Ext4产生的原因是开发人员在Ext3中加入了新的高级功能,但在实现的过程出现了几个重要问题:
①一些新功能违背向后兼容性;
②新功能使Ext3代码变得更加复杂并难以维护;
③新加入的更改使原本十分可靠的Ext3变得不可靠。
由于这些原因,从2006年6月份开始,开发人员决定把Ext4从Ext3中分离出来进行独立开发。Ext4的开发工作从那时起开始进行,但大部分Linux用户和管理员都没有太关注这件事情,直到2.6.19内核在2006年11月的发布。Ext4第一次出现在主流内核里,但是它当时还处于试验阶段,因此很多人都忽视了它。
2008年12月25日,Linux Kernel 2.6.28的正式版本发布。随着这一新内核的发布,Ext4文件系统也结束实验期,成为稳定版。