I oppose Chris and Jeff's patch to add an unnecessary additionalnamespace to ReiserFS

From: Hans Reiser
Date: Mon Apr 26 2004 - 12:00:11 EST


Adding additional namespaces is not a trivial thing to do, though it always seems so minor to the person driven by marketing to quickly hack something in.

The xattr namespace offers zero functional advantage over the file namespace. The use of '.' instead of '/' is idiotic, see the very short paper "The Hideous Name" by Rob Pike ( www.cs.bell-labs.com/cm/cs/doc/ ) for why mindlessly varying the separators in hierarchical names throughout an OS is a bad idea.

V4 of ReiserFS accesses all file attributes via the filesystem namespace (see our mainpage at www.namesys.com, there is a section on semantics in it). In V4, attributes are just files with peculiar qualities, kind of like the files in /proc have peculiar qualities. V4 adds some additional functionality to the filesystem namespace to make this more effective (accessing multiple files in one system call, etc.).

Namespaces are the roads and waterways of an operating system. The cost of developing an operating system is proportional to how many components you build into it. Namespaces are part of what determines whether that cost is linear with the number of components, or something worse.

The expressive power of an operating system is NOT proportional to the number of components, but instead is proportional to the number of possible connections between its components. If you fragment the namespaces of an OS, you reduce each component to effective interactions with only those components in its reduced size namespace. Designing the namespaces of an OS so that they possess closure and are unified may seem like a lot of effort, but it is very cost effective compared to building many times more other OS components to get the same expressive power.

In the free software community you have to produce working code to be paid attention to. We are doing that. Chris is sending his patch in at this time in part because V4 is about to make his work completely obsolete. At the time he started to write the patch he was told that ReiserFS was taking this other approach, and his patch would never be accepted so he should not write it. DARPA was then convinced to fund us to do the other approach, and we accepted $600k in funding to (among other things) extend the filesystem namespace to access security attributes effectively. I have no desire to change direction at the last moment before we ship V4 so as to become less elegant. I also view V3 as stable code that should not be disturbed more than minimally necessary, and I desire for all new functionality to go into V4 (Chris was also told that before his patch was written).

Making it possible to unify operating system namespaces was why ReiserFS was created. I am not in this for the money. Pasting in an additional namespace beyond what Unix had for short term marketing reasons violates its soul, and I have no desire to provide support for it as it complicates one feature at a time over 30 years.

Please, let our competing solution of more unified naming have this ecological niche it can survive in long enough to see if it is the right longterm direction for Linux. It is more work to be elegant, and it will cause application writers some short term pain, but in 30 years you will not regret trying it.

Please reject the xattr and acl patch for ReiserFS V3, and wait a week or two for ReiserFS V4 to ship to you instead.

Hans
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/