Julian Elischer writes:
 > Matthew Dillon wrote:
 > > 
 > >     Here's the location:
 > > 
 > >         http://www.backplane.com/FreeBSD4/
 > > 
 > >     It's in the 'NFS bugs first found by David E. Cross' section.
 > > 
 > 
 > 
 > I've looked it over a bit and can't see any major problems..
 > and it definitly does fix some problems..
 > 
 > Has anyone tried it in a heavy server environment?
 > if so, any problems? It's running ok here but it's only 
 > very lightly tested in our environment.
 > 
 > I'd like to get it checked in if it really is an improvement....
 > 

OK.  First minor problem & fix: 

Solaris 2.7 (5.7 Generic_106541-04 sun4u sparc) hosts cannot do a V3
mount of an nfs server with these patches applied.  V2 mounts still
seem to work.

It turns out that this is because when a solaris 2.7 host does an
NFSv3 mount, it calls the null procedure & Matt's diffs expose a bug
in nfssvc_nfsd.  The following patch, applied in addtion to the diffs
above, corrects the problem:

Index: nfs_syscalls.c
===================================================================
RCS file: /home/ncvs/src/sys/nfs/nfs_syscalls.c,v
retrieving revision 1.49
diff -u -b -B -r1.49 nfs_syscalls.c
--- nfs_syscalls.c      1999/04/27 11:17:52     1.49
+++ nfs_syscalls.c      1999/06/22 19:32:26
@@ -651,7 +651,7 @@
                                slp, nfsd->nfsd_procp, &mreq);
                        if (mreq == NULL)
                                break;
-                       if (error) {
+                       if (error != 0 && error != NFSERR_RETVOID) {
                                if (nd->nd_procnum != NQNFSPROC_VACATED)
                                        nfsstats.srv_errs++;
                                nfsrv_updatecache(nd, FALSE, mreq);



Cheers,

Drew
------------------------------------------------------------------------------
Andrew Gallatin, Sr Systems Programmer  http://www.cs.duke.edu/~gallatin
Duke University                         Email: [EMAIL PROTECTED]
Department of Computer Science          Phone: (919) 660-6590


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to