A number of years ago I was working on the scenery system for the open source FlightGear flight simulator. Due to the nature of geodata and the scenery building system, I ended up with tens of thousands of tiny files on my hard drive, many only a few bytes long, and I was constantly running out of disk space.
Then I read about an alternative filesystem for Linux called ReiserFS, part of a new generation of journaling filesystems. Unlike the others, however, ReiserFS had a special innovation: it allowed multiple very small files to share the same block, so that a 5-byte file would not automatically take up 512 bytes (or whatever your block size was). I switched over, and bingo! There was suddenly a huge amount of free space on my previously-full hard drive, and I noticed no performance problems (aside from the occasional tiny zombie file that I couldn’t delete).
I’ve been running Reiser ever since, but the filesystem has fallen on hard times. On 14 September 2006 (via Tony Coates), Jeff Mahoney announced that the SuSE Linux distribution would no longer use ReiserFS as its default. Mahoney is also one of the principal ReiserFS developers, and he wrote that ReiserFS3 does not scale, that it has a small and shrinking developer community inadequate to maintain it, and that ReiserFS4 is “an interesting research file system, but that’s about as far as it goes.” Then, on 10 October 2006 Hans Reiser, the principal maintainer, was arrested and charged with the murder of his estranged wife Nina.
SuSE was the only Linux distribution that used Reiser as its default filesystem. This c|net story links the SuSE decision with the murder charges, but it’s worth noting that Mahoney’s message predates the charges by almost a month. Whatever the cause, however, Novell (SuSE’s owner) had contributed significant resources towards the maintenance of ReiserFS. It no longer looks like ReiserFS has any future at all, and in its current state, it has performance and scalability problems that prevent its use in high-demand environments. ReiserFS was a big help to me when I needed it a few years back, but the next time I install Ubuntu, I’ll use the default ext3 filesystem instead. Hard disks — even for notebook computers — are a lot bigger and cheaper now, anyway.