OpenBSD Journal

RIP stackable filesystems

Contributed by phessler on from the vlasic-stackable-filesystems dept.

Reader m0rf writes in to tell us that Pedro Martelletto removed stackable filesystems (namely null and union mounts). Pedro writes: "Basically, the motivation behind the removal of the stackable filesystems was that even after a considerable amount of time, not a single operating system has been able to get them right. This can either mean that people are too dumb to understand the code, or that it is just conceptually wrong. Take your pick." Pedro continues: "Besides that, they were costy in terms of VFS complexity, strongly interfering in the maintenance and development of code that just wanted to do their FS stuff right.

Given these facts, along with the goals and philosophy of the project, the conclusion becomes pretty much obvious: The place for this kind of experimental, unstable code is far, far away from OpenBSD.

Marius adds: "we will replace the missing functionality (that is also needed..) with other solutions that are more sane."

(Comments are closed)

  1. By Anonymous Coward ( on

    I thought the new version of Knoppix (3.8) implemented the union filesystem pretty well; it seems to work when I use it. But live-cd distros aside, I think stackable filesystem should mature a little before going into a production-quality OS like OpenBSD.

    1. By phessler ( on

      the problem with filesystems is 'seeming to work' and 'actually working' look the same to the untrained eye (and may be difficult to distinguish to the trained eye), but any problems with them can destroy all of your data. union worked a little bit[1]. nullfs worked a little bit[1]. but both of them would trash your data, sooner or later.

      [1] by "a little bit", I mean "it would mount, and ls would normally work"

    2. By Anonymous Coward ( on

      seriously install it allready! If you are scared use Qemu or VirtualPC.....

      Nothing beats real metal!

      1. By Fábio Olivé Leite ( fabio.olive@Google Mail on

        While I agree that nothing beats a real OS, I always keep a current Knoppix CD and a home-made OpenBSD live cd on my backpack. They have saved my ass a few times, and even earned me money. Two examples:

        I was recently contacted by a company who had a server that wouldn't boot anymore. The disk had some key sectors erased, possibly by mismanagement. I used Knoppix to boot and install an MBR, and then used its recovery tools to recover the lost partition information, fsck the FSes, etc. It was up again in no time.

        On another occasion I went with a team of co-workers to a "mission" on a very big telecom. It's so big and slow that they could not sort out the necessary arrangements to give us computers and access to their network before we got there (we couldn't plug notebooks to their net either), so all we had for a week was five people staring at one computer kindly lent by a project in the other room, and we didn't even have users to login on their big windows network. Luckily they never noticed Knoppix was being used all day on it, and it actually had a less constrained net access than the "authorized" windows boxes we were given the other week.

        Live CDs do have a purpose, and Knoppix does it _very_ well.

        1. By Anonymous Coward ( on

          I fully agree. I have installed the BSD's on "real metal" as well as many linux distros (my current flavor is gentoo) but live cd's are great for recovery, testing general system component compatibilty, and knoppix is the best overall, although I have used around 5 different ones.

  2. By Anonymous Coward ( on

    While stackable file systems like union are pretty useful, this is a good move. The current implementation, as he said, is pretty nasty. It would be much better just to start again from scratch.

  3. By Huh ( on

    "Basically, the motivation behind the removal of the stackable filesystems was that even after a considerable amount of time, not a single operating system has been able to get them right"

    Wow. Guess you've never heard of Plan 9 from Bell Labs and its cousin, Inferno.

    1. By pedro ( on

      Sorry, I should have made clear that I was referring to the BSD systems that shared the same "implementation" of the stackable filesystems OpenBSD had.

      If Plan 9/Inferno use the same code, or have a different implementation under a decent licence that we could stick on the BSD VFS, I'd be more than willing to put my eyes on it, and depending on how things go, get it in OpenBSD.

  4. By Anonymous Coward ( on

    List: openbsd-misc
    Subject: Re: mount_null gone?
    From: jimmy () inet-solutions ! be
    Date: 2005-09-05 6:58:15
    Message-ID: 1125903494.431bec8700248 () webmail ! boxke ! be
    [Download message RAW]

    Quoting Gijs Nijholt <>:

    > What's particularly strange, it's that the command (/sbin/mount_null)
    > exists, but on executing the following command:
    > gijs@basecamp> sudo mount_null /extended/ /home/gijs/fileserver/
    > ...I get the following error:
    > mount_null: /home/gijs/fileserver/: Filesystem not supported by kernel
    > Both filesystems are FFS, and it worked really well in 3.6.
    > Can anyone tell me how to fix this problem?
    > On 9/4/05, Gijs Nijholt <> wrote:
    > > Hello,
    > >
    > > After some digging through mailinglist archives, it seems that
    > > mount_null is no longer in the GENERIC since OpenBSD 3.7 (and
    > > mount_union as well)
    > > This is not mentioned in the release notes as far as I can verify.
    > >
    > > Why is it gone and what is the alternative?
    > > (I need a way to mount my /extended partition into /home/users and
    > > /var/www/users/user, which are both chrooted in respectively ftp and
    > > apache)
    > >
    > > Or how can I get mount_null back without reinstalling the system?
    > >
    > > Thanks in advance.
    > > Gijs Nijholt

    This was planned imho, a few months after reporting this:
    I got response from Otto that nullfs isn't supported anymore.

    I think the code is to old and hasn't a maintainer to support
    it any further (I could be wrong).

    Take a look at mount_nullfs(8) from freebsd for example:


    This code also needs an owner in order to be less dangerous - serious
    hackers can apply by sending mail to <> and announcing
    their intent to take it over.

    Kind Regards,
    Jimmy Scott

    This message has been sent through
    To report spamming or other unaccepted behavior
    by a iHosting customer, please send a message


Copyright © - Daniel Hartmeier. All rights reserved. Articles and comments are copyright their respective authors, submission implies license to publish on this web site. Contents of the archive prior to as well as images and HTML templates were copied from the fabulous original with Jose's and Jim's kind permission. This journal runs as CGI with httpd(8) on OpenBSD, the source code is BSD licensed. undeadly \Un*dead"ly\, a. Not subject to death; immortal. [Obs.]