2 minutes
Local file systems update
This 2013 talk examined the evolution of Linux's major local file systems - XFS, ext4, and Btrfs - as they adapted to modern scalability, reliability, and storage technology challenges.
Where the three local file systems that matter stood at the start of 2013: XFS, ext4 and Btrfs.
Three pressures were shaping all of them. Single drives had reached 4 TB, so a file system had to handle more of everything, on top of an I/O stack still built around the assumption that a device is slow and cannot do many operations per second. Machines had more cores than most of the code was written for. And a file system that size has to be checkable and repairable in a length of time somebody will actually wait through, which is a different problem from making it work.
Each of them was answering differently. XFS had delayed logging and was gaining
metadata checksumming, and for hundreds of terabytes it was the one to reach
for. Ext4 had the extent status tree and bigalloc. Btrfs checksummed data as
well as metadata and could scrub online, which is what you want, though it was
still under heavy development and its fsck was not finished.
There is a cost to all this that never makes it onto a slide. Three file systems means three sets of tools that do not agree with one another, and the person holding all of them is the administrator. That was the argument I was making for System Storage Manager at the time.