Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 7 Jul 1999 10:46:12 -0500 (EST)
From:      Alfred Perlstein <bright@rush.net>
To:        Peter Wemm <peter@netplex.com.au>
Cc:        current@FreeBSD.ORG
Subject:   Re: nfs ick in -current 
Message-ID:  <Pine.BSF.3.96.990707102624.14320c-100000@cygnus.rush.net>
In-Reply-To: <19990707145022.6829E78@overcee.netplex.com.au>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 7 Jul 1999, Peter Wemm wrote:

> Alfred Perlstein wrote:
> > 
> > I just cvsup'd today hoping that all the NFS fixes that went in
> > recently would have alleviated (sp?) the hangs I've been getting
> > while building things in ports for the last couple of months.
> > 
> > It used to be that just NFS would hang, now it seems to crash the 
> > entire box.
> > 
> > server:/vol/extra/ports /usr/ports      nfs     rw,noauto,bg,intr,nfsv3,tcp,-
>     r=3
> > 2768,-w=32768   0       0
> > server:/vol/extra/ncvs  /home/ncvs      nfs     rw,noauto,bg,intr,nfsv3,tcp,-
>     r=3
> > 2768,-w=32768   0       0
> > server:/vol/wd0         /vol/wd0        nfs     rw,noauto,bg,intr,nfsv3,tcp,-
>     r=3
> > 2768,-w=32768   0       0
> > 
> > are the mount points.
> > 
> > attempting to compile xscreensaver has triggered it twice in a row
> > /usr/ports is mounted off "server" (a freebsd -current box) and
> > doing the make will kill the machine.
> > 
> > Once I figure out where the heck I have the console redirected
> > I'll have something more substantial.
> 
> You have a block size of 32K, I'll bet it's 'Bad nfs svc reply' in
> nfs_syscalls.c.  This is triggered when the READDIRPLUS op generates
> an oversized reply and it triggers the sanity check.

odd, shouldn't it know not to violate its own sanity checks?  Just
throttle down the requests, or spit out an error?

> Change it to 16K and I think it'll work.  Otherwise change the panic to a
> printf(), but that is sweeping the problem under the carpet and might just
> give the client indigestion.  It does stop the server crashing though.

I'll try that, thanks, set my -r and -w to 16k.  Um something odd
though, from the code:

if (siz <= 0 || siz > NFS_MAXPACKET) {
  printf("mbuf siz=%d\n",siz);
  panic("Bad nfs svc reply");
}

then earlier:
nfsproto.h:#define      NFS_MAXPKTHDR   404
nfsproto.h:#define NFS_MAXPACKET        (NFS_MAXPKTHDR + NFS_MAXDATA)
nfsproto.h:#define      NFS_MAXDATA     32768

isn't 32k within the safe limits, or sometimes when building the RPC
reply it can just get too big?

Oh, one more thing, I'm getting "device busy" even when using -f
during my unmount of wedged nfs mounts, all I needed to do was
kill -9 a shell sitting in that dir, but shouldn't that be
unnessesary?

thanks for your patience,
-Alfred



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.990707102624.14320c-100000>