svn commit: r317918 - stable/9/sys/fs/nfsserver
Rick Macklem
rmacklem at FreeBSD.org
Sun May 7 20:32:09 UTC 2017
Author: rmacklem
Date: Sun May 7 20:32:07 2017
New Revision: 317918
URL: https://svnweb.freebsd.org/changeset/base/317918
Log:
MFC: r317236
Fix the setting of atime for Linux client NFSv4 mounts.
The FreeBSD NFSv4 server did not set the attribute bit for TimeAccess in
the reply to an Open with exclusive_create, as required by the RFCs.
(This is required since the FreeBSD NFS server stores the create_verifier
in the va_atime attribute.)
As such, the Linux NFSv4 client did not set the TimeAccess (atime) in
the Setattr done in an RPC after the one with the Open/exclusive_create.
This patch fixes the server to set the TimeAccess bit in the reply.
I believe that storing the create_verifier in an extended attribute for
file systems that support extended attributes might be a good idea,
but I will wait for a discussion of this on the freebsd-fs@ email list
before considering committing a patch to do this.
Modified:
stable/9/sys/fs/nfsserver/nfs_nfsdport.c
Directory Properties:
stable/9/sys/ (props changed)
stable/9/sys/fs/ (props changed)
Modified: stable/9/sys/fs/nfsserver/nfs_nfsdport.c
==============================================================================
--- stable/9/sys/fs/nfsserver/nfs_nfsdport.c Sun May 7 20:21:59 2017 (r317917)
+++ stable/9/sys/fs/nfsserver/nfs_nfsdport.c Sun May 7 20:32:07 2017 (r317918)
@@ -1422,7 +1422,9 @@ nfsvno_open(struct nfsrv_descript *nd, s
vput(ndp->ni_vp);
ndp->ni_vp = NULL;
nd->nd_repstat = NFSERR_NOTSUPP;
- }
+ } else
+ NFSSETBIT_ATTRBIT(attrbitp,
+ NFSATTRBIT_TIMEACCESS);
} else {
nfsrv_fixattr(nd, ndp->ni_vp, nvap,
aclp, p, attrbitp, exp);
More information about the svn-src-stable-9
mailing list