In tmpfs_chtimes(), remove checks on the nanosecond level when
determining whether a node changed. Other filesystems, e.g., UFS, only check on seconds, when determining whether something changed. This also corrects the birthtime case, where we checked tv_nsec twice, instead of tv_sec and tv_nsec (PR). PR: 201284 Submitted by: David Binderman Patch suggested by: kib Reviewed by: kib MFC after: 2 weeks Committed from: Essen FreeBSD Hackathon
This commit is contained in:
parent
759686c03c
commit
95419ac921
@ -1709,20 +1709,18 @@ tmpfs_chtimes(struct vnode *vp, struct vattr *vap,
|
||||
if (error != 0)
|
||||
return (error);
|
||||
|
||||
if (vap->va_atime.tv_sec != VNOVAL && vap->va_atime.tv_nsec != VNOVAL)
|
||||
if (vap->va_atime.tv_sec != VNOVAL)
|
||||
node->tn_status |= TMPFS_NODE_ACCESSED;
|
||||
|
||||
if (vap->va_mtime.tv_sec != VNOVAL && vap->va_mtime.tv_nsec != VNOVAL)
|
||||
if (vap->va_mtime.tv_sec != VNOVAL)
|
||||
node->tn_status |= TMPFS_NODE_MODIFIED;
|
||||
|
||||
if (vap->va_birthtime.tv_nsec != VNOVAL &&
|
||||
vap->va_birthtime.tv_nsec != VNOVAL)
|
||||
if (vap->va_birthtime.tv_sec != VNOVAL)
|
||||
node->tn_status |= TMPFS_NODE_MODIFIED;
|
||||
|
||||
tmpfs_itimes(vp, &vap->va_atime, &vap->va_mtime);
|
||||
|
||||
if (vap->va_birthtime.tv_nsec != VNOVAL &&
|
||||
vap->va_birthtime.tv_nsec != VNOVAL)
|
||||
if (vap->va_birthtime.tv_sec != VNOVAL)
|
||||
node->tn_birthtime = vap->va_birthtime;
|
||||
MPASS(VOP_ISLOCKED(vp));
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user