Active forum topics

Reiser FS: The open source file system fallout

Yesterday, the Open Source community took an emotional hit when veteran Linux programmer Hans Reiser was convicted of first degree murder in the suspicious disappearing of his wife, Nina. While I won’t go into the details of the case, as this has been covered extensively in the press, I would like to talk a little bit about how this verdict will impact the technology in play for file system dominance in our favorite Open Source operating system, Linux.

While Namesys’ ReiserFS, of which Hans Reiser (right) was the primary programmer and lead designer was not the pre-dominant journaled file system used on Linux systems, it was praised for its stability and performance, and was and still is the default file system on the second most popular enterprise Linux distribution, SuSE Linux Enterprise Server (SLES). ReiserFS was also included in the “upstream” Linux kernel maintained by Linus Torvalds because it shares the same license, GPL version 2. ReiserFS is also popular on Debian-based systems as well.

SuSE and Debian use ReiserFS version 3, a stable and proven version of the code that has been sitting mostly fallow for some time, and is maintained with bug and security fixes on a best effort basis. Prior to the whirlwind and highly publicized trial, Hans Reiser and his small team were working on Reiser4, but much of this development ground to a halt due to his legal woes, and the project is more than likely to die an unfortunate death by virtue of its lead programmer having to serve a minimum 25 year life sentence in prison.

From the SuSE and Debian perspective, this is an obviously unacceptable state of affairs.

For now, the future of ReiserFS, and its parent company Namesys, remain in jeopardy. Reiser put the company up for sale in December 2006, and as of yet the company is unsold. Namesys employee Alexander Lyamin, writing in the Linux Kernel Mailing List in December 2006, said his company will continue its work absent of Reiser’s leadership, and attempt to appoint a “proxy” to run operations until a better solution could be found. At this time, Namesys’ website is current inaccessible.

The few prominent Linux distributions that were still shipping the stable version of ReiserFS by default have shifted to the more common Ext3 for various technical reasons. Reiser4, his next-generation filesystem, has been under active development for some time, but has not been streamlined into the Linux kernel because Linux developers claim that it fails to adhere to coding conventions and has several technical problems.

I don’t know if Hans Reiser, creator of the well-regarded, open-source ReiserFS (Reiser File System), is actually guilty of the murder of his estranged wife, Nina Reiser. We can’t actually even be sure that Nina Reiser was murdered. Her body was never found and Reiser’s attorney argued that she may have returned to her native Russia.

Never-the-less, as Wired reported, “with no body, no crime scene, no reliable eyewitness and virtually no physical evidence” Hans Reiser was found guilty of first-degree murder. In California, first-degree murder must be “willful, deliberate, and premeditated.”

Computer programmer Hans Reiser was arrogant while testifying in his murder trial and never showed any compassion for his estranged wife, one of many factors that led to his conviction on first-degree murder, a member of the jury said today.

If you look up the history of ReiserFS, you'll indirectly notice the politics goes a lot into those things.
Even if Hans never got convicted or if reiserfs development continues, Reiser4 will never get integrated into the mainline kernel.

So, Hans will have 25 years perhaps in prison with nothing to do but to perfect Reiser4 or v5. However, the problem is that Reiser file system is reaching a dead end. Only defragmentation technology can be picked up to be added in ReiserFS v5.

When an open source project loses one of its core people, it can be tough to pick up the pieces -- not just in terms of replacing that person's programming expertise or insight, but also to restore lost morale. On the plus side, the nature of an open source project does balance things out, if only in an opportunistic fashion.

Patches for the file system are still being submitted, as evinced by the traffic on the reiserfs-devel mailing list, and the folks at kernel.org have offered space to host the ReiserFS sources, giving it that much more of a lease on life. But without Reiser, I suspect ReiserFS itself is doomed -- or is at least due for a name change.

Does the survival and development of the Reiser FS really matter? With the stability of ext3, XFS, and JFS, and the promised scalability of the developing ext4 and Btrfs, neither Reiser3 or Reiser4 seem needed.

I'm certainly no expert on file systems, but I found a filesystem partitioning combo years ago that has been extremely reliable for me, which does not include a Reiser FS partition.

Reiser4 might have become a great Linux filesystem, but so might others.

Latest News

Leftovers: Software

All the *mm projects now require C++11. Current versions of g++ require you to use the –std=c++11 option for this, but the next version will probably use C++11 by default. We might have done this sooner if it had been clearer that g++ (and libstdc++) really really supported C++11 fully.

I have just released version 1.13 of Obnam, my backup program. See the website at http://obnam.org for details on what it does. The new version is available from git (see http://git.liw.fi) and as Debian packages from http://code.liw.fi/debian, and uploaded to Debian, and soon in unstable.

MusicTube is a very interesting music player designed for multiple platforms using YouTube as the music source. It's not made for locally hosted music, and you can't add other online sources, but YouTube is a huge resource.

today's leftovers

Most of our services are in Go, and thanks to the fact that compiled Go binaries are mostly-statically linked by default, it’s possible to create containers with very few files within. It’s surely possible to use these techniques to create tighter containers for other languages that need more runtime support, but for this post I’m only focusing on Go apps.

Enabling Multipath TCP on the smartphone is the first step in deploying it. However, this is not sufficient since there are very few servers that support Multipath TCP today. To enable their users to benefit from Multipath TCP for all the applications that they use, KT has opted for a SOCKSv5 proxy. This proxy is running on x86 servers using release 0.89.5 of the open-source Multipath TCP implementation in the Linux kernel. During the presentation, SungHoon Seo mentioned that despite the recent rollout of the service, there were already 5,500 active users on the SOCKS proxy the last time he checked. Thanks to this proxy, the subscribes of the Giga Path service in Korea can benefit from Multipath TCP with all the TCP-based applications that they use.

On August 1, Artyom Zorin had the great pleasure of announcing the immediate availability for download of the final release of his Zorin OS 10 GNU/Linux operating system, distributed as Core and Ultimate editions, based on Ubuntu 15.04.

I’ve meant to do this for ages, so on my first day of my “staycation”, despite vowing to myself that I wouldn’t look at a computer screen this week (hey, it’s not actually the technical start of my week off is it?), I fiddled this morning with BIND to try and avoid seeing ads on my devices. While AdBlock works great on my browsers, that doesn’t transfer well to mobile devices and apps with built-in advertising, etc.