Bug 226650 - ESXi NFSv4.1 client complains that "2" isn't a valid reason for not issuing a delegation
Summary: ESXi NFSv4.1 client complains that "2" isn't a valid reason for not issuing a...
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: kern (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Some People
Assignee: Rick Macklem
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-03-16 00:46 UTC by Rick Macklem
Modified: 2018-08-02 11:27 UTC (History)
0 users

See Also:
rmacklem: mfc-stable11?


Attachments
Change the reasons for not issuing delegations to ones that the ESXi client is happy with (3.43 KB, patch)
2018-03-16 00:46 UTC, Rick Macklem
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Rick Macklem freebsd_committer 2018-03-16 00:46:02 UTC
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.)
Comment 1 Rick Macklem freebsd_committer 2018-03-16 00:47:21 UTC
I will commit this patch once Linux testing has been done.
Comment 2 commit-hook freebsd_committer 2018-07-16 21:32:58 UTC
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
Comment 3 Rick Macklem freebsd_committer 2018-08-02 11:27:24 UTC
Patch has been committed and MFC'd.