9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: Russ Cox <russcox@gmail.com>
To: 9fans@cse.psu.edu
Subject: [9fans] remote 9p multiplexing
Date: Mon, 26 Apr 2004 14:54:49 -0400	[thread overview]
Message-ID: <C6B52136.4C686BD7@mail.gmail.com> (raw)
In-Reply-To: <323e1127492657ee8f9f34692a52c7fa@vitanuova.com>

> say we've imported a namespace from a remote machine.  in the
> namespace is a /srv directory, containing various exported 9p
> services.  we wish to mount one of them.

okay, let's return to this.  in my scheme, since the remote kernel
is doing appropriate multiplexing, we don't need to do anything
special to use the remote /srv/foo.  (actually, we the local machine
don't need to do anything special even now, but that's because
exportfs the program is invoking itself recursively behind our back.)

of course, since /srv/foo is treated like a normal file, there is
message encapsulation and the like, which does incur extra
latency.  i never claimed to handle this case.  i didn't realize
you were claiming to handle it.

it seems what's needed to handle it is some way to introduce a
new conversation into an extant 9P connection.  david mazieres
suggested such a thing a few years ago when he interned at 
bell labs.  in his scheme there was (approximately) a Ttunnel/Rtunnel
message that took the place of Topen/Ropen for 9P connections,
and the net effect was that the 9P connection just opened could 
use the original 9P connection for its messages rather than 
encapsulate them in Tread/Rread/Twrite/Rwrite responses.
i never understood the details (i'm not sure anyone did).

i think the crux of your message is that Tauth/Rauth can be coerced
to let us pull this off, because it introduces a separate "attach space".
i'm going to try to paraphrase:

when afd != -1, the fd in mount(fd, afd, where, flags) is redundant.
if you mounted 9P services by opening them, running authentication,
and then calling mount(afd, where, flags), we could adopt the convention
that the 9P connection for the mount is the one where afd is a fid.
then Tauth invents a fid out of thin air to bootstrap a connection,
but if the fid has been gotten by open, mounting this fid can be 
handled without further encapsulation.

now *that* is cool.  the auth fids are really an indirection layer
and Tauth/Rauth just provides a base.  of course, they'd more
properly be called something else, since this has nothing to
do with authentication and everything to do with setting up the
context of a new 9P conversation.  maybe session fids.

that's really neat.  it separates the setup from the actual session
in a nice clean way without the clumsy 9P1 kernel hack and 
without any encapsulation overhead.

sorry about being so dense i didn't get it the first time around.

russ


  parent reply	other threads:[~2004-04-26 18:54 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
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           ` Russ Cox [this message]
2004-04-26 19:44             ` [9fans] remote " 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=C6B52136.4C686BD7@mail.gmail.com \
    --to=russcox@gmail.com \
    --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).