Return to BSD News archive
Path: sserve!manuel!munnari.oz.au!constellation!apple!agate!ames!elroy.jpl.nasa.gov!swrinde!mips!newsun!gateway.novell.com!terry From: terry@npd.Novell.COM (Terry Lambert) Newsgroups: comp.unix.bsd Subject: Re: NFS client source? Message-ID: <1992Jun26.014605.25576@gateway.novell.com> Date: 26 Jun 92 01:46:05 GMT References: <Jun.25.10.13.41.1992.17965@pilot.njin.net> Sender: news@gateway.novell.com (NetNews) Distribution: inet Organization: Novell NPD -- Sandy, UT Lines: 44 Nntp-Posting-Host: thisbe.eng.sandy.novell.com In article <Jun.25.10.13.41.1992.17965@pilot.njin.net> pfaffman@pilot.njin.net (Jay Pfaffman) writes: > >I'm trying to learn more about how NFS clients work. I've found >several different sources for servers, but I'm looking for the client >stuff. I assume that it's somewhere in the kernel & maybe in mount? >Poking around the source tree at gatekeeper.dec.com didn't uncover >anything. If someone could point me to the right directories/files or >offer other sources of info, I'd appreciate it. Most modern NFS clients are implemented as filesystems under the VFS layer. If you archie for "nfs_vnops.c" you will see a number of locations around the world where you may pick the code up. There are several notable exceptions to this, where the client is not implemented below VFS, or only partially implemented there: 1) NFS for SVR3.1. The implementation I am most familiar with is implemented as a file system switch entry, several system calls, and a user-space nfs client daemon. This is because RPC service is unavailable from the kernel (3.1 doesn't support streams and/ or calls to streams from the kernel). 2) The Kyoto NFS, which is implemented in much the same way, but does have a VFS table entry, but goes on with the system calls, et al, just as if it were SVR3.1. The Berkeley interface, which differs significantly in the vnops and the kernel vm API from SVR4, is used in this case. Most likely, unless you are using a real BSD or derivative (Older SunOS/ Ultrix), or unless you wanted to use all of 386BSD (my recommendation), you will probably need a SVR4.x source license to see working code... unless, God forbid, ypu have an AT&T UNIX PC (the "7300", sometimes called a "3B1"), in which case, you will have to have a SVR3.1 src license and get AT&T to sell you the other sources for whatever they think they can get out of you (last time I checked, they wanted $200 for "Rogue" ported to the 3b1). Terry Lambert terry_lambert@gateway.novell.com terry@icarus.weber.edu --- Disclaimer: Any opinions in this posting are my own and not those of my present or previous employers.