9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Fco.J.Ballesteros <nemo@lsub.org>
To: 9fans@cse.psu.edu
Subject: Re: [9fans] an idea
Date: Mon, 26 Apr 2004 09:57:05 +0200	[thread overview]
Message-ID: <05f311ed4273f9fdadc5f3453a807fed@plan9.escet.urjc.es> (raw)
In-Reply-To: <499f328d8dc6462edbadb7e4894feaf8@vitanuova.com>

> 1) if i import a remote namespace containing /srv, mounting a file in
> /srv triples the latency of requests on the mounted namespace (write
> tmsg, reply, read rmsg header, reply, read rmsg body, reply).

> 2) without re-mounting the connection, there's no way of introducing a
> new user to a remotely imported namespace.

But this could be done by arranging the the final clients to talk to the
actual servers, without resorting to proxy places. But this would require
changing the name space semantics. We do that for Plan B, but don't know
how it would fit with Plan 9. To make it more clear what I mean,
one way to do it would be to make all 9P servers become network addressable,
then change the way the ns is printed so that a user could reproduce the
ns from any other place in the network.

> 3) the '#' namespace is quite restrictive (devices can't be attached by
> a remote machine, unless using an additional protocol, such as
> import), but also overly permissive (there's no way of arbitrarily
> restricting the set of devices available to sub-processes)
> 
> 4) there's an arbitrary distinction between the '#' namespace and normal
> namespace, when kernel/user boundary is potentially largely arbitrary.
> you can't, for instance, substitute a user-level simulation of device
> x if a program accesses it via #x rather than a previously mounted
> instance of it.

A regular  /dev (or whatever) directory with
one mounted file|dir per device would be cleaner. Instead of doing the
#s trick, newns() could return not a clean namespace, but one with
devices installed. To do sandboxing one could unmount from there whatever
is not wanted.

> 6) kernel level devices are privileged in that they can access some
> user resources directly, in particular open fds and names.  user level
> servers can't.

This is one thing that I dislike even with the way things work today. But
it would probably require changing many interfaces. The clone interface
is something that I think is confussing.

> here's the germ of a solution: put auth files in the namespace.

BTW, I don't see why you would need this:

> the implementation would be straightforward (main kernel change would
> be having a Dev* inside a Chan rather than indirecting through
> devtab), and it doesn't change 9p.  almost all user-level code would
> be unaffected.

Is it to proxy for a remote dev?

PS: I had your mail hanging around since you sent it, it's just that it was not
clear for me how your idea would actually work when compared, for example,
with what I suggested above or with the current behaviour. That's why I
didn't reply earlier. Perhaps the same happen to others.

cheers



  reply	other threads:[~2004-04-26  7:57 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-11 19:14 [9fans] german keymap Scusi
2004-04-11 19:28 ` boyd, rounin
2004-04-11 20:00   ` Scusi
2004-04-11 20:03     ` boyd, rounin
2004-04-11 22:10 ` Geoff Collyer
2004-04-11 22:39   ` Russ Cox
2004-04-11 22:55     ` Geoff Collyer
2004-04-12  0:01       ` Russ Cox
2004-04-12  0:06         ` Geoff Collyer
2004-04-12  0:22           ` Charles Forsyth
2004-04-12  2:42           ` boyd, rounin
2004-04-12  2:57             ` countryjoe
2004-04-12  4:02               ` boyd, rounin
2004-04-12  2:40         ` boyd, rounin
2004-04-12  2:35       ` boyd, rounin
2004-04-12  2:33     ` boyd, rounin
2004-04-21 17:43   ` rog
2004-04-21 17:44     ` boyd, rounin
2004-04-21 17:56       ` rog
2004-04-21 18:03         ` boyd, rounin
2004-04-21 18:41           ` rog
2004-04-21 18:42             ` Rob Pike
2004-04-21 19:16               ` rog
2004-04-21 18:43             ` boyd, rounin
2004-04-21 18:47             ` boyd, rounin
2004-04-21 18:57               ` Rob Pike
2004-04-21 18:58                 ` boyd, rounin
2004-04-21 19:20                   ` rog
2004-04-21 19:58                     ` boyd, rounin
2004-04-21 20:26                       ` rog
2004-04-21 21:26     ` [9fans] an idea rog
2004-04-26  7:57       ` Fco.J.Ballesteros [this message]
2004-04-26  8:04         ` Charles Forsyth
2004-04-26  8:10           ` Fco.J.Ballesteros
2004-04-26  8:13             ` Charles Forsyth
2004-04-26 16:41         ` rog
2004-04-26 16:43           ` Charles Forsyth
2004-04-26 16:57             ` rog
2004-04-26 16:48           ` Fco.J.Ballesteros
2004-04-27  1:44         ` Scott Schwartz
2004-04-27  6:43           ` Fco.J.Ballesteros
2004-04-26 15:12       ` Russ Cox
2004-04-26 15:49         ` ron minnich
2004-04-26 16:42           ` rog
2004-04-26 16:59           ` Russ Cox
2004-04-26 17:05             ` Charles Forsyth
2004-04-26 18:04               ` Philippe Anel
2004-04-26 18:16                 ` rog
2004-04-26 18:36                   ` Philippe Anel
2004-04-26 20:27                     ` rog
2004-04-27  7:44                       ` Philippe Anel
2004-04-27  8:13                     ` Fco.J.Ballesteros
2004-04-26 18:20                 ` rog
2004-04-26 18:09         ` rog
2004-04-26 18:44           ` [9fans] local 9p multiplexing Russ Cox
2004-04-26 18:54           ` [9fans] remote " Russ Cox
2004-04-26 19:44             ` rog
2004-04-28 17:37             ` [9fans] Vmware-4 and Plan 9 Ishwar Rattan
2004-04-28 17:58               ` Hugo Santos
2004-04-28 18:01               ` vic zandy
2004-04-26 18:55           ` [9fans] an idea Charles Forsyth
2004-04-26 20:12             ` rog
2004-04-26 20:40               ` Charles Forsyth
2004-04-26 23:26                 ` rog
2004-04-26 19:51           ` ron minnich
2004-04-26 20:49             ` Charles Forsyth
2004-04-22  1:57     ` [9fans] german keymap Michael Jeffrey

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=05f311ed4273f9fdadc5f3453a807fed@plan9.escet.urjc.es \
    --to=nemo@lsub.org \
    --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).