The ext3 Filesystem
Linux has long been known for the robustness and overall speed of the ext2 filesystem. It’s efficiency is evidenced by the fact that Linux has no such creature as a defrag program. There’s simply been no need, thanks to ext2.
2.4.x kernel versions in new Linux installs are, for the most part, the first to officially use the ext3 filesystem. The change is more than just another iteration of the same philosophy. ext3 is a true journalling filesystem. What does that mean? Let me compare the two systems as a way of explaining the improvements in ext3.
Following an unclean shutdown in the ext2 system (a power failure, for example), a consistency check is required before any filesystem can be mounted. This is the result of something we talked about two weeks ago – cached disk writes. The bigger the filesystem on your box, the longer the consistency checking takes when rebooting from an unclean shutdown.
The ext3 system requires no consistency check in the event of a dirty shutdown because the data is written to the disk in a way that guarantees consistency. Filesystem mounting in an ext3 formatted system can occur in as little as a single second, even after a dirty shutdown.
The ext3 system is also more configurable than ext2. You, the user, can decide on the level of consistency your ext3 filesystem will employ. You can choose a faster mode that guarantees that your data stays consistent with the state of the filesystem but allows for damage to data in the event of a dirty shutdown. Or you can choose a level of integrity that’s a bit slower but eliminates the possiblity of damaged data.
It looks like ext3 may be just the beginning of a new approach to journalling filesystems in Linux. Already, many major distributions (Mandrake among them) are employing elements of both ext3 and reiserFS, yet another journalling filesystem. Over the next few years, the glue that holds your system together – the underlying filesystem – is only going to get better.
Aren’t you glad you started now?