*BSD News Article 97155


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.carno.net.au!harbinger.cc.monash.edu.au!news.mira.net.au!news.netspace.net.au!news.mel.connect.com.au!munnari.OZ.AU!uunet!in1.uu.net!194.87.0.28!demos!demos1!demos2!newsfeed.sovam.com!sovam!cam-news-hub1.bbnplanet.com!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!news-peer.gsl.net!news-dc.gsl.net!news.gsl.net!feed2.belnet.be!news.belnet.be!news.rediris.es!news.upm.es!not-for-mail
From: jmrueda@diatel.upm.es (Javier Martin Rueda )
Newsgroups: comp.unix.bsd.freebsd.misc
Subject: Re: 2.2.2 and NFS v3 ?
Date: 5 Jun 1997 14:20:17 GMT
Organization: Dpt. Ing. Telematica
Lines: 53
Message-ID: <5n6hv1$giq$1@sanson.dit.upm.es>
References: <01bc6d3d$06b2b920$0a00a8c0@kahuna>
    <5mu6fc$n4a@ui-gate.utell.co.uk>
NNTP-Posting-Host: ioda.diatel.upm.es
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
X-Newsreader: knews 0.9.8
Xref: euryale.cc.adfa.oz.au comp.unix.bsd.freebsd.misc:42454

> Is there an URL where I can dig up some specs on NFS v3 or is anybody
> willing to elaborate on the advantages of this system over the prior NFS
> implementation in FreeBSD ?

Note: if you already know everything about NFSv3, please take a look
at the end of the message.

NFSv3 specification is publicly available from Sun, as a PostScript
document (about 50 or 60 pages, I think). I don't remember the exact
URL, but I got it from Sun's ftp or www server. If you cannot find it
there, tell me and I'll put it for ftp for you.

Prior NFS implementations in FreeBSD were NFSv2, and NQNFS. The advantages
of NFSv3 over NFSv2 are mainly these (not necessarily in order of
importance):

1. The file attributes are now returned on all server answers. Previously,
the client had to grab them with a separate RPC, and since that was the
common case in most file operations, now many server requests are gone,
as the attributes are already returned in the first request.

2. Improvement in several data sizes, so that there is greater flexibility
now, and larger files can be accessed. For instance, the maximum file size
and the seek offset have gone from 32 to 64 bits, the file handle has gone
from 32 to 64 bytes, variable size file handles are allowed, etc.

3. Now, it is possible to do safe asynchronous writes, and it's easier to
maintain cache coherency. Some new RPC allow the client to quicly send
several write requests, and later confirm that all of them are in stable
storage, instead of having to confirm one by one. That increases write
throughput quite a lot. Also, point 1 and some other things help in
maintaining good data conherency for clients that cache NFS filesystems.

4. NFS over TCP and UDP is possible, and since TCP has shown to perform
generally better, that's the default choice in version 3.

5. New authentication methods for improved security: DES, and Kerberos.
Previous versions just used Unix UID, and GID, which can be faked by
anyone very easily.

6. Something I surely forgot :-)

In any case, I must say that I haven't used NFSv3 very much in practice,
as most of the NFS clients here are still version 2.

Finally, I'll make a request, slightly out of topic:

I'm looking for the information necessary to write a NFSv3 client
for Windows (3, 95, NT, any one is fine). In particular, I need the
kernel details for hooking a network client under Windows. Is there
anything suchs as VFS, and vnodes? Where are the function and data
prototypes, etc? If anyone can help me, I'm really interested in
that information. Reply by mail too, please.