[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Styx library...



Arnold D. Robbins <arnold@colorstar.com> said:
>>                 ...We are planning on making it possible to access
>> Inferno namespaces on UNIX boxes, and have already made a few steps in
>> that direction, as far as Styx goes.
>
>Hmm, how would you do the latter?  The most transparent-to-the-user but
>really grody-for-the-programmer way would be to do a user level NFS server
>that translates NFS <--> Styx.  Yucko.
>

And <forsyth@plan9.cs.york.ac.uk> said:
> going the other way isn't a problem:  to have a Styx server in Inferno
> that access remote NFS servers.  there is an NFS server in Plan 9, for
> instance.

And Greg Kochanski <gpk@bell-labs.com> said:
> One could make a useful, but not transparent, library
> by simply providing styx_open(), styx_read(), ... functions.
>

    We've already started on implementing a styx_fn() library as
mentioned above, since user-transparent integration is not a big
priority.  Much of what we've done is trivial, i.e. converting between
Fcall structures and Styx messages (the functionality of convM2S and
convS2M as outlined in the Inferno docs), and we've made some progress
on implementing the functionality of the various message types.  We
hope to have working styx_open(), styx_read() ... functions working
Real Soon Now, and once I get the (currently rather chaotic) files in
some sort of order I'll put them on our ftp site here
(ftp.csh.rit.edu).

    As far as I know, it would be nigh impossible to hack NFS to access
Styx, since NFS is stateless and Styx is stateful.  It wouldn't be a
problem going the other way, as mentioned above, but NFS just doesn't
keep the information Styx needs to operate (fids, qids, tags and
whatnot).

    However, one idea I had for achieving the "transparent-to-the-user"
UNIX-mountable Styx filesystem is to use something like the BSD
portalfs (hopefully I have the name right) where our library functions
could be called for filesystems mounted as Styx.  I have not researched
this possibility at all (portalfs may be an unimplemented feature) and
it would obviously destroy the portability of anything using it, but as
I said, transparency is a low priority at the moment.

    Also, if anyone else has anything written that might be helpful as
far as the implementation of Styx libraries is concerned and wouldn't
mind releasing it, please contact me.

Dave Bort
--
<dbort@mail.csh.rit.edu>
Computer Science House
Rochester Institute of Technology