HomeFreeBSD

Fix the NFS server so that it sets va_birthtime.

Description

Fix the NFS server so that it sets va_birthtime.

r362490 marked that the NFSv4 attribute TimeCreate (va_birthtime) is supported,
but it did not change the NFS server code to actually do it.
As such, errors could occur when unrolling a tarball onto an NFSv4 mounted
volume, since setting TimeCreate would fail with a NFSERR_ATTRNOTSUPP reply.

This patch fixes the server so that it does TimeCreate and also makes
sure that TimeCreate will not be set for a DS file for a pNFS server.

A separate commit will add a check to the NFSv4 client for support of
the TimeCreate attribute before attempting to set it, to avoid a problem
when mounting a server that does not support the attribute.
The failures will still occur for r362490 or later kernels that do not
have this patch, since they indicate support for the attribute, but do not
actually support the attribute.

Details

Provenance
rmacklemAuthored on Jul 26 2020, 11:03 PM
Parents
rGa450ecfdbd95: gctl_get_geom: Skip validation of g_class.
Branches
Unknown
Tags
Unknown

Event Timeline