NFS client defaults to a mix of UDP and TCP

Andriy Gapon avg at icyb.net.ua
Mon Sep 14 18:59:49 UTC 2009


on 14/09/2009 19:27 Rick Macklem said the following:
> 
> 
> On Mon, 14 Sep 2009, Andriy Gapon wrote:
> 
>> on 14/09/2009 15:58 John Baldwin said the following:
>>>
>>> Yes.  I know of folks would love to have NFS use only TCP, including the
>>> initial RPC portmapper requests.  IMO an NFS mount should use TCP for
>>> everything and a UDP mount should use UDP for everything by default.
>>>
>>
>> And another fact - it seems that NFS umount unconditionally uses UDP
>> for "something":
>>
>> /*
>> * Report to mountd-server which nfsname
>> * has been unmounted.
>> */
>> if (ai != NULL && !(fflag & MNT_FORCE) && do_rpc) {
>>        clp = clnt_create(hostp, MOUNTPROG, MOUNTVERS, "udp");
>> ...
>>
> Yep. This one is somewhat less critical IMO, since this RPC is just
> fyi for the mountd on the server and, if it fails for any reason, only
> normally affects the output of "showmount" and doesn't break the umount.
> (That doesn't mean I don't think it should be fixed, but it can be done
> separately from resolving what mount_nfs needs to default to.)

I agree. It's just that given the nature of UDP it takes a very long while for
umount to re-alize that nobody's listening in some situations.


-- 
Andriy Gapon


More information about the freebsd-fs mailing list