Hi Guys!
I've been trying to implement a "lazy bind/mount" in Plan9 and it
dawned on
me that I don't really know any way of modifying calling process's
namespace
on-demand. In a automounter-like style.
Now, before you tell me that I shouldn't be doing it (well, may be I
shouldn't, but
please keep reading ;-)) let me give you a classical example of what
I'm after.
Consider a way /net is set up on Solaris as an automounter map. Anytime
there's any access requesting /net/<machine name>/<nfs exports>/files...
the namespace of the calling process gets modified because of the
automounter issuing an NFS mount.
Now, if I want the moral equivalent of the above to happen every time
I access /n/sources/plan9/sys/src/cmd/cpu.c on Plan9 I can have a
synthetic fileserver mounted on /n/ and doing the right thing. But that
will not make the following entry be added to my namespace:
mount '#s/sources' /n/sources
So, the question is: am I missing something really obvious here,
or is writing a kernel driver that really does modify a namespace the
only way to go here?
Thanks,
Roman.