NFS/TCP problems

Yuri Khotyaintsev yuri at irfu.se
Thu May 11 09:11:20 UTC 2006


On Monday 08 May 2006 19:41, Kris Kennaway wrote:
> On Mon, May 08, 2006 at 01:54:58PM +0200, Yuri Khotyaintsev wrote:
> > I have an NSF server and several clients which write large text files to
> > the server. All machines are running max one week old STABLE and are
> > connected to the same gigabit switch, and have identical nics (em). Amd
> > mount options are: /defaults
> > type:=nfs;cache:=all;opts:=rw,intr,nosuid,grpid,nfsv3,tcp,resvport,soft
> >
> > Almost all the time I get the following messages on the server:
> >
> > nfsd send error 32
> > nfsd send error 32
> > nfsd send error 32
> > nfsd send error 32
> > nfsd send error 32
> > ...
> >
> > And corresponding messages on a client:
> >
> > impossible packet length (8996061) from nfs server db:/export/data1/caa
> > impossible packet length (3123011) from nfs server db:/export/data1/caa
> > impossible packet length (893006905) from nfs server db:/export/data1/caa
> > impossible packet length (842018868) from nfs server db:/export/data1/caa
> > impossible packet length (874220) from nfs server db:/export/data1/caa
> > impossible packet length (14182767) from nfs server db:/export/data1/caa
> > impossible packet length (16777216) from nfs server db:/export/data1/caa
> > impossible packet length (758134573) from nfs server db:/export/data1/caa
> > impossible packet length (1503661568) from nfs server
> > db:/export/data1/caa impossible packet length (1300840) from nfs server
> > db:/export/data1/caa ...
> >
> > And from time to time the files which are written to the server get
> > truncated (regardless of the file size)...
> >
> > Does anybody have an idea how to make it work reliably and not to
> > truncate the files?
>
> mohan committed a fix for one such problem a few days ago.  It will
> not be in 6.1-RELEASE, but you should be able to apply the patch
> yourself.  It would be nice to know how it works for you.
>
>  
> http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/nfsclient/nfs_socket.c.diff?r
>1=text&tr1=1.136&r2=text&tr2=1.139

I have patched nfs_socket.c on all clients and run the same kind of processing 
which was causing the problem. I can report that the problem is gone with 
nfs_socket.c rev 1.139. I only got one "nfs send error 35" on one of the 
clients instead of hundreds of messages I was seeing before. Thank you very 
much!

BTW, what is better/faster TCP or UDP for running NFS between hosts connected 
to the same gigabit switch?

-- 
Dr. Yuri Khotyaintsev
Institutet för rymdfysik (IRF), Uppsala


More information about the freebsd-stable mailing list