Re: (reiserfs) Re: File systems are semantically impoverished compared

Alexander Viro (viro@math.psu.edu)
Sat, 26 Jun 1999 18:40:59 -0400 (EDT)


On Sun, 27 Jun 1999, Hans Reiser wrote:

>
> Each layer with its own pointer structure adds additional pointers
> because in a single tree system the depth of accesses is log N, but in a
> two tree system the depth is 2 log(N/2), which is much more than log N.

WHAT??? 2 log(sqrt(n)), please (assuming as you apparently did that depth
is divided evenly).

Hans, sorry, but it's plainly bogus - "trees" in structured
files/bundles/whatever are attached to *leaves* of the large tree. And if
you are thinking of the allocation metadata of the underlying file - how
deep is it going to be? You are spending most of the time doing actual
file data IO, not the tree traversals. And data IO is *not* going to see
the intermediate level at all.

> Each layer of interface adds a layer of functionality distortion, and
> the capabilities of a two layer system is in some ways the intersection
> not the union of the separate capabilities of the layers.

Translate it, please.

> Recovery is necessarily much uglified, more than twice as ugly, and this
> makes performance worse since performance normally has recovery as the
> primary crippling factor that prevents the use of various desired
> algorithms.
>
> Hans
>
> Alexander Viro writes:
> >
> >
> > On Sat, 26 Jun 1999, Hans Reiser wrote:
> >
> > >
> > > The goal of reiserfs is not to get every person, who has invented yet
> > > another namespace that can share the interactions it conducts with no
> > > other namespace, to convert to reiserfs. The goal of reiserfs is to one
> > > by one eliminate the reasons why these new namespaces keep getting
> > > invented rather than using the filesystem namespace. I cannot
> > > unify the namespaces, I can only somewhat reduce the reasons why they
> > > fragment, and pontificate a bit at those who fragment them.
> > >
> > > Two filesystem layers are indeed terrible. What you are doing is not
> > > analogous to, say, putting a file system ontop of a disk driver which is
> > > ontop of a piece of hardware, no, you are writing a C interpreter in
> > > Pascal. You are putting a motorcycle seat ontop of a truck chassis, and
> > > then you are asking me to define why a truck chassis isn't as functional
> > > as a motorcycle chassis, and given that you have already built a truck
> > > chassis, you ask why it is that I think you won't have all the
> > > functionality of a motorcycle using your motorcycle seat and handlebars
> > > ontop of a truck chassis. What you want to do is like telling the TCP/IP
> > > guys when they wrote TCP/IP that they should be using the serial line
> > > driver as the bottom layer of their TCP/IP implementation, putting the
> > > TCP/IP stuff in user space, and then preaching about the benefits of
> > > increased portability to other Unixes that would result from that.
> >
> > Very colourful. What about a couple of technical arguments instead of
> > Datamation-level analogies?
>

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