9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Thomas Bushnell, BSG" <tb+usenet@becket.net>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] Plan 9
Date: Thu,  8 Nov 2001 10:39:46 +0000	[thread overview]
Message-ID: <87r8r9yada.fsf@becket.becket.net> (raw)
In-Reply-To: <20011107172819.F21B119A02@mail.cse.psu.edu>

rsc@plan9.bell-labs.com (Russ Cox) writes:

> There are no ``links'' in the mount tables.  None.
> Every (directory,name)->file mapping happens
> by doing a 9P transaction, whether over the wire
> or to a kernel-provided tree.
>
> I still don't understand your proposal, but I think
> a lot of our confusion has to do with this fact:
> there are no links in the kernel mount tables.  None.

Right, I knew this, but I was short-cutting my description in the
hopes of consiceness, and it seems I failed in my attempt.

If there is a mapping from the file FOO to the file BAR specified in
the mount table, then the user will never be able to see FOO, right?

So if there is a directory DIR, and it has a name "foo" which maps to
the file FOO, then the user who looks for DIR/foo will get BAR.
That's the conjunction of a pair of mappings; one is the link in the
directory DIR; the other is the mapping translation from FOO to BAR.

But a user who looks up a file name always and only sees BAR, except
when they use the special tools to manipulate the mount table.  Right?

That situation involves a link from DIR/foo to BAR; the link (a
mapping from a name to a file) is the composition of the in-directory
link DIR/foo -> FOO; and the mount-table mapping FOO -> BAR.

But the second part of that is quite automatic: opening a file always
evaluatios the composed mapping.  It's that composed mapping that I
was (hoping for brevity) calling a link in the mount table.  Yes, it's
actually both in the mount table and in the directory DIR.  But the
point is that if you want to know what looking up DIR/foo gets you,
it's not enough to just look at DIR... you also have to know the
FOO->BAR mapping.

So my idea is that Plan 9 has a great idea: take mount tables and make
them per-process.  From that one very simple idea, a great many
important advantages come.

I'm saying that I think very nice advantages can accrue from saying
"hey, the per-process mount table is a very nice thing: let's make the
entire directory structure per-process, rather than just selected
parts of it."  Now nothing here prevents a clever implementation that
has a default, that allows for careful sharing and efficient lookups.
But at the level of interfaces and what the user sees, this could be,
I think, an improvement.

Obviously, it results in a system very different from both Unix and
Plan 9.  But that's not a stroke against it, is it?


  reply	other threads:[~2001-11-08 10:39 UTC|newest]

Thread overview: 120+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-07 17:28 Russ Cox
2001-11-08 10:39 ` Thomas Bushnell, BSG [this message]
2001-11-08 19:38   ` Steve Kilbane
2001-11-09 10:18     ` Thomas Bushnell, BSG
  -- strict thread matches above, loose matches on Subject: below --
2002-08-30 10:15 [9fans] plan 9 nigel
2002-08-30  9:57 Isaac Stern
2001-11-13 10:53 [9fans] Plan 9 Fco.J.Ballesteros
2001-11-09 22:39 David Gordon Hogan
2001-11-09 12:25 geoff
2001-11-12 10:32 ` Thomas Bushnell, BSG
2001-11-12 15:11   ` Ozan Yigit
2001-11-13  0:15     ` Jim Choate
2001-11-12 11:41 ` Sam Ducksworth
2001-11-13 10:25   ` Thomas Bushnell, BSG
2001-11-09  1:47 okamoto
2001-11-08 15:05 presotto
2001-11-08 14:44 forsyth
2001-11-08 14:02 presotto
2001-11-09  0:25 ` Dan Cross
2001-11-09 10:08 ` Thomas Bushnell, BSG
2001-11-09 17:31   ` Dan Cross
2001-11-12 10:33     ` Thomas Bushnell, BSG
2001-11-13  2:10       ` Dan Cross
2001-11-13 10:34         ` Thomas Bushnell, BSG
2001-11-08 13:07 Bruce Janson
2001-11-09 10:07 ` Thomas Bushnell, BSG
2001-11-08 13:06 rob pike
2001-11-09 10:08 ` Thomas Bushnell, BSG
2001-11-07 18:05 anothy
2001-11-07 17:43 anothy
2001-11-07 17:47 ` Boyd Roberts
2001-11-07 12:58 rob pike
2001-11-08 10:39 ` Thomas Bushnell, BSG
2001-11-07 11:00 geoff
2001-11-08 10:39 ` Thomas Bushnell, BSG
2001-11-07 10:03 forsyth
2001-11-08 10:38 ` Thomas Bushnell, BSG
2001-11-07  1:09 David Gordon Hogan
2001-11-06 18:46 anothy
2001-11-07  9:44 ` Thomas Bushnell, BSG
2001-11-06 18:14 forsyth
2001-11-07  9:43 ` Thomas Bushnell, BSG
2001-11-06 18:07 presotto
2001-11-07  9:44 ` Thomas Bushnell, BSG
2001-11-06 16:59 anothy
2001-11-06 17:54 ` Thomas Bushnell, BSG
2001-11-06 13:45 nigel
2001-11-06 13:33 rob pike
2001-11-06 17:53 ` Thomas Bushnell, BSG
2001-11-06  1:14 presotto
2001-11-06  1:30 ` Scott Schwartz
2001-11-06  1:37   ` YAMANASHI Takeshi
2001-11-05 21:47 David Gordon Hogan
2001-11-05 21:53 ` andrey
2001-11-06 10:31   ` Jonadab the Unsightly One
2001-11-06 10:32   ` Thomas Bushnell, BSG
2001-11-06 10:43 ` pac
2001-11-05 21:04 rob pike
2001-11-05 21:00 Richard Miller
2001-11-05 18:18 anothy
2001-11-06  1:06 ` YAMANASHI Takeshi
2001-11-06 10:31 ` Jonadab the Unsightly One
2001-11-06 10:32 ` Thomas Bushnell, BSG
2001-11-05 17:45 forsyth
2001-11-05 17:44 ` Boyd Roberts
2001-11-06 10:31 ` Jonadab the Unsightly One
2001-11-06 13:34   ` Tomas
2001-11-05 15:48 presotto
2001-11-06 10:31 ` Jonadab the Unsightly One
2001-11-06 10:32 ` Thomas Bushnell, BSG
2001-11-06 17:53   ` Ozan Yigit
2001-11-02 18:36 Russ Cox
2001-11-05 16:49 ` Jonadab the Unsightly One
2001-11-05 17:21   ` Ian Cooper
2001-11-06 10:30     ` Jonadab the Unsightly One
2001-11-02 17:57 forsyth
2001-11-02 18:22 ` Boyd Roberts
2001-11-02 17:26 Russ Cox
2001-11-02 18:29 ` Boyd Roberts
2001-11-05 10:21 ` Thomas Bushnell, BSG
2001-11-05 16:49 ` Jonadab the Unsightly One
2001-11-05 17:08   ` Boyd Roberts
2001-11-06 10:23     ` Jonadab the Unsightly One
2001-11-02 13:53 rob pike
2001-11-05 10:20 ` Thomas Bushnell, BSG
2001-10-29 21:08 David Gordon Hogan
2001-11-05 15:00 ` Jonadab the Unsightly One
2001-10-26 15:12 Russ Cox
2001-10-29 10:16 ` Ozan Yigit
2001-10-25 17:52 Russ Cox
2001-10-26  9:23 ` Wladimir Mutel
2001-10-26 15:03   ` William Josephson
2001-10-26 20:14     ` Dan Adkins
2001-10-25 12:45 rob pike
2001-10-25 13:47 ` Borja Marcos
2001-10-25 21:52   ` Jim Choate
2001-10-26  8:35     ` Lucio De Re
2001-10-25 16:59 ` Wladimir Mutel
2001-11-01  9:47 ` Randolph Fritz
2001-11-01 14:18   ` Ronald G Minnich
2001-11-02  9:58   ` Thomas Bushnell, BSG
2001-11-02 11:43     ` Wladimir Mutel
2001-11-02 12:39       ` Alexander Viro
2001-11-05 14:11         ` Wladimir Mutel
2001-11-05 15:13           ` Alexander Viro
2001-11-05 16:30             ` Boyd Roberts
2001-11-05 17:37               ` Alexander Viro
2001-11-05 17:42                 ` Boyd Roberts
2001-11-05 18:04                   ` Alexander Viro
2001-11-05 18:30                     ` Boyd Roberts
2001-11-05 19:58                     ` Ronald G Minnich
2001-11-02 15:36       ` Ronald G Minnich
2001-11-02 15:42         ` andrey
2001-11-02 15:54           ` Ronald G Minnich
2001-11-05 15:01 ` Jonadab the Unsightly One
2001-11-05 15:29   ` Markus Friedl
2001-11-05 15:49   ` Lucio De Re
2001-11-06 10:23     ` Jonadab the Unsightly One
1998-11-13  8:29 Scott
1998-11-11 21:08 Mats

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r8r9yada.fsf@becket.becket.net \
    --to=tb+usenet@becket.net \
    --cc=9fans@cse.psu.edu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).