Distributed VSTa

From: Andy Valencia <vandys_at_nospam.org>
Date: Sun Nov 29 1998 - 11:04:06 PST

Over this weekend I had a laptop without a vstafs partition (so I couldn't
hunt that race condition) so I instead hacked on networking and proxyd.
The result was this evening I was able to mount a filesystem:

        mount fs/root:tmp@205.187.71.66 /dist

from a stock shell (i.e., no special mods to the mounting code--the hooks
are beneath this in path_open()), and then "cd /dist" and "ls". All the
underlying microkernel messages for dup'ing access from the mount table,
process forks, stat's, and the actual readdir() stuff were transparently
carried across the network, and I was able to access the filesystem and
files correctly. The destination filesystem was also, of course, stock
code.

I'm not sure this is the best syntax. Normally it would be:

        mount fs/root:tmp /dist

which would ask the namer for the server registered as serving fs/root
(i.e., the root filesystem), and then access the "tmp" subdirectory of
that filesystem. Thus, /tmp from the root filesystem would be seen as
/dist.

By adding the "@<ipaddr>" suffix, this same request occurs, but out on the
named remote system. You end up with an open port as before, but now your
port actually goes to the TCP/IP stack, across a TCP connection to the
remote, and into an instance of "proxyd" (from src/srv/ka9q/cmd/proxyd.c)
which does the I/O on your behalf.

So anything in VSTa which runs using kernel IPC (i.e., most things) can
now be accessed remotely. Hmmm, I think I'll union mount a remote /proc,
and then I can get process lists and kill processes from my local shell
with the normal shell commands. ;->

                                                        Andy
Received on Sun Nov 29 19:07:56 1998

This archive was generated by hypermail 2.1.8 : Thu Sep 22 2005 - 15:12:56 PDT