9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: "Rob Pike" <robpike@gmail.com>
To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net>
Subject: Re: [9fans] How to implement a moral equivalent of automounter in Plan9?
Date: Tue,  2 Dec 2008 21:23:00 -0800	[thread overview]
Message-ID: <7359f0490812022123s7702736ep83ea45fa8059bbb8@mail.gmail.com> (raw)
In-Reply-To: <dd6fe68a0812021555r11e4b29aheac6b20b852ed0b@mail.gmail.com>

On Tue, Dec 2, 2008 at 3:55 PM, Russ Cox <rsc@swtch.com> wrote:
>> a couple of questions come to mind.  how does writing
>> to a ns interact with shared namespaces?  does it automaticly
>> fork the namespace?  seems iffy.  which leads to the next
>> obvious question
>>
>> how do you prevent a race between changing the namespace and
>> opening fds?
>>
>> and, what about open file descriptors?
>>
>> seems like a big can of worms.
>
> None of these questions are any different in this
> context than if there was simply some other process
> sharing the name space and doing the same manipulations.
>
> A writable #p/pid/ns seems strange to me
> (not nearly as natural as Roman suggested),
> but maybe it would be fine.  No one has cared
> enough to explore it.
>
> I don't think a writable #p/pid/ns would really
> help you write an automounter.  You don't know
> the pid you are getting the 9P request from
> (maybe it is on another machine!).
>
> If I had to write an automounter like you describe
> and I was going to tweak the kernel to make it
> easier, I would change name spaces to be hierarchical,
> so that rfork(RFNAMEG) (or perhaps some new bit)
> insulates the parent from the child's modifications
> but not vice versa.  Then the automounter can sit
> in some early name space and mount things, and all
> the name spaces that were forked off would see them.
> That is easier to reason about than writing #p/pid/ns.
>
> Russ

Long ago I considered making the namespace not hierarchical but a set
of spaces. The first level of complexity upwards would be to have two
spaces: one that is per-process and one that is global or per-machine.
 It could of course be extended to more generality, hierarchy, etc.
The reason I didn't was that the existing one-space system was almost
good enough and any generalization seemed either too complex or too
specific.  There seemed no guiding principle to organize the design.

So I left it alone even though in so doing I was leaving a problem on the table.

-rob



      parent reply	other threads:[~2008-12-03  5:23 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-12-01  7:25 Roman Shaposhnik
2008-12-01  8:38 ` Fco. J. Ballesteros
2008-12-01 14:34   ` erik quanstrom
2008-12-01 14:40     ` Francisco J Ballesteros
2008-12-01 15:08       ` erik quanstrom
2008-12-01 15:16         ` Francisco J Ballesteros
2008-12-01 17:48 ` Russ Cox
2008-12-01 18:17   ` ron minnich
2008-12-01 18:31     ` Roman V. Shaposhnik
2008-12-01 21:18       ` Dan Cross
2008-12-02 18:12         ` Roman V. Shaposhnik
2008-12-02 18:18           ` [9fans] How to implement a moral equivalent of automounter erik quanstrom
2008-12-02 19:25             ` Roman V. Shaposhnik
2008-12-02 19:29               ` erik quanstrom
2008-12-02 20:12                 ` hiro
2008-12-02 21:14                 ` Roman V. Shaposhnik
2008-12-02 21:35                   ` erik quanstrom
2008-12-03  1:26                     ` Roman V. Shaposhnik
2008-12-03  1:42                       ` Dan Cross
2008-12-03  2:13                       ` erik quanstrom
2008-12-04  7:39                   ` Dave Eckhardt
2008-12-04 14:58                     ` Steve Simon
2008-12-05  4:57                       ` Nathaniel W Filardo
2008-12-05 12:10                         ` Steve Simon
2008-12-04 17:57                     ` Roman V. Shaposhnik
2008-12-05  4:35                       ` Dave Eckhardt
2008-12-05  4:43                         ` erik quanstrom
2008-12-06  5:16                           ` Roman Shaposhnik
2008-12-06 13:58                             ` erik quanstrom
2008-12-06  5:14                         ` Roman Shaposhnik
2008-12-06 14:27                           ` erik quanstrom
2008-12-07  0:03                             ` Roman Shaposhnik
2008-12-07  0:16                               ` [9fans] How to implement a moral equivalent ofautomounter erik quanstrom
2008-12-07  5:20                                 ` Rob Pike
2008-12-07  5:30                                   ` akumar
2008-12-07  5:53                                   ` Roman Shaposhnik
2008-12-07 20:32                                     ` Noah Evans
2008-12-01 18:25   ` [9fans] How to implement a moral equivalent of automounter in Plan9? Roman V. Shaposhnik
2008-12-01 22:48     ` Bakul Shah
2008-12-01 23:11       ` [9fans] How to implement a moral equivalent of automounter in geoff
2008-12-02 18:15         ` Roman V. Shaposhnik
2008-12-02  0:55     ` [9fans] How to implement a moral equivalent of automounter in Plan9? Russ Cox
2008-12-02 18:04       ` Roman V. Shaposhnik
2008-12-02 18:31         ` Nathaniel W Filardo
2008-12-02 19:34           ` Roman V. Shaposhnik
2008-12-02 20:05             ` hiro
2008-12-02 21:17               ` Roman V. Shaposhnik
2008-12-02 21:29                 ` erik quanstrom
2008-12-02 23:55                   ` Russ Cox
2008-12-03  0:07                     ` erik quanstrom
2008-12-03  1:21                       ` Roman V. Shaposhnik
2008-12-03  1:36                       ` Dan Cross
2008-12-06  5:24                         ` Roman Shaposhnik
2008-12-06 10:52                           ` Dan Cross
2008-12-03  5:23                     ` Rob Pike [this message]

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=7359f0490812022123s7702736ep83ea45fa8059bbb8@mail.gmail.com \
    --to=robpike@gmail.com \
    --cc=9fans@9fans.net \
    /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).