From mboxrd@z Thu Jan 1 00:00:00 1970 Date: Wed, 12 Nov 2008 13:20:56 -0800 From: "Roman V. Shaposhnik" In-reply-to: <13426df10811120947g8b6c82kd8a65a50e12bae0d@mail.gmail.com> To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Message-id: <1226524856.19266.19.camel@goose.sun.com> MIME-version: 1.0 Content-type: text/plain Content-transfer-encoding: 7BIT 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: 3fd43a98-ead4-11e9-9d60-3106f5b1d025 On Wed, 2008-11-12 at 09:47 -0800, ron minnich wrote: > > 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 Absolutely. No disagreement there. But! You're now talking implementation. You don't have to do rpc and all that crap in all its glory to implement NFS. Plan9's very own nfsserver is a prime example of how things could be way simpler in NFS than they usually are. > Result: FOUR different protocols to make nfs work (portmap, nfs, > lockd, mountd); one protocol to make 9p file servers work Mmmm. Almost agreed. Very painful thing to manage. But! None of that (well, except nfsd) is needed in WebNFS/NFS4. Thus is is almost a deployment practices issue, not really something that is inherently bad in the *core* of the protocol. > That's just a taste. They're really very very different. Well, here's one thing that I wanted to point out in this discussion: if you abstract away from the implementation (rpc &co) and the horrible deployment practices (portmap, mountd and to some extent even lockd) what is left still seems close enough to 9P in the following sense: it shares a number of same problems. These problems were actively discussed in NFS community (which is, unfortunately, much large than a 9P community) and it may be worthwhile to learn from that experience. Thanks, Roman. P.S. I totally feel for you -- dealing with NFS *implementation* and typical *deployments* is nothing short of a torture.