From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <5d375e920811121100o15702c64ufb6e367220606058@mail.gmail.com> Date: Wed, 12 Nov 2008 20:00:43 +0100 From: Uriel To: "Fans of the OS Plan 9 from Bell Labs" <9fans@9fans.net> In-Reply-To: <13426df10811120947g8b6c82kd8a65a50e12bae0d@mail.gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <1226365206.17713.390.camel@goose.sun.com> <29302f743a99f05c1d9ac196b0245f81@9netics.com> <5d375e920811110830k1c91a401y5e6f39f1737d4240@mail.gmail.com> <140e7ec30811110954u44f8f9aeg788dc34b7d35ac69@mail.gmail.com> <140e7ec30811111811i15f2e2bp3761d477e6c90aed@mail.gmail.com> <13426df10811112058q5f54d697x80152b170524a296@mail.gmail.com> <886E16CF-8F8F-455E-A556-7770EADC77CB@sun.com> <13426df10811120947g8b6c82kd8a65a50e12bae0d@mail.gmail.com> Subject: Re: [9fans] Do we have a catalog of 9P servers? Topicbox-Message-UUID: 3f5a0a98-ead4-11e9-9d60-3106f5b1d025 On Wed, Nov 12, 2008 at 6:47 PM, ron minnich wrote: > On Tue, Nov 11, 2008 at 9:20 PM, Roman Shaposhnik wrote: >> On Nov 11, 2008, at 8:58 PM, ron minnich wrote: > >>> They're utterly different, at every level. Yes, they give you a >>> similar service, but ... >> >> Whoa! That's a pretty strong claim. Care to substantiate? >> >> The way I see it: if you look past stalessness (taken care of >> in WebNFS and NFS4) eagerness to do proper caching and >> on-the-wire messages there are, actually, quite a few similarities >> between the two: >> FH is a moral equivalent of a Qid >> ACCESS is a moral equivalent of open >> SETATTR/GETATTR is like stat/wstat >> LOOKUP is like walk (especially so in WebNFS) >> READ/WRITE/CREATE/REMOVE is there in both >> > > yes, from the top they look superficially similar. From where I stand, > they could not be more different. This difference is the cause of > major performance issues. > - sunrpc > - xdr > - fhandles are a nightmare (security and otherwise) > > The whole layering of nfs/sunrpc is very computer-sciency and 1970s. > It's antiquated. It's also how everyone does it even now. It's a hog. > It's also interesting to see differences > > sunrpc gets service variation via program number/version; 9p gets it > by what server you talk to. > Result: FOUR different protocols to make nfs work (portmap, nfs, > lockd, mountd); one protocol to make 9p file servers work > > in essence, sunrpc externalizes service variation by creating lots of > protocols (program numbers and versons) over sunrpc; 9p gets it the > right way, by changing the server, but not the protocol. > In a way, 9p cleanly squashes together nfs and sunrpc, and dispenses > with the wasteful xdr code completely. In my ancient 10-year-old TR to > DARPA I point out that we could use 9p for all four nfs services and > save some work. 9P doesn't do locking; .u/.l change the protocol. Of course it would be possible to do locking (ext attrs and other lunix crud) without changing the protocol, which would have the advantage of not requiring changes in the dozens of existing 9P implementations, plus would give one access to such 'features' from standard cat/echo interface, something which no lunix system can currently do... If I understood erik correctly, .L will even add auth into the protocol... I guess that only leaves us missing sunrpc for 9P to match NFS4's beauty. > That's just a taste. They're really very very different. May Glenda bless the IBM-induced standard wisdom. uriel > ron > >