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]