Letโs start with a bit of history. Developed as the successor to the original Extended File System (ext), ext2 was introduced in January 1993, engineered to overcome the limitations of its predecessor and the FAT file system, which was widely used in DOS and Windows environments then.
Over the past three decades, ext2 has been an integral part of every Linux kernel version, serving as the go-to filesystem for Linux distributions until the turn of the millennium, around 2002-2003.
However, like all technologies, ext2 has reached its twilight, giving way to newer, more advanced alternatives, in that case in the face of the ext3 file system. The transition from ext2 as the default filesystem to more advanced filesystems like ext3 happened at different times for various Linux distributions.
- Debian started using ext3 as the default in the Debian Sarge (3.1) release, which was officially released in June 2005.
- Red Hat Linux introduced ext3 as a default option in version 7.2, which was released in October 2001.
- Slackware’s transition to using ext3 as a recommended option came with Slackware 9.1, released in September 2003.
- SUSE Linux started offering ext3 with SUSE Linux 9.0 in October 2003 as an option, but ext2 was still widely used in earlier versions.
Why are we taking on this swift journey through history? Itโs because ext2 is on the verge of retirement after three decades.
Linux kernel 6.9 Marks ext2 as Deprecated
The ext2 filesystem has been marked as DEPRECATED in the soon-to-be-released Linux kernel version 6.9, which is anticipated to arrive around mid-May due to a significant limitation: its inability to support dates beyond January 19, 2038.
This decision is based on the filesystemโs design, which does not accommodate inode timestamps extending beyond this “Year 2038” threshold.
The Year 2038 problem, similar to the much-discussed Y2K issue, arises from the storage of time values as 32-bit integers. These integers will overflow early that year, leading to potential data inaccuracies and system failures.
In response, the Linux kernel developers have introduced a “DEPRECATED” keyword within the kernel parameter description for ext2. This move cautions users about the filesystemโs dated limitations and nudges them towards more contemporary alternatives that guarantee longevity and stability.
The recommendation for current ext2 users (if there are any nowadays) is to transition to the ext4 driver. This driver offers backward compatibility with ext2, ensuring a seamless migration for users. It accommodates filesystems without journals or extents, providing a versatile solution for a wide array of use cases.
Furthermore, ext4 addresses the timestamp limitation head-on by supporting larger timestamps, given that the filesystem is created with inodes of at least 256 bytes.
Of course, labeling ext2 as DEPRECATED raises no concerns. In practice, ext2 serves more as a relic of the past than a filesystem in active use. Additionally, even its successor, ext3, has been virtually entirely replaced by ext4, which now stands as one of the primary filesystems that most Linux distributions depend on.
Currently, there’s no comment regarding the duration ext2 will remain in future Linux kernels marked as DEPRECATED before its eventual retirement. Although this change won’t occur in the near future, the initial move toward its phase-out has already begun.