Created attachment 191541 [details] Change the reasons for not issuing delegations to ones that the ESXi client is happy with The ESXi NFSv4.1 client logs warning messages that state "2" is not a valid reason for not issuing a delegation. "2" is the RESOURCE one and I don't see why it wouldn't be a valid reason. However, since other NFSv4.1 clients don't seem to care, changing the NFSv4.1 server to not use this reason for the default case of delegations not being enabled seems reasonable. Unfortunately RFC5661 doesn't define a default reason, so I selected FTYPE_NOT_SUPP as the closest and the ESXi client doesn't complain about this one. The attached patch changes the NFSv4.1 server to reply with reasons for not issuing delegations that seems to make the ESXi client happy. (The FreeBSD NFSv4.1 client ignores the reasons, so it doesn't care what they are. Testing with the Linux client is still needed for this patch to ensure it doesn't cause problems with the Linux client. If that is the case, I believe it should be ok to commit to head and MFC.)
I will commit this patch once Linux testing has been done.
A commit references this bug: Author: rmacklem Date: Mon Jul 16 21:32:51 UTC 2018 New revision: 336357 URL: https://svnweb.freebsd.org/changeset/base/336357 Log: Modify the reasons for not issuing a delegation in the NFSv4.1 server. The ESXi NFSv4.1 client will generate warning messages when the reason for not issuing a delegation is two. Two refers to a resource limit and I do not see why it would be considered invalid. However it probably was not the best choice of reason for not issuing a delegation. This patch changes the reasons used to ones that the ESXi client doesn't complain about. This change does not affect the FreeBSD client and does not appear to affect behaviour of the Linux NFSv4.1 client. RFC5661 defines these "reasons" but does not give any guidance w.r.t. which ones are more appropriate to return to a client. Tested by: andreas.nagy@frequentis.com PR: 226650 MFC after: 2 weeks Changes: head/sys/fs/nfs/nfsproto.h head/sys/fs/nfsserver/nfs_nfsdserv.c head/sys/fs/nfsserver/nfs_nfsdstate.c
Patch has been committed and MFC'd.