On Wed, May 22, 2002 at 06:08:53PM -0600, Jason Gunthorpe wrote:
> Well, the model most folks have followed is one similar to how mount
> operates in traditional unix. The namespace manager could only delegate
> a tree (or single file) to a single other process

Ah, so there was a single namespace manager?  Then referring by name is not
so problematic.  The Hurd has not a namespace server, but the filesystems
manage their own namespace recursively.

So you have, first, a single filesystem.  Then filesystems attached to that.
Every filesystem can have other filesystems attached to it, etc.

(I say filesystem, but single nodes like /dev/null are also a primitive
filesystem in their own right of course).

You can also have detached filesystems of course, so multiple such
hierarchies can coexist and are isolated.

> I guess HURD passive translators are implemented with a special inode if
> they persist in the filesystem and follow renames around properly, so it
> certainly makes alot of sense to invoke them them without a pathname
> reference.

Yes.  There is a bit in the stat field, and a block index that points to a
block with the commandline used to startup the server.  The filesystem that
does the startup (because it sees the passive translator and somebody wants
to access it) sets up the IPC port so that the translator can attach itself to
the translated node by doing RPCs on that port.

Filenames are only needed to find ports.  Once you have a port, you only
need filenames if you want to move in the hierarchy to find other ports (eg,
lookup ".." relative to a port).

Thanks,
Marcus

-- 
`Rhubarb is no Egyptian god.' Debian http://www.debian.org [EMAIL PROTECTED]
Marcus Brinkmann              GNU    http://www.gnu.org    [EMAIL PROTECTED]
[EMAIL PROTECTED]
http://www.marcus-brinkmann.de


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]


Reply via email to