9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
* Re: [9fans] sanity check
@ 2005-09-24 14:33 Fco. J. Ballesteros
  2005-09-26  9:17 ` Steve Simon
  0 siblings, 1 reply; 8+ messages in thread
From: Fco. J. Ballesteros @ 2005-09-24 14:33 UTC (permalink / raw)
  To: 9fans

: If you create a rio window and then you change
: the name space sitting under rio, the existing window's
: name space (which has already been copied from rio)
: doesn't inherit the new path.  So just re-binding things
: doesn't work as you might hope.

I'm not sure I understood correctly what you are trying
to do, but regarding re-binding things, it can be done by
using volfs (the port of Plan B volumes to Plan 9), there's
a working version that is a a little bit slow, and I'm
finishing now a more efficient version. You'll have to wait
a week or two to get a reliable veersion of the program.

The way to do it with volfs would be just to

echo $sysname #s/srvforcifs /cifs >/dev/vols
to declare your new volume named "/cifs", reacheable via 9P
at #s/srvforcifs.

and then 

mount -c /srv/vols /n/cifs /cifs

before starting rio, to get at /n/cifs whatever file server
is known as /cifs. Volfs takes care of rewriting fids to
match the new files found when it switches from one file tree
to another. This means that you don't have to
worry to update your binds. If you want to start a new tree,
you can rearrange your internal name space and restart.

/n/cifs would appear to be empty until you start your
program. When it becomes available, you'll get it in /n/cifs.
If you kill your program and start a new one, that one would
be mounted instead.

hth




^ permalink raw reply	[flat|nested] 8+ messages in thread
* [9fans] sanity check
@ 2005-09-24 10:22 Steve Simon
  2005-09-24 11:28 ` Russ Cox
  0 siblings, 1 reply; 8+ messages in thread
From: Steve Simon @ 2005-09-24 10:22 UTC (permalink / raw)
  To: 9fans

Hi,

Playing with adding DFS support to my cifs client as and when
I get time.

DFS allows any path on a Windows server to be redirected to another
path on a different machine (and in theroy it could use another
protocol - CIFS, NFS, and NCP [netware] are defined).

To allow this dynamic remapping of namespace and optionally starting
a new client I plan to implement DFS as a layer [program] above cifs.

For efficency this translation should probably be done with a "clever"
algorithm (probably hash tables) and it occurs to me that I am about
to re-invent what the kernel already does.

Is it reasonable to do this mapping with a bind(2) call and let the
kernel take care of it. It might mean performing 10-50 extra binds,
is this an unresaonable load or a good use of kernel facilities?

Note: In my enviroment at least, I start cifs in my termrc behind rio
as much of my dialy work requires access to our windows servers. This
means an extended bind table will be in the namespace of everything
I use and so, if it slows things down, it will slow everything down.

-Steve


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2005-09-26 17:21 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-24 14:33 [9fans] sanity check Fco. J. Ballesteros
2005-09-26  9:17 ` Steve Simon
  -- strict thread matches above, loose matches on Subject: below --
2005-09-24 10:22 Steve Simon
2005-09-24 11:28 ` Russ Cox
2005-09-25  3:47   ` Dave Eckhardt
2005-09-26  9:07   ` Steve Simon
2005-09-26 17:16     ` rog
2005-09-26 17:21       ` Federico Benavento

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