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. Reported by: jim@ks.uiuc.edu Suggested by: dfr MFC after: 2 weeks
This commit is contained in:
parent
47e222432b
commit
dedec68c32
@ -1436,7 +1436,9 @@ nfsvno_open(struct nfsrv_descript *nd, struct nameidata *ndp,
|
||||
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);
|
||||
|
Loading…
Reference in New Issue
Block a user