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
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:
Date: Mon Jul 16 21:32:51 UTC 2018
New revision: 336357
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: email@example.com
MFC after: 2 weeks
Patch has been committed and MFC'd.