Mac OS X NFS server with FreeBSD client non-responsive
vivek at khera.org
Thu Dec 12 20:25:41 UTC 2013
For the last two days I've been fighting with using my mac desktop (running
10.9 aka Mavericks) as an NFS server to a freebsd 9.2 client. Everything
works great when first mounted. I can do file listings, edits, etc. but
after a fair amount of file ops, the freebsd system just locks up for tens
of seconds at a time doing a simple ls.
TL;DR: the FreeBSD 9.2 (and 10.0-PRERELEASE) NFS client does not work with
OSX 10.9 NFS server using TCP.
NFS Server is OSX 10.9 exporting a single directory, all settings default.
NFS Client is FreeBSD 9.2 mounting with options rw,intr.
The directory contains a subversion checkout of a reasonably large project.
I then run "svn update" and it takes way longer than one would expect.
Once that is done, I copy a file of about 3MB to another name on the same
directory. At this point the cp process gets wedged in "newnfsreq" state.
If I kill the cp process, then do an ls, it will just sit there for a
couple of minutes in newnfsreq state, then finally succeed. FreeBSD
*sometimes* logs that the NFS server went away, then came back, but not
I mounted the same directory from my desktop to a CentOS 6.5 system, and I
could not make it fail this way. Same test when using a remote FreeBSD NFS
server never locks up.
After much searching on google and not finding anything about this
combination, I tried changing all sorts of options to try to isolate the
problem. I removed all TCP tuning on the FreeBSD client.
Ultimately, the one thing that "fixed" my issue is telling the client to
mount using UDP instead of the default TCP. Once I did this, all
operations on the mounted file system were speedy like one would hope.
I double-checked on the CentOS server and made sure it was mounting using
TCP, and it indeed was -- there was no failure with that implementation of
the NFS client.
So my conclusion is that the FreeBSD NFS client does not work (ie is not
usable) in TCP mode with an OS X 10.9 NFS server.
Has anyone else run into this? I can reliably reproduce it.
More information about the freebsd-questions