There are dozens of Linux file systems, and I'm sure you've heard of ReiserFS at least once. It promised a great deal but ultimately failed. I could give you some technical reason for its demise, but that would be dishonest. The true reason is much darker, and if you heard it, you might appreciate your day a little more.
ReiserFS was a project that promised so much in the early days of Linux, and its lead developer—Hans Reiser—had big aspirations for his invention and company (Namesys). ReiserFS took his Linux file system in an entirely new direction with its B-tree index and tail-packing features—something sorely needed at the time. With distros like SUSE adopting it early, the future looked good for Hans Reiser's gem, but fate had other plans.
Problems begging to be fixed
Inefficient searches and storage bogged Linux down
In the early days of Linux, file systems were not as performant as they are now—scalability was a mere afterthought, and Ext2 is a prime example.
Everything is a file on Linux, and directories are no different. What you see as a folder icon is merely an illusion, and the directory is actually a special file that stores directory data. The reality is slightly more complex, involving an inode, but that's the general idea.
To search for a particular filename in a directory, Ext2 performed a linear search of its directory file, which means it checked every file entry one after the other. When a directory contains millions of files (like an email server), and the requests come thick and fast, the server begins to buckle under the enormous pressure.
B-tree indexing
A rapid and scalable solution that could handle millions of files
A B-tree is a self-balancing data structure organized like a Christmas tree. To skip all the gory details, their primary benefit to ReiserFS is their astounding speed. For example, searching a tree with trillions of items takes only a few dozen operations. For ReiserFS, storing metadata in the tree meant there was no limit to the number of files a directory could contain—unlike Ext2, which got bogged down for every file added.
ReiserFS also stored everything in the tree—metadata and file data. This was very different for the time and eliminated performance bottlenecks during metadata operations.
Tail packing
A sensible space-saving technique
ReiserFS saved space by packing small files into the same block, which is a small (e.g., 4KB) boundary that most file systems use to assign a standard space. When you save a 6KB file, it allocates two 4KB blocks, with half a block going unused. ReiserFS crammed small files into the unused tail of the block, keeping the number of allocations and wasted space down. Such a technique is useful for servers that host many small files, which were every web, email, and file server at the time.
From the mainline to the main yard
An unrecoverable error
It was looking good for Hans and his team, and in 2001, ReiserFS found its way into the kernel mainline. That lasted for several years until Hans and his company hit a tiny snag: he murdered his wife.
In 2008, the state of California convicted Hans of first-degree murder. He initially denied it at his trial but later confessed on tape for a reduced sentence of second-degree murder—which carries 15 years to life. Hans described punching his wife in the mouth and then strangling her while his children played computer games in another part of the house. He stored her body in the bathroom and then in his car for two days while he searched for a place to bury her.
According to Hans, his wife (a physician) was an "unfathomable" psychopath and a gifted liar who was "jealous of her own children." He also later claimed at a civil trial in 2012 that he was protecting them because she had Munchausen by proxy—a mental disorder where a caregiver fabricates or induces illness in someone under their care. At the same trial, he compared himself to Moses, who murdered a slave master and buried the body in the sand.
Sometime around the first trial, his company had become inactive and ceased all operations. Hans was effectively out of business, and, in the civil trial, he was ordered to pay $60m in damages to his children.
Laptop With Linux Intel NUC13
The inevitable demise of ReiserFS
It's not us, it's you
To add to the woes, cracks begun to appear in ReiserFS, from subtle file corruption issues to using outdated kernel APIs. The most pressing issue was that ReiserFS got swept up in the Y2038 problem. While ReiserFS could represent times up to 2106, it did not modernize along with the kernel, and in 2022, it was deprecated in the kernel mainline and then later removed in 2024.
Hans had big plans for ReiserFS, and for a while, his company was delivering. Things were looking up for him, but like the rest of us, he couldn't escape real life. Hans clearly had problems and didn't deal with them. It cost him his freedom, his children, and his dream.
The moral of the story is: if you don’t maintain your code, Linus will delete it from the mainline.