nfs no longer reconnects for udp sockets

Alfred Perlstein alfred at freebsd.org
Fri Mar 14 10:17:02 UTC 2008


Hey guys, someone was having issues with NFS mounts and
I happened to notice that it appears that the
"reconnect if socket went south" semantics I added a few
years ago were basically disabled by the nfs optimizations
added for "recv side processing".

The problem is as such:

You have an NFS mount on UDP.
Somehow the route goes bad.
The UDP socket is now "broken" as the route will remain
hosed forever.  This is particularly bad when an interface
flaps and loses its IP address as the UDP socket's route is
then set to nul or loopback or something and never gets fixed.
Your nfs mount goes dead even if the routing issues is
resolved (interface brought back up).

Please see attached patch.

Easy way to reproduce problem:

mount an nfs filesystem using UDP.
ifconfig interface down
try to access mount
ifconfig interface up
mount should still be dead.

Please review.

-- 
- Alfred Perlstein
-------------- next part --------------
A non-text attachment was scrubbed...
Name: nfs_reconnect_udp.diff
Type: text/x-diff
Size: 3996 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20080314/e14e6eaa/nfs_reconnect_udp.bin


More information about the freebsd-fs mailing list