| Summary: | ESX NFSv4.1 client fails when ReclaimComplete for one FS fails | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | Base System | Reporter: | Rick Macklem <rmacklem> | ||||||||
| Component: | kern | Assignee: | Rick Macklem <rmacklem> | ||||||||
| Status: | Closed FIXED | ||||||||||
| Severity: | Affects Some People | Keywords: | patch | ||||||||
| Priority: | --- | Flags: | rmacklem:
mfc-stable11+
rmacklem: mfc-stable10+ |
||||||||
| Version: | CURRENT | ||||||||||
| Hardware: | Any | ||||||||||
| OS: | Any | ||||||||||
| Attachments: |
|
||||||||||
I think the patch is sufficient and needs to be committed in April. Created attachment 195165 [details]
Just return NFS_OK for ReclaimComplete with rca_one_fs TRUE
This patch modifies the FreeBSD NFSv4.1 server so that it just returns
NFS_OK for a ReclaimComplete operation with rca_one_fs == TRUE.
This appears to be sufficient to make the ESXi 6.7 client happy and
is what the Linux 4.17-rc2 kernel nfs server does.
Since RFC5661 is vague w.r.t. when the rca_one_fs == TRUE case is used
and does not specify an error return for servers that do not use it,
doing this instead of returning NFS4ERR_NOT_SUPP seems acceptable.
(I do believe the rca_one_fs == TRUE case is only meant to be used
when the server transfers a file system to a different server, the
FreeBSD server has no use for it at this time.)
Created attachment 195222 [details] Just return NFS_OK for ReclaimComplete with rca_one_fs TRUE This version of the patch should have the same behaviour as the last one. The change is that it sets a flag LCL_RECLAIMONEFS on the clientid for the rca_one_fs == TRUE case. This flag was suggested by David Noveck on nfsv4@ietf.org and can be used to disable returning of NFSERR_GRACE errors for new mounts. (The code does not currently do this, but may do so via a future patch.) Patch has been committed and MFC'd, so I am closing this PR. |
Created attachment 191365 [details] Allow ReclaimComplete for a single FS The ESX NFSv4.1 client does a ReclaimComplete for a single FS when mounting. The FreeBSD server doesn't support the single FS case. This patch allows this case by assuming it applies to all FS within the mount, which seems sufficient, since other NFSv4.1 clients never do single FS ReclaimComplete operations.