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
next prev 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).