summaryrefslogtreecommitdiff
path: root/sys/isofs/cd9660/cd9660_vnops.c
diff options
context:
space:
mode:
authorPhilip Guenther <guenther@cvs.openbsd.org>2015-04-17 04:43:22 +0000
committerPhilip Guenther <guenther@cvs.openbsd.org>2015-04-17 04:43:22 +0000
commit520315c9c6bce487b0a975df8204f04a6e8c610e (patch)
tree254581334fcf5ab284ca2e11882093d9dda0ba7b /sys/isofs/cd9660/cd9660_vnops.c
parent423b84171151dd257452273b07399e51c37cbbc8 (diff)
Tweaks utimensat/futimens handling to always update ctime, even when both
atime and mtime are UTIME_OMIT (at least for ufs, tmpfs, and ext2fs), and to correctly handle a timestamp of -1. ok millert@
Diffstat (limited to 'sys/isofs/cd9660/cd9660_vnops.c')
-rw-r--r--sys/isofs/cd9660/cd9660_vnops.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/isofs/cd9660/cd9660_vnops.c b/sys/isofs/cd9660/cd9660_vnops.c
index 07ea2531a69..ce9d1c41cf5 100644
--- a/sys/isofs/cd9660/cd9660_vnops.c
+++ b/sys/isofs/cd9660/cd9660_vnops.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cd9660_vnops.c,v 1.71 2015/03/14 03:38:50 jsg Exp $ */
+/* $OpenBSD: cd9660_vnops.c,v 1.72 2015/04/17 04:43:20 guenther Exp $ */
/* $NetBSD: cd9660_vnops.c,v 1.42 1997/10/16 23:56:57 christos Exp $ */
/*-
@@ -94,8 +94,9 @@ cd9660_setattr(void *v)
struct vattr *vap = ap->a_vap;
if (vap->va_flags != VNOVAL || vap->va_uid != (uid_t)VNOVAL ||
- vap->va_gid != (gid_t)VNOVAL || vap->va_atime.tv_sec != VNOVAL ||
- vap->va_mtime.tv_sec != VNOVAL || vap->va_mode != (mode_t)VNOVAL)
+ vap->va_gid != (gid_t)VNOVAL || vap->va_atime.tv_nsec != VNOVAL ||
+ vap->va_mtime.tv_nsec != VNOVAL || vap->va_mode != (mode_t)VNOVAL ||
+ (vap->va_vaflags & VA_UTIMES_CHANGE))
return (EROFS);
if (vap->va_size != VNOVAL) {
switch (vp->v_type) {