Module Name:    src
Committed By:   riastradh
Date:           Thu Apr  9 20:18:28 UTC 2015

Modified Files:
        src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_vnops.c

Log Message:
Pass NetBSD VA_UTIMES_NULL through to ZFS as Solaris ATTR_UTIME.

Makes t_unpriv:zfs_times fail the wrong way instead of silently
allowing the change.


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.20 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.21
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.20	Thu Apr  9 19:47:05 2015
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Thu Apr  9 20:18:28 2015
@@ -5153,9 +5153,12 @@ zfs_netbsd_setattr(void *v)
 	xvattr_t xvap;
 	u_long fflags;
 	uint64_t zflags;
+	int flags = 0;
 
 	vattr_init_mask(vap);
 	vap->va_mask &= ~AT_NOSET;
+	if (ISSET(vap->va_vaflags, VA_UTIMES_NULL))
+		flags |= ATTR_UTIME;
 
 	xva_init(&xvap);
 	xvap.xva_vattr = *vap;
@@ -5216,7 +5219,7 @@ zfs_netbsd_setattr(void *v)
 		    xvap.xva_xoptattrs.xoa_nodump);
 #undef	FLAG_CHANGE
 	}
-	return (zfs_setattr(vp, (vattr_t *)&xvap, 0, cred, NULL));
+	return (zfs_setattr(vp, (vattr_t *)&xvap, flags, cred, NULL));
 }
 
 static int

Reply via email to