Re: silent semantic changes with reiser4

Trond Myklebust
2004-08-30T01:42:15Z

På su , 29/08/2004 klokka 19:54, skreiv Linus Torvalds:

> The problem really ends up being directories with attributes (where we
> can't just overmount the existing directory). That's where "openat()"
> helps us.

Well, yes there has to be a distinction between a true bind mount which
actually covers the file or directory, and something like the stream
"bind mount" which doesn't.

The stream "bind mount" is just there to allow you to root the
attributes in a single tree. It can be made functionally entirely
equivalent to the openat(), but uses pathname semantics (e.g., "//") to
denote the attribute fork instead of an extra function call.

> > Is it just the fantasy of supporting hard-links across "stream
> > boundaries" (as in "touch a b; ln b a/b; ln a b/a")? I'm pretty sure
> > nobody wants to have to add cyclic graph detection to their filesystems
> > anyway. 8-)
>
> It's easy enough to do the graph detection at the VFS layer, exactly
> because of the density of the dentry graph.

Don't you end up having to lock the entire paths b/c/d and a/e/f in
order to prevent "ln a b/c/d/a; ln b a/e/f/b"?

> > What other issues would need to be addressed?

> - how to actually test this out in practice (ie getting reiser4 to do the
> proper thing wrt the VFS layer, but preferably _also_ having another
> filesystem like NFSv4 or cifs that actually uses this and shows what
> the problems are).

As I said, NFSv4 can be made ready pretty quickly: Bruce is already
finishing up the xattr implementation.

> - whether it makes any sense at all unless we also make at least a few
> other filesystems support it, so that people start using it as an
> "expected feature" rather than a "works only on a couple of machines".

NTFS? ;-)

Cheers,
Trond