i386/116748: NFS over UDP with kern.ipc.nmbclusters=0 does not work

Michael Conlen meconlen at obfuscated.net
Sat Sep 29 11:20:03 PDT 2007


>Number:         116748
>Category:       i386
>Synopsis:       NFS over UDP with kern.ipc.nmbclusters=0 does not work
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-i386
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sat Sep 29 18:20:03 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Michael Conlen
>Release:        FreeBSD 6.2-p7
>Organization:
>Environment:
FreeBSD web6.tarhost.com 6.2-RELEASE-p7 FreeBSD 6.2-RELEASE-p7 #8: Fri Aug 10 00:35:21 EDT 2007     root at web6.tarhost.com:/usr/obj/usr/src/sys/WWW  i386

>Description:
When setting 

kern.ipc.nmbclusters=0

in /boot/loader.conf, which to my understanding means "unlimited", and attempting to mount a NFS file system (used version 3) using UDP the mount works however read operations fail. The traffic goes across the network, the server responds, the packets make it in to the client (as seen in tcpdump) but the NFS client code never returns the data to the user app. 

When using a TCP mount the NFS system operates as expected with two issues. 
1) regular nfs send error 32 reported on the server
2) regular impossible packet length from nfs server on the server

In order to use UDP I found that I needed to set

kern.ipc.nmbclusters=65535

I tested two otherwise identically configured machines against the same NFS server (also FreeBSD though somewhat older since non critical security patches have not been applied, it is, after all, the production NFS server for a web cluster.) and found this one configuration change to be the critical one. 

 
>How-To-Repeat:
Setup an NFS server
Setup an NFS client
add 

kern.ipc.nmbclusters=0

in the file /boot/loader.conf on the client. 

mount an NFS file system from the server on the client using options


rw,nfsv3

attempt to read the directories on the client.

>Fix:
workaround is to not use nmbclusters=0. Solution unknown. I can provide system in my environment for debugging with ssh and root access. 


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-i386 mailing list