CVS commit: src/external/cddl/osnet/dist/uts/common/os

2019-12-01 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Dec  1 20:26:31 UTC 2019

Modified Files:
src/external/cddl/osnet/dist/uts/common/os: fm.c

Log Message:
Need sys/atomic.h on NetBSD


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/cddl/osnet/dist/uts/common/os/fm.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/os/fm.c
diff -u src/external/cddl/osnet/dist/uts/common/os/fm.c:1.1 src/external/cddl/osnet/dist/uts/common/os/fm.c:1.2
--- src/external/cddl/osnet/dist/uts/common/os/fm.c:1.1	Mon Jun 24 08:27:20 2019
+++ src/external/cddl/osnet/dist/uts/common/os/fm.c	Sun Dec  1 20:26:31 2019
@@ -65,6 +65,7 @@
 #include 
 #include 
 #ifdef __NetBSD__
+#include 
 #include 
 #else
 #include 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-12-01 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Dec  1 20:26:05 UTC 2019

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

Log Message:
Provide a default ptob() implementation


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/arc.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/arc.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/arc.c:1.14 src/external/cddl/osnet/dist/uts/common/fs/zfs/arc.c:1.15
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/arc.c:1.14	Sun May 26 10:21:00 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/arc.c	Sun Dec  1 20:26:05 2019
@@ -280,6 +280,9 @@ int arc_procfd;
 #ifndef btop
 #define	btop(x)		((x) / PAGE_SIZE)
 #endif
+#ifndef ptob
+#define ptob(x)		((x) * PAGE_SIZE)
+#endif
 //#define	needfree	(uvmexp.free < uvmexp.freetarg ? uvmexp.freetarg : 0)
 #define	buf_init	arc_buf_init
 #define	freemem		uvmexp.free



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-12-01 Thread Jared D. McNeill
Module Name:src
Committed By:   jmcneill
Date:   Sun Dec  1 20:25:31 UTC 2019

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

Log Message:
Initialize b_dev before passing buf to d_minphys (ldminphys needs this)


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_disk.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/vdev_disk.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_disk.c:1.12 src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_disk.c:1.13
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_disk.c:1.12	Tue Aug 20 08:12:14 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_disk.c	Sun Dec  1 20:25:31 2019
@@ -244,6 +244,7 @@ vdev_disk_open(vdev_t *vd, uint64_t *psi
 			} else {
 pdk = NULL;
 			}
+			buf.b_dev = vp->v_rdev;
 		}
 		if (pdk && pdk->dk_driver && pdk->dk_driver->d_minphys)
 			(*pdk->dk_driver->d_minphys)(&buf);



CVS commit: src/external/cddl/osnet

2019-05-07 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Tue May  7 08:49:59 UTC 2019

Modified Files:
src/external/cddl/osnet/dist/uts/common/fs/zfs: spa.c zio.c
src/external/cddl/osnet/dist/uts/common/sys: taskq.h
src/external/cddl/osnet/sys/kern: taskq.c
src/external/cddl/osnet/sys/sys: zfs_context.h

Log Message:
This implementation of Solaris taskq API is incomplete and doesn't track
Solaris upstream.  FreeBSD already replaced it with a glue to their
taskqueue API.

Replace it with a glue component that queues Solaris taskq requests to
threadpool jobs.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c
cvs rdiff -u -r1.5 -r1.6 src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/dist/uts/common/sys/taskq.h
cvs rdiff -u -r1.8 -r1.9 src/external/cddl/osnet/sys/kern/taskq.c
cvs rdiff -u -r1.20 -r1.21 src/external/cddl/osnet/sys/sys/zfs_context.h

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/spa.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c:1.7 src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c:1.8
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c:1.7	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/spa.c	Tue May  7 08:49:59 2019
@@ -924,7 +924,7 @@ spa_taskqs_init(spa_t *spa, zio_type_t t
 			 *   then a difference between them is insignificant.
 			 */
 			if (t == ZIO_TYPE_WRITE && q == ZIO_TASKQ_ISSUE)
-#ifdef illumos
+#if defined(illumos) || defined(__NetBSD__)
 pri--;
 #else
 pri += 4;

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.5 src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.6
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c:1.5	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zio.c	Tue May  7 08:49:59 2019
@@ -1537,8 +1537,10 @@ zio_taskq_dispatch(zio_t *zio, zio_taskq
 	 * to a single taskq at a time.  It would be a grievous error
 	 * to dispatch the zio to another taskq at the same time.
 	 */
-#if defined(illumos) || defined(__NetBSD__) || !defined(_KERNEL)
+#if defined(illumos) || !defined(_KERNEL)
 	ASSERT(zio->io_tqent.tqent_next == NULL);
+#elif defined(__NetBSD__)
+	ASSERT(zio->io_tqent.tqent_queued == 0);
 #else
 	ASSERT(zio->io_tqent.tqent_task.ta_pending == 0);
 #endif
@@ -3842,8 +3844,10 @@ zio_done(zio_t *zio)
 			 * Reexecution is potentially a huge amount of work.
 			 * Hand it off to the otherwise-unused claim taskq.
 			 */
-#if defined(illumos) || defined(__NetBSD__) || !defined(_KERNEL)
+#if defined(illumos) || !defined(_KERNEL)
 			ASSERT(zio->io_tqent.tqent_next == NULL);
+#elif defined(__NetBSD__)
+			ASSERT(zio->io_tqent.tqent_queued == 0);
 #else
 			ASSERT(zio->io_tqent.tqent_task.ta_pending == 0);
 #endif

Index: src/external/cddl/osnet/dist/uts/common/sys/taskq.h
diff -u src/external/cddl/osnet/dist/uts/common/sys/taskq.h:1.2 src/external/cddl/osnet/dist/uts/common/sys/taskq.h:1.3
--- src/external/cddl/osnet/dist/uts/common/sys/taskq.h:1.2	Mon May 28 21:05:08 2018
+++ src/external/cddl/osnet/dist/uts/common/sys/taskq.h	Tue May  7 08:49:59 2019
@@ -54,6 +54,16 @@ typedef struct taskq taskq_t;
 typedef uintptr_t taskqid_t;
 typedef void (task_func_t)(void *);
 
+#ifdef __NetBSD__
+typedef struct taskq_ent {
+	SIMPLEQ_ENTRY(taskq_ent) tqent_list; /* Task queue. */
+	task_func_t	*tqent_func;	/* Function to run. */
+	void		*tqent_arg;	/* Argument to function above. */
+	unsigned	tqent_dynamic:1; /* Must kmem_free() if true. */
+	unsigned	tqent_queued:1; /* Queued and waiting to run if true. */
+} taskq_ent_t;
+#endif
+
 struct proc;
 
 /*
@@ -89,7 +99,7 @@ taskq_t	*taskq_create_proc(const char *,
 taskq_t	*taskq_create_sysdc(const char *, int, int, int,
 struct proc *, uint_t, uint_t);
 taskqid_t taskq_dispatch(taskq_t *, task_func_t, void *, uint_t);
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) || defined(__NetBSD__)
 void	taskq_dispatch_ent(taskq_t *, task_func_t, void *, uint_t,
 taskq_ent_t *);
 #endif

Index: src/external/cddl/osnet/sys/kern/taskq.c
diff -u src/external/cddl/osnet/sys/kern/taskq.c:1.8 src/external/cddl/osnet/sys/kern/taskq.c:1.9
--- src/external/cddl/osnet/sys/kern/taskq.c:1.8	Sat Jan 12 10:42:40 2019
+++ src/external/cddl/osnet/sys/kern/taskq.c	Tue May  7 08:49:59 2019
@@ -1,1594 +1,323 @@
-/*	$NetBSD: taskq.c,v 1.8 2019/01/12 10:42:40 hannken Exp $	*/
+/*	$NetBSD: taskq.c,v 1.9 2019/05/07 08:49:59 hannken Exp $	*/
 
-/*
- * CDDL HEADER START
- *
- * The contents of this file are subject to the terms of the
- * Common Development and Distribution License, Version 1.0 only
- * (the "License").  You may not use this file except in compliance
- * with the License.
- *
- * You can obt

CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-04-15 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Mon Apr 15 12:59:38 UTC 2019

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

Log Message:
Add support for fifos, character and block devices.


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
cvs rdiff -u -r1.47 -r1.48 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
cvs rdiff -u -r1.25 -r1.26 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.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_vfsops.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.21 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.22
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.21	Mon Mar 18 09:22:14 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c	Mon Apr 15 12:59:38 2019
@@ -147,10 +147,14 @@ void zfs_init(void);
 void zfs_fini(void);
 
 extern const struct vnodeopv_desc zfs_vnodeop_opv_desc;
+extern const struct vnodeopv_desc zfs_specop_opv_desc;
+extern const struct vnodeopv_desc zfs_fifoop_opv_desc;
 extern const struct vnodeopv_desc zfs_sfsop_opv_desc;
 
 static const struct vnodeopv_desc * const zfs_vnodeop_descs[] = {
 	&zfs_vnodeop_opv_desc,
+	&zfs_specop_opv_desc,
+	&zfs_fifoop_opv_desc,
 	&zfs_sfsop_opv_desc,
 	NULL,
 };

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.47 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.48
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.47	Mon Mar 18 09:20:58 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Mon Apr 15 12:59:38 2019
@@ -81,6 +81,7 @@
 
 #ifdef __NetBSD__
 #include 
+#include 
 #include 
 #include 
 #include 
@@ -5072,16 +5073,39 @@ static int
 zfs_netbsd_read(void *v)
 {
 	struct vop_read_args *ap = v;
+	vnode_t *vp = ap->a_vp;
+	znode_t *zp = VTOZ(vp);
 
-	return (zfs_read(ap->a_vp, ap->a_uio, ioflags(ap->a_ioflag), ap->a_cred, NULL));
+	switch (vp->v_type) {
+	case VBLK:
+	case VCHR:
+		ZFS_ACCESSTIME_STAMP(zp->z_zfsvfs, zp);
+		return (VOCALL(spec_vnodeop_p, VOFFSET(vop_read), ap));
+	case VFIFO:
+		ZFS_ACCESSTIME_STAMP(zp->z_zfsvfs, zp);
+		return (VOCALL(fifo_vnodeop_p, VOFFSET(vop_read), ap));
+	}
+
+	return (zfs_read(vp, ap->a_uio, ioflags(ap->a_ioflag), ap->a_cred, NULL));
 }
 
 static int
 zfs_netbsd_write(void *v)
 {
 	struct vop_write_args *ap = v;
+	vnode_t *vp = ap->a_vp;
 
-	return (zfs_write(ap->a_vp, ap->a_uio, ioflags(ap->a_ioflag), ap->a_cred, NULL));
+	switch (vp->v_type) {
+	case VBLK:
+	case VCHR:
+		GOP_MARKUPDATE(vp, GOP_UPDATE_MODIFIED);
+		return (VOCALL(spec_vnodeop_p, VOFFSET(vop_write), ap));
+	case VFIFO:
+		GOP_MARKUPDATE(vp, GOP_UPDATE_MODIFIED);
+		return (VOCALL(fifo_vnodeop_p, VOFFSET(vop_write), ap));
+	}
+
+	return (zfs_write(vp, ap->a_uio, ioflags(ap->a_ioflag), ap->a_cred, NULL));
 }
 
 static int
@@ -5278,6 +5302,44 @@ zfs_netbsd_create(void *v)
 }
 
 static int
+zfs_netbsd_mknod(void *v)
+{
+	struct vop_mknod_v3_args /* {
+		struct vnode *a_dvp;
+		struct vnode **a_vpp;
+		struct componentname *a_cnp;
+		struct vattr *a_vap;
+	} */ *ap = v;
+	struct vnode *dvp = ap->a_dvp;
+	struct vnode **vpp = ap->a_vpp;
+	struct componentname *cnp = ap->a_cnp;
+	struct vattr *vap = ap->a_vap;
+	char *nm;
+	int mode;
+	int error;
+
+	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
+
+	vattr_init_mask(vap);
+	mode = vap->va_mode & ALLPERMS;
+
+	/* ZFS wants a null-terminated name. */
+	nm = PNBUF_GET();
+	(void)strlcpy(nm, cnp->cn_nameptr, cnp->cn_namelen + 1);
+
+	/* XXX !EXCL is wrong here...  */
+	error = zfs_create(dvp, nm, vap, !EXCL, mode, vpp, cnp->cn_cred, NULL);
+
+	PNBUF_PUT(nm);
+
+	KASSERT((error == 0) == (*vpp != NULL));
+	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
+	VOP_UNLOCK(*vpp, 0);
+
+	return (error);
+}
+
+static int
 zfs_netbsd_remove(void *v)
 {
 	struct vop_remove_v2_args /* {
@@ -6149,6 +6211,7 @@ const struct vnodeopv_entry_desc zfs_vno
 	{ &vop_default_desc,		vn_default_error },
 	{ &vop_lookup_desc,		zfs_netbsd_lookup },
 	{ &vop_create_desc,		zfs_netbsd_create },
+	{ &vop_mknod_desc,		zfs_netbsd_mknod },
 	{ &vop_open_desc,		zfs_netbsd_open },
 	{ &vop_close_desc,		zfs_netbsd_close },
 	{ &vop_access_desc,		zfs_netbsd_access },
@@ -6185,4 +6248,87 @@ const struct vnodeopv_entry_desc zfs_vno
 const struct vnodeopv_desc zfs_vnodeop_opv_desc =
 	{ &zfs_vnodeop_p, zfs_vnodeop_entries };
 
+int (**zfs_specop_p)(void *);
+const struct vnodeopv_entry_desc zfs_specop_entries[] = {
+	{ &vop_default_desc,		vn_default_error },
+	{ &vop_lookup_desc,		spec_lookup },
+	{ &vop_create_desc,		spec_create },
+	{ &vop_mknod_desc,		spec_mknod },
+	{ &vop_open_desc,		

CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-03-18 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Mon Mar 18 09:22:15 UTC 2019

Modified Files:
src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_ctldir.c
zfs_vfsops.c
src/external/cddl/osnet/dist/uts/common/fs/zfs/sys: zfs_ctldir.h

Log Message:
Make ZFS exportable by NFS, implement zfsctl_vptofh(),
zfs_netbsd_vptofh() and zfs_netbsd_fhtovp().

Undo changes to now completely unused zfs_fhtovp().


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c
cvs rdiff -u -r1.20 -r1.21 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_ctldir.h

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_ctldir.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.8 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.9
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.8	Mon Mar 18 09:21:31 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c	Mon Mar 18 09:22:14 2019
@@ -1885,6 +1885,33 @@ zfsctl_loadvnode(vfs_t *vfsp, vnode_t *v
 	return 0;
 }
 
+int
+zfsctl_vptofh(vnode_t *vp, fid_t *fidp, size_t *fh_size)
+{
+	struct sfs_node *node = VTOSFS(vp);
+	uint64_t object = node->sn_id;
+	zfid_short_t *zfid = (zfid_short_t *)fidp;
+	int i;
+
+	SFS_NODE_ASSERT(vp);
+
+	if (*fh_size < SHORT_FID_LEN) {
+		*fh_size = SHORT_FID_LEN;
+		return SET_ERROR(E2BIG);
+	}
+	*fh_size = SHORT_FID_LEN;
+
+	zfid->zf_len = SHORT_FID_LEN;
+	for (i = 0; i < sizeof(zfid->zf_object); i++)
+		zfid->zf_object[i] = (uint8_t)(object >> (8 * i));
+
+	/* .zfs nodes always have a generation number of 0 */
+	for (i = 0; i < sizeof(zfid->zf_gen); i++)
+		zfid->zf_gen[i] = 0;
+
+	return 0;
+}
+
 /*
  * Return the ".zfs" vnode.
  */

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.20 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.21
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.20	Mon Mar 18 09:20:58 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c	Mon Mar 18 09:22:14 2019
@@ -136,7 +136,8 @@ static int zfs_umount(vfs_t *vfsp, int f
 static int zfs_root(vfs_t *vfsp, int flags, vnode_t **vpp);
 static int zfs_netbsd_root(vfs_t *vfsp, vnode_t **vpp);
 static int zfs_statvfs(vfs_t *vfsp, struct statvfs *statp);
-static int zfs_fhtovp(vfs_t *vfsp, fid_t *fidp, vnode_t **vpp);
+static int zfs_netbsd_vptofh(vnode_t *vp, fid_t *fidp, size_t *fh_size);
+static int zfs_netbsd_fhtovp(vfs_t *vfsp, fid_t *fidp, vnode_t **vpp);
 static int zfs_vget(vfs_t *vfsp, ino_t ino, vnode_t **vpp);
 static int zfs_sync(vfs_t *vfsp, int waitfor);
 static int zfs_netbsd_sync(vfs_t *vfsp, int waitfor, cred_t *cr);
@@ -172,8 +173,8 @@ struct vfsops zfs_vfsops = {
 	.vfs_renamelock_enter = genfs_renamelock_enter,
 	.vfs_renamelock_exit = genfs_renamelock_exit,
 	.vfs_reinit = (void *)nullop,
-	.vfs_vptofh = (void *)eopnotsupp,
-	.vfs_fhtovp = (void *)eopnotsupp,
+	.vfs_vptofh = zfs_netbsd_vptofh,
+	.vfs_fhtovp = zfs_netbsd_fhtovp,
 	.vfs_quotactl = (void *)eopnotsupp,
 	.vfs_extattrctl = (void *)eopnotsupp,
 	.vfs_suspendctl = genfs_suspendctl,
@@ -254,6 +255,171 @@ zfs_netbsd_root(vfs_t *vfsp, vnode_t **v
 	return zfs_root(vfsp, LK_EXCLUSIVE | LK_RETRY, vpp);
 }
 
+static int
+zfs_netbsd_vptofh(vnode_t *vp, fid_t *fidp, size_t *fh_size)
+{
+	znode_t		*zp;
+	zfsvfs_t	*zfsvfs;
+	uint32_t	gen;
+	uint64_t	gen64;
+	uint64_t	object;
+	zfid_short_t	*zfid;
+	int		size, i, error;
+
+	if (zfsctl_is_node(vp))
+		return zfsctl_vptofh(vp, fidp, fh_size);
+
+	zp = VTOZ(vp);
+	zfsvfs = zp->z_zfsvfs;
+	object = zp->z_id;
+
+	ZFS_ENTER(zfsvfs);
+	ZFS_VERIFY_ZP(zp);
+
+	if ((error = sa_lookup(zp->z_sa_hdl, SA_ZPL_GEN(zfsvfs),
+	&gen64, sizeof (uint64_t))) != 0) {
+		ZFS_EXIT(zfsvfs);
+		return (error);
+	}
+
+	gen = (uint32_t)gen64;
+
+	size = (zfsvfs->z_parent != zfsvfs) ? LONG_FID_LEN : SHORT_FID_LEN;
+
+	if (*fh_size < size) {
+		ZFS_EXIT(zfsvfs);
+		*fh_size = size;
+		return SET_ERROR(E2BIG);
+	}
+	*fh_size = size;
+
+	zfid = (zfid_short_t *)fidp;
+
+	zfid->zf_len = size;
+
+	for (i = 0; i < sizeof (zfid->zf_object); i++)
+		zfid->zf_object[i] = (uint8_t)(object >> (8 * i));
+
+	/* Must have a non-zero generation number to distinguish from .zfs */
+	if (gen == 0)
+		gen = 1;
+	for (i = 0; i < sizeof (zfid->zf_gen); i++)
+		zfid->zf_gen[i] = (uint8_t)(gen >> (8 * i));
+
+	if (size == LONG_FID_LEN) {
+		uint64_t	objsetid = dmu_objset_id(zfsvfs->z_os);
+		zfid_long_t	*zlfid;
+
+		zlfid = (zfid_long_t *)fidp;
+
+		for (i = 0; i < sizeof (zlfid->zf_setid); i++)
+			zlfid->zf_setid[i] = (uint8_t)(objsetid >> (8 * i));
+
+		/* XXX - this should be the generation 

CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-03-18 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Mon Mar 18 09:21:31 UTC 2019

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

Log Message:
Implement zfsctl_lookup_objset() to look up "zfsvfs" of an mounted snapshot.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.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_ctldir.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.7 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.8
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.7	Mon Mar 18 09:20:58 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c	Mon Mar 18 09:21:31 2019
@@ -1946,8 +1946,23 @@ zfsctl_destroy(zfsvfs_t *zfsvfs)
 int
 zfsctl_lookup_objset(vfs_t *vfsp, uint64_t objsetid, zfsvfs_t **zfsvfsp)
 {
+	struct sfs_node_key key = {
+		.parent_id = ZFSCTL_INO_SNAPDIR,
+		.id = objsetid
+	};
+	vnode_t *vp;
+	int error;
 
-	return EINVAL;
+	*zfsvfsp = NULL;
+	error = vcache_get(vfsp, &key, sizeof(key), &vp);
+	if (error == 0) {
+		if (vp->v_mountedhere)
+			*zfsvfsp = vp->v_mountedhere->mnt_data;
+		vrele(vp);
+	}
+	if (*zfsvfsp == NULL)
+		return SET_ERROR(EINVAL);
+	return 0;
 }
 
 int



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-03-18 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Mon Mar 18 09:20:58 UTC 2019

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

Log Message:
Set "mnt_stat.f_fsid" and "mnt_stat.f_fsidx" from the objset guid
like FreeBSD and Illumos do.

Use "f_fsid" for "va_fsid" and cheat NFSD to export snapshots under
".zfs" by setting these snaphots "f_fsidx" to the parents "f_fsidx".


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c
cvs rdiff -u -r1.19 -r1.20 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
cvs rdiff -u -r1.46 -r1.47 \
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_ctldir.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.6 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.7
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.6	Wed Feb 20 10:08:37 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c	Mon Mar 18 09:20:58 2019
@@ -1335,7 +1335,9 @@ sfs_snapshot_mount(vnode_t *vp, const ch
 	if (error)
 		goto out;
 
-	vfs_getnewfsid(vfsp);
+	/* Set f_fsidx from parent to cheat NFSD. */
+	vfsp->mnt_stat.f_fsidx = vp->v_vfsp->mnt_stat.f_fsidx;
+
 	strlcpy(vfsp->mnt_stat.f_mntfromname, osname,
 	sizeof(vfsp->mnt_stat.f_mntfromname));
 	set_statvfs_info(path, UIO_SYSSPACE, vfsp->mnt_stat.f_mntfromname,
@@ -1622,7 +1624,7 @@ sfs_getattr(void *v)
 	vap->va_nlink = 2;
 	vap->va_uid = 0;
 	vap->va_gid = 0;
-	vap->va_fsid = vp->v_vfsp->mnt_stat.f_fsidx.__fsid_val[0];
+	vap->va_fsid = vp->v_vfsp->mnt_stat.f_fsid;
 	vap->va_fileid = node->sn_id;
 	vap->va_size = 0;
 	vap->va_blocksize = 0;

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.19 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.20
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.19	Tue Feb  5 09:54:36 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c	Mon Mar 18 09:20:58 2019
@@ -1374,7 +1374,9 @@ zfs_domount(vfs_t *vfsp, char *osname)
 #endif
 #ifdef __NetBSD__
 	vfsp->mnt_stat.f_fsidx.__fsid_val[0] = fsid_guid;
-	vfsp->mnt_stat.f_fsidx.__fsid_val[1] = fsid_guid >> 32;
+	vfsp->mnt_stat.f_fsidx.__fsid_val[1] = ((fsid_guid>>32) << 8) |
+	makefstype(vfsp->mnt_op->vfs_name) & 0xFF;
+	vfsp->mnt_stat.f_fsid = fsid_guid;
 #endif
 
 	/*
@@ -1962,8 +1964,6 @@ zfs_mount(vfs_t *vfsp, const char *path,
 #endif
 
 #ifdef __NetBSD__
-	vfs_getnewfsid(vfsp);
-
 	/* setup zfs mount info */
 	strlcpy(vfsp->mnt_stat.f_mntfromname, osname,
 	sizeof(vfsp->mnt_stat.f_mntfromname));
@@ -2036,7 +2036,8 @@ zfs_statvfs(vfs_t *vfsp, struct statvfs 
 	statp->f_fsid = d32;
 #endif
 #ifdef __NetBSD__
-	statp->f_fsid = vfsp->mnt_stat.f_fsidx.__fsid_val[0];
+	statp->f_fsid = vfsp->mnt_stat.f_fsid;
+	statp->f_fsidx = vfsp->mnt_stat.f_fsidx;
 #endif
 
 	/*

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.46 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.47
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.46	Mon Mar 18 09:20:15 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Mon Mar 18 09:20:58 2019
@@ -3073,7 +3073,7 @@ zfs_getattr(vnode_t *vp, vattr_t *vap, i
 	vap->va_nodeid = zp->z_id;
 #endif
 #ifdef __NetBSD__
-	vap->va_fsid = vp->v_mount->mnt_stat.f_fsidx.__fsid_val[0];
+	vap->va_fsid = vp->v_mount->mnt_stat.f_fsid;
 	vap->va_nodeid = zp->z_id;
 	/*
 	 * If we are a snapshot mounted under .zfs, return



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-03-18 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Mon Mar 18 09:20:15 UTC 2019

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

Log Message:
As zfs_netbsd_getpages() ignores "a_count" and processes exactly one page
return an error if "a_count != 1".


To generate a diff of this commit:
cvs rdiff -u -r1.45 -r1.46 \
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.45 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.46
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.45	Mon Mar 18 09:19:39 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Mon Mar 18 09:20:15 2019
@@ -5844,6 +5844,9 @@ zfs_netbsd_getpages(void *v)
 	if (async) {
 		return 0;
 	}
+	if (*ap->a_count != 1) {
+		return EBUSY;
+	}
 
 	ZFS_ENTER(zfsvfs);
 	ZFS_VERIFY_ZP(zp);



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-03-18 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Mon Mar 18 09:19:39 UTC 2019

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

Log Message:
Change zfs_readdir() to use malloc() instead of kmem_alloc() to
allocate cookies.  Required by protocol, caller uses free().


To generate a diff of this commit:
cvs rdiff -u -r1.44 -r1.45 \
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.44 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.45
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.44	Tue Feb  5 09:54:36 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Mon Mar 18 09:19:39 2019
@@ -85,6 +85,7 @@
 #include 
 #include 
 #include 
+#include 
 
 uint_t zfs_putpage_key;
 #endif
@@ -2754,7 +2755,7 @@ zfs_readdir(vnode_t *vp, uio_t *uio, cre
 #endif
 #ifdef __NetBSD__
 		ncooks = uio->uio_resid / _DIRENT_MINSIZE(odp);
-		cooks = kmem_alloc(ncooks * sizeof(off_t), KM_SLEEP);
+		cooks = malloc(ncooks * sizeof(off_t), M_TEMP, M_WAITOK);
 #endif
 		*cookies = cooks;
 		*ncookies = ncooks;



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-02-22 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Fri Feb 22 09:01:32 UTC 2019

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

Log Message:
Always set "cn_namelen" in addition to "cn_nameptr".

Fix vnode locking for REMOVE, RMDIR and RENAME.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_replay.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_replay.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_replay.c:1.11 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_replay.c:1.12
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_replay.c:1.11	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_replay.c	Fri Feb 22 09:01:32 2019
@@ -501,6 +501,9 @@ zfs_replay_create(zfsvfs_t *zfsvfs, lr_c
 			name = (char *)start;
 
 		cn.cn_nameptr = name;
+#ifdef __NetBSD__
+		cn.cn_namelen = strlen(name);
+#endif
 		error = VOP_CREATE(ZTOV(dzp), &vp, &cn, &xva.xva_vattr /*,vflg*/);
 		break;
 	case TX_MKDIR_ATTR:
@@ -519,6 +522,9 @@ zfs_replay_create(zfsvfs_t *zfsvfs, lr_c
 			name = (char *)(lr + 1);
 
 		cn.cn_nameptr = name;
+#ifdef __NetBSD__
+		cn.cn_namelen = strlen(name);
+#endif
 		error = VOP_MKDIR(ZTOV(dzp), &vp, &cn, &xva.xva_vattr /*,vflg*/);
 		break;
 	case TX_MKXATTR:
@@ -528,6 +534,9 @@ zfs_replay_create(zfsvfs_t *zfsvfs, lr_c
 		name = (char *)(lr + 1);
 		link = name + strlen(name) + 1;
 		cn.cn_nameptr = name;
+#ifdef __NetBSD__
+		cn.cn_namelen = strlen(name);
+#endif
 		error = VOP_SYMLINK(ZTOV(dzp), &vp, &cn, &xva.xva_vattr, link /*,vflg*/);
 		break;
 	default:
@@ -585,7 +594,7 @@ zfs_replay_remove(zfsvfs_t *zfsvfs, lr_r
 		goto fail;
 	}
 #ifdef __NetBSD__
-	VOP_UNLOCK(vp, 0);
+	vn_lock(vp, LK_EXCLUSIVE | LK_RETRY);
 #endif
 
 	switch ((int)lr->lr_common.lrc_txtype) {
@@ -596,11 +605,12 @@ zfs_replay_remove(zfsvfs_t *zfsvfs, lr_r
 		error = VOP_RMDIR(ZTOV(dzp), vp, &cn /*,vflg*/);
 		break;
 	default:
+#ifdef __NetBSD__
+		vput(vp);
+#endif
 		error = SET_ERROR(ENOTSUP);
 	}
-#ifdef __NetBSD__
-	vrele(vp);
-#else
+#ifndef __NetBSD__
 	vput(vp);
 #endif
 	VOP_UNLOCK(ZTOV(dzp), 0);
@@ -635,6 +645,9 @@ zfs_replay_link(zfsvfs_t *zfsvfs, lr_lin
 		vflg |= FIGNORECASE;
 
 	cn.cn_nameptr = name;
+#ifdef __NetBSD__
+	cn.cn_namelen = strlen(name);
+#endif
 	cn.cn_cred = kcred;
 #ifndef __NetBSD__
 	cn.cn_thread = curthread;
@@ -698,7 +711,9 @@ zfs_replay_rename(zfsvfs_t *zfsvfs, lr_r
 	VOP_UNLOCK(ZTOV(sdzp), 0);
 	if (error != 0)
 		goto fail;
+#ifndef __NetBSD__
 	VOP_UNLOCK(svp, 0);
+#endif
 
 	tcn.cn_nameptr = tname;
 	tcn.cn_namelen = strlen(tname);
@@ -718,7 +733,8 @@ zfs_replay_rename(zfsvfs_t *zfsvfs, lr_r
 		goto fail;
 	}
 #ifdef __NetBSD__
-	vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY);
+	if (tvp != NULL)
+		vn_lock(tvp, LK_EXCLUSIVE | LK_RETRY);
 #endif
 
 	error = VOP_RENAME(ZTOV(sdzp), svp, &scn, ZTOV(tdzp), tvp, &tcn /*,vflg*/);



CVS commit: src/external/cddl/osnet/dev/dtrace/i386

2019-02-13 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Wed Feb 13 08:46:40 UTC 2019

Modified Files:
src/external/cddl/osnet/dev/dtrace/i386: dtrace_subr.c

Log Message:
Fix DIAGNOSTIC build; replace FreeBSD-specific function with ours.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.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/dev/dtrace/i386/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.11 src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.12
--- src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.11	Mon Jun  4 21:35:29 2018
+++ src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c	Wed Feb 13 08:46:40 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.11 2018/06/04 21:35:29 christos Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.12 2019/02/13 08:46:40 rin Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -424,7 +424,8 @@ dtrace_trap(struct trapframe *frame, u_i
 	 */
 	nofault = (cpu_core[cpuid].cpuc_dtrace_flags & CPU_DTRACE_NOFAULT) != 0;
 	if (nofault) {
-		KASSERTMSG((read_eflags() & PSL_I) == 0, "interrupts enabled");
+		KASSERTMSG((x86_read_flags() & PSL_I) == 0,
+		"interrupts enabled");
 
 		/*
 		 * There are only a couple of trap types that are expected.



CVS commit: src/external/cddl/osnet/dev/lockstat

2019-02-12 Thread Rin Okuyama
Module Name:src
Committed By:   rin
Date:   Tue Feb 12 14:31:45 UTC 2019

Modified Files:
src/external/cddl/osnet/dev/lockstat: lockstat.c

Log Message:
Fix build with DIAGNOSTIC:
ASSERT() is enabled ifdef DEBUG, not DIAGNOSTIC.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/cddl/osnet/dev/lockstat/lockstat.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/dev/lockstat/lockstat.c
diff -u src/external/cddl/osnet/dev/lockstat/lockstat.c:1.9 src/external/cddl/osnet/dev/lockstat/lockstat.c:1.10
--- src/external/cddl/osnet/dev/lockstat/lockstat.c:1.9	Mon May 28 21:05:03 2018
+++ src/external/cddl/osnet/dev/lockstat/lockstat.c	Tue Feb 12 14:31:45 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: lockstat.c,v 1.9 2018/05/28 21:05:03 chs Exp $	*/
+/*	$NetBSD: lockstat.c,v 1.10 2019/02/12 14:31:45 rin Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -26,7 +26,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: lockstat.c,v 1.9 2018/05/28 21:05:03 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lockstat.c,v 1.10 2019/02/12 14:31:45 rin Exp $");
 
 #include 
 #include 
@@ -210,7 +210,7 @@ static int
 lockstat_fini(void)
 {
 	int error;
-	bool ok __diagused;
+	bool ok __debugused;
 
 	error = dtrace_unregister(lockstat_id);
 	if (error) {



CVS commit: src/external/cddl/osnet/lib/libdtrace

2019-02-11 Thread Tobias Nygren
Module Name:src
Committed By:   tnn
Date:   Mon Feb 11 17:49:37 UTC 2019

Modified Files:
src/external/cddl/osnet/lib/libdtrace: Makefile

Log Message:
-Wno-format-truncation is only needed when using GCC


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 src/external/cddl/osnet/lib/libdtrace/Makefile

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/lib/libdtrace/Makefile
diff -u src/external/cddl/osnet/lib/libdtrace/Makefile:1.20 src/external/cddl/osnet/lib/libdtrace/Makefile:1.21
--- src/external/cddl/osnet/lib/libdtrace/Makefile:1.20	Wed Feb  6 04:23:16 2019
+++ src/external/cddl/osnet/lib/libdtrace/Makefile	Mon Feb 11 17:49:37 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.20 2019/02/06 04:23:16 christos Exp $
+#	$NetBSD: Makefile,v 1.21 2019/02/11 17:49:37 tnn Exp $
 
 # $FreeBSD: head/cddl/lib/libdtrace/Makefile 314654 2017-03-04 11:30:04Z ngie $
 
@@ -105,7 +105,7 @@ CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/
 CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/uts/arm
 .PATH:		${.CURDIR}/../../dist/lib/libdtrace/arm
 .endif
-COPTS.dt_link.c	+= -Wno-format-truncation
+COPTS.dt_link.c	+= ${${ACTIVE_CC} == "gcc" :? -Wno-format-truncation :}
 
 LFLAGS+=-l
 



CVS commit: src/external/cddl/osnet/sys/sys

2019-02-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Feb  6 17:56:57 UTC 2019

Modified Files:
src/external/cddl/osnet/sys/sys: cred.h

Log Message:
use sizeof() properly (gcc-7)


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/cddl/osnet/sys/sys/cred.h

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/sys/sys/cred.h
diff -u src/external/cddl/osnet/sys/sys/cred.h:1.5 src/external/cddl/osnet/sys/sys/cred.h:1.6
--- src/external/cddl/osnet/sys/sys/cred.h:1.5	Mon May 28 17:05:10 2018
+++ src/external/cddl/osnet/sys/sys/cred.h	Wed Feb  6 12:56:57 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: cred.h,v 1.5 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: cred.h,v 1.6 2019/02/06 17:56:57 christos Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek 
@@ -66,7 +66,7 @@ crgetgroups(cred_t *cr)
 {
 	static gid_t gids[NGROUPS_MAX];
 
-	memset(gids, 0, NGROUPS_MAX);
+	memset(gids, 0, sizeof(gids));
 	if (kauth_cred_getgroups(cr, gids, NGROUPS_MAX, UIO_SYSSPACE) != 0) 
 		return NULL;
 	



CVS commit: src/external/cddl/osnet/lib/libdtrace

2019-02-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Wed Feb  6 04:23:16 UTC 2019

Modified Files:
src/external/cddl/osnet/lib/libdtrace: Makefile

Log Message:
uses the idiom len = snprintf(&tmp, 1, ...) to compute length.
needs -Wno-format-truncation


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/external/cddl/osnet/lib/libdtrace/Makefile

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/lib/libdtrace/Makefile
diff -u src/external/cddl/osnet/lib/libdtrace/Makefile:1.19 src/external/cddl/osnet/lib/libdtrace/Makefile:1.20
--- src/external/cddl/osnet/lib/libdtrace/Makefile:1.19	Thu Jun  7 09:21:44 2018
+++ src/external/cddl/osnet/lib/libdtrace/Makefile	Tue Feb  5 23:23:16 2019
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.19 2018/06/07 13:21:44 kamil Exp $
+#	$NetBSD: Makefile,v 1.20 2019/02/06 04:23:16 christos Exp $
 
 # $FreeBSD: head/cddl/lib/libdtrace/Makefile 314654 2017-03-04 11:30:04Z ngie $
 
@@ -105,6 +105,7 @@ CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/
 CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/uts/arm
 .PATH:		${.CURDIR}/../../dist/lib/libdtrace/arm
 .endif
+COPTS.dt_link.c	+= -Wno-format-truncation
 
 LFLAGS+=-l
 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-02-05 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Tue Feb  5 09:55:48 UTC 2019

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

Log Message:
Implement the ZFS control directory ".zfs" and its subdirectory 'snapshot".

Automatically mount snapshots on access of ".zfs/snapshot/".


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.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_ctldir.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.4 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.5
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c:1.4	Tue Feb  5 09:54:36 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ctldir.c	Tue Feb  5 09:55:48 2019
@@ -1261,14 +1261,584 @@ zfsctl_umount_snapshots(vfs_t *vfsp, int
 
 #ifdef __NetBSD__
 
+#include 
+#include 
 #include 
+#include 
 #include 
 #include 
+#include 
+#include 
+
+struct zfsctl_root {
+	timestruc_t zc_cmtime;
+};
+
+struct sfs_node_key {
+	uint64_t parent_id;
+	uint64_t id;
+};
+struct sfs_node {
+	struct sfs_node_key sn_key;
+#define sn_parent_id sn_key.parent_id
+#define sn_id sn_key.id
+	lwp_t *sn_mounting;
+};
+
+#define ZFS_SNAPDIR_NAME "snapshot"
+
+#define VTOSFS(vp) ((struct sfs_node *)((vp)->v_data))
+
+#define SFS_NODE_ASSERT(vp) \
+	do { \
+		struct sfs_node *np = VTOSFS(vp); \
+		ASSERT((vp)->v_op == zfs_sfsop_p); \
+		ASSERT((vp)->v_type == VDIR); \
+	} while (/*CONSTCOND*/ 0)
 
 static int (**zfs_sfsop_p)(void *);
 
-static const struct vnodeopv_entry_desc zfs_sfsop_entries[] = {
+/*
+ * Mount a snapshot.  Cannot use do_sys_umount() as it
+ * doesn't allow its "path" argument from SYSSPACE.
+ */
+static int
+sfs_snapshot_mount(vnode_t *vp, const char *snapname)
+{
+	struct sfs_node *node = VTOSFS(vp);
+	zfsvfs_t *zfsvfs = vp->v_vfsp->vfs_data;
+	vfs_t *vfsp;
+	char *path, *osname;
+	int error;
+	extern int zfs_domount(vfs_t *, char *);
+
+	path = PNBUF_GET();
+	osname = PNBUF_GET();
+
+	dmu_objset_name(zfsvfs->z_os, path);
+	snprintf(osname, MAXPATHLEN, "%s@%s", path, snapname);
+	snprintf(path, MAXPATHLEN,
+	"%s/" ZFS_CTLDIR_NAME "/" ZFS_SNAPDIR_NAME "/%s",
+	vp->v_vfsp->mnt_stat.f_mntonname, snapname);
+
+	vfsp = vfs_mountalloc(vp->v_vfsp->mnt_op, vp);
+	if (vfsp == NULL) {
+		error = ENOMEM;
+		goto out;
+	}
+	vfsp->mnt_op->vfs_refcount++;
+	vfsp->mnt_stat.f_owner = 0;
+	vfsp->mnt_flag = MNT_RDONLY | MNT_NOSUID | MNT_IGNORE;
+
+	mutex_enter(&vfsp->mnt_updating);
+
+	error = zfs_domount(vfsp, osname);
+	if (error)
+		goto out;
+
+	vfs_getnewfsid(vfsp);
+	strlcpy(vfsp->mnt_stat.f_mntfromname, osname,
+	sizeof(vfsp->mnt_stat.f_mntfromname));
+	set_statvfs_info(path, UIO_SYSSPACE, vfsp->mnt_stat.f_mntfromname,
+	UIO_SYSSPACE, vfsp->mnt_op->vfs_name, vfsp, curlwp);
+
+	vfsp->mnt_lower = vp->v_vfsp;
+
+	mountlist_append(vfsp);
+	vref(vp);
+	vp->v_mountedhere = vfsp;
+
+	mutex_exit(&vfsp->mnt_updating);
+	(void) VFS_STATVFS(vfsp, &vfsp->mnt_stat);
+
+out:;
+	if (error && vfsp) {
+		mutex_exit(&vfsp->mnt_updating);
+		fstrans_unmount(vfsp);
+		vfs_rele(vfsp);
+	}
+	PNBUF_PUT(osname);
+	PNBUF_PUT(path);
+
+	return error;
+}
+
+static int
+sfs_lookup_snapshot(vnode_t *dvp, struct componentname *cnp, vnode_t **vpp)
+{
+	zfsvfs_t *zfsvfs = dvp->v_vfsp->vfs_data;
+	vnode_t *vp;
+	struct sfs_node *node;
+	struct sfs_node_key key;
+	char snapname[ZFS_MAX_DATASET_NAME_LEN];
+	int error;
+
+	/* Retrieve the snapshot object id and the to be mounted on vnode. */
+	if (cnp->cn_namelen >= sizeof(snapname))
+		return ENOENT;
+
+	strlcpy(snapname, cnp->cn_nameptr, cnp->cn_namelen + 1);
+	error = dsl_dataset_snap_lookup( dmu_objset_ds(zfsvfs->z_os),
+	snapname, &key.id);
+	if (error)
+		return error;
+	key.parent_id = ZFSCTL_INO_SNAPDIR;
+	error = vcache_get(zfsvfs->z_vfs, &key, sizeof(key), vpp);
+	if (error)
+		return error;
+
+	/* Handle case where the vnode is currently mounting. */
+	vp = *vpp;
+	mutex_enter(vp->v_interlock);
+	node = VTOSFS(vp);
+	if (node->sn_mounting) {
+		if (node->sn_mounting == curlwp)
+			error = 0;
+		else
+			error = ERESTART;
+		mutex_exit(vp->v_interlock);
+		if (error)
+			yield();
+		return error;
+	}
+
+	/* If not yet mounted mount the snapshot. */
+	if (vp->v_mountedhere == NULL) {
+		ASSERT(node->sn_mounting == NULL);
+		node->sn_mounting = curlwp;
+		mutex_exit(vp->v_interlock);
+
+		VOP_UNLOCK(dvp, 0);
+		error = sfs_snapshot_mount(vp, snapname);
+		if (vn_lock(dvp, LK_EXCLUSIVE) != 0) {
+			vn_lock(dvp, LK_EXCLUSIVE | LK_RETRY);
+			error = ENOENT;
+		}
+
+		mutex_enter(vp->v_interlock);
+		if ((node = VTOSFS(vp)))
+			node->sn_mounting = NULL;
+		mutex_exit(vp->v_interlock);
+
+		if (error) {
+			vrele(vp);
+			*vpp = NULL;
+			return error;
+		}
+	} else
+		mutex_exit(vp->v_interlock

CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-02-05 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Tue Feb  5 09:50:18 UTC 2019

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

Log Message:
zfs_netbsd_reclaim(): validate "z_log" before zil_commit().


To generate a diff of this commit:
cvs rdiff -u -r1.42 -r1.43 \
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.42 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.43
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.42	Sat Jan  5 09:20:29 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Tue Feb  5 09:50:18 2019
@@ -5680,7 +5680,8 @@ zfs_netbsd_reclaim(void *v)
 		}
 	}
 
-	zil_commit(zfsvfs->z_log, zp->z_id);
+	if (zfsvfs->z_log)
+		zil_commit(zfsvfs->z_log, zp->z_id);
 
 	if (zp->z_sa_hdl == NULL)
 		zfs_znode_free(zp);



CVS commit: src/external/cddl/osnet/lib/libzfs

2019-01-12 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sat Jan 12 10:44:05 UTC 2019

Modified Files:
src/external/cddl/osnet/lib/libzfs: zmount.c

Log Message:
Pass unmount flags down to syscall, "zfs unmount -f" now works.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/cddl/osnet/lib/libzfs/zmount.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/lib/libzfs/zmount.c
diff -u src/external/cddl/osnet/lib/libzfs/zmount.c:1.1 src/external/cddl/osnet/lib/libzfs/zmount.c:1.2
--- src/external/cddl/osnet/lib/libzfs/zmount.c:1.1	Fri Aug  7 20:57:56 2009
+++ src/external/cddl/osnet/lib/libzfs/zmount.c	Sat Jan 12 10:44:05 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: zmount.c,v 1.1 2009/08/07 20:57:56 haad Exp $	*/
+/*	$NetBSD: zmount.c,v 1.2 2019/01/12 10:44:05 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -69,5 +69,5 @@ int
 umount2(const char *spec, int mflag)
 {
 
-	return unmount(spec, 0);
+	return unmount(spec, mflag);
 }



CVS commit: src/external/cddl/osnet/sys/sys

2019-01-12 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sat Jan 12 10:44:36 UTC 2019

Modified Files:
src/external/cddl/osnet/sys/sys: vnode.h

Log Message:
Allow zfs_vn_rdwr() with "rw == UIO_READ" too.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 src/external/cddl/osnet/sys/sys/vnode.h

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/sys/sys/vnode.h
diff -u src/external/cddl/osnet/sys/sys/vnode.h:1.14 src/external/cddl/osnet/sys/sys/vnode.h:1.15
--- src/external/cddl/osnet/sys/sys/vnode.h:1.14	Mon May 28 21:05:10 2018
+++ src/external/cddl/osnet/sys/sys/vnode.h	Sat Jan 12 10:44:36 2019
@@ -1,5 +1,5 @@
 
-/*	$NetBSD: vnode.h,v 1.14 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: vnode.h,v 1.15 2019/01/12 10:44:36 hannken Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -277,7 +277,7 @@ zfs_vn_rdwr(enum uio_rw rw, vnode_t *vp,
 	int error;
 	size_t resid;
 
-	ASSERT(rw == UIO_WRITE);
+	ASSERT(rw == UIO_READ || rw == UIO_WRITE);
 	ASSERT(ioflag == 0);
 	ASSERT(ulimit == RLIM64_INFINITY);
 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-01-12 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sat Jan 12 10:43:33 UTC 2019

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

Log Message:
The ZFS onexit routines expect opening ZFS_DEV with O_EXCL to return
a cloned device with an unique minor number.

Use fd_clone() on this condition to return a cloned device descriptor.


To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_onexit.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_ioctl.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.14 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.15
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.14	Tue Jan  1 10:08:01 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c	Sat Jan 12 10:43:33 2019
@@ -6205,6 +6205,8 @@ zfs_ctldev_init(dev_t *devp)
 
 #ifdef __FreeBSD__
 	devfs_set_cdevpriv((void *)(uintptr_t)minor, zfsdev_close);
+#else
+	*devp = makedev(major(*devp), minor);
 #endif
 
 	zs = ddi_get_soft_state(zfsdev_state, minor);
@@ -6973,11 +6975,52 @@ MODULE_DEPEND(zfsctrl, acl_nfs4, 1, 1, 1
 
 MODULE(MODULE_CLASS_DRIVER, zfs, "solaris");
 
+static const struct fileops zfs_fileops;
+
+static int
+nb_zfsdev_fioctl(struct file *fp,  u_long cmd, void *argp)
+{
+	dev_t dev = (dev_t)(uintptr_t)fp->f_data;
+	int rval;
+
+	return zfsdev_ioctl(dev, cmd, (intptr_t)argp, fp->f_flag,
+	kauth_cred_get(), &rval);
+}
+
+static int
+nb_zfsdev_fclose(struct file *fp)
+{
+	dev_t dev = (dev_t)(uintptr_t)fp->f_data;
+	int error;
+
+	return zfsdev_close(dev, fp->f_flag, OTYPCHR, fp->f_cred);
+}
+
 static int
 nb_zfsdev_copen(dev_t dev, int flag, int mode, lwp_t *l)
 {
+	const bool must_clone = (getminor(dev) == 0 && (flag & FEXCL) != 0);
+	struct file *fp;
+	int error, fd;
+
+	if (must_clone) {
+		error = fd_allocfile(&fp, &fd);
+		if (error)
+			return error;
+	}
+
+	error = zfsdev_open(&dev, flag, OTYPCHR, kauth_cred_get());
 
-	return zfsdev_open(&dev, flag, OTYPCHR, kauth_cred_get());
+	if (must_clone) {
+		if (error) {
+			fd_abort(curproc, fp, fd);
+			return error;
+		}
+		return fd_clone(fp, fd, flag, &zfs_fileops,
+		(void *)(uintptr_t)dev);
+	}
+
+	return error;
 }
 
 static int
@@ -7031,6 +7074,19 @@ nb_zvol_strategy(struct buf *bp)
 	(void) zvol_strategy(bp);
 }
 
+static const struct fileops zfs_fileops = {
+	.fo_name = "zfs",
+	.fo_read = fbadop_read,
+	.fo_write = fbadop_write,
+	.fo_ioctl = nb_zfsdev_fioctl,
+	.fo_fcntl = fnullop_fcntl,
+	.fo_poll = fnullop_poll,
+	.fo_stat = fbadop_stat,
+	.fo_close = nb_zfsdev_fclose,
+	.fo_kqfilter = fnullop_kqfilter,
+	.fo_restart = fnullop_restart,
+};
+
 const struct bdevsw zfs_bdevsw = {
 	.d_open = nb_zfsdev_bopen,
 	.d_close = nb_zfsdev_bclose,

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_onexit.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_onexit.c:1.2 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_onexit.c:1.3
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_onexit.c:1.2	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_onexit.c	Sat Jan 12 10:43:33 2019
@@ -146,7 +146,8 @@ zfs_onexit_fd_hold(int fd, minor_t *mino
 	if (fp == NULL)
 		return (SET_ERROR(EBADF));
 
-	*minorp = getminor(fp->f_vnode->v_rdev);
+	ASSERT(strcmp(fp->f_ops->fo_name, "zfs") == 0);
+	*minorp = minor((dev_t)(uintptr_t)fp->f_data);
 #endif
 
 	return (zfs_onexit_minor_to_state(*minorp, &zo));



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-01-12 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sat Jan 12 10:42:09 UTC 2019

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

Log Message:
Need FOF_UPDATE_OFFSET to update the offset on plain files.

Running "zfs send" to plain files no longer writes garbage.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.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/dmu_send.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c:1.2 src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c:1.3
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c:1.2	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_send.c	Sat Jan 12 10:42:09 2019
@@ -72,6 +72,8 @@ static int
 fo_write(struct file *fp, struct uio *uio, cred_t *cred, int flags, kthread_t *thr)
 {
 
+	if (fp->f_type == DTYPE_VNODE)
+		flags |= FOF_UPDATE_OFFSET;
 	return (*fp->f_ops->fo_write)(fp, &fp->f_offset, uio, cred, flags);
 }
 
@@ -79,6 +81,8 @@ static int
 fo_read(struct file *fp, struct uio *uio, cred_t *cred, int flags, kthread_t *thr)
 {
 
+	if (fp->f_type == DTYPE_VNODE)
+		flags |= FOF_UPDATE_OFFSET;
 	return (*fp->f_ops->fo_read)(fp, &fp->f_offset, uio, cred, flags);
 }
 #endif



CVS commit: src/external/cddl/osnet/sys/kern

2019-01-12 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sat Jan 12 10:42:40 UTC 2019

Modified Files:
src/external/cddl/osnet/sys/kern: taskq.c

Log Message:
Disable valid assertion "!(flags & TQ_NOQUEUE)" as "zfs send" triggers it.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/cddl/osnet/sys/kern/taskq.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/sys/kern/taskq.c
diff -u src/external/cddl/osnet/sys/kern/taskq.c:1.7 src/external/cddl/osnet/sys/kern/taskq.c:1.8
--- src/external/cddl/osnet/sys/kern/taskq.c:1.7	Mon May 28 21:05:09 2018
+++ src/external/cddl/osnet/sys/kern/taskq.c	Sat Jan 12 10:42:40 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: taskq.c,v 1.7 2018/05/28 21:05:09 chs Exp $	*/
+/*	$NetBSD: taskq.c,v 1.8 2019/01/12 10:42:40 hannken Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -1001,7 +1001,9 @@ taskq_dispatch(taskq_t *tq, task_func_t 
 		/*
 		 * TQ_NOQUEUE flag can't be used with non-dynamic task queues.
 		 */
+#ifdef notyet
 		ASSERT(!(flags & TQ_NOQUEUE));
+#endif
 		/*
 		 * Enqueue the task to the underlying queue.
 		 */



CVS commit: src/external/cddl/osnet/dev/dtrace/amd64

2019-01-12 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sat Jan 12 10:41:31 UTC 2019

Modified Files:
src/external/cddl/osnet/dev/dtrace/amd64: dtrace_subr.c

Log Message:
There is no such function read_rflags(), probably meant x86_read_flags().


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.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/dev/dtrace/amd64/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.11 src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.12
--- src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.11	Thu Aug 16 14:14:51 2018
+++ src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c	Sat Jan 12 10:41:31 2019
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.11 2018/08/16 14:14:51 christos Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.12 2019/01/12 10:41:31 hannken Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -412,7 +412,7 @@ dtrace_trap(struct trapframe *frame, u_i
 	 */
 	nofault = (cpu_core[cpuid].cpuc_dtrace_flags & CPU_DTRACE_NOFAULT) != 0;
 	if (nofault) {
-		KASSERTMSG((read_rflags() & PSL_I) == 0, "interrupts enabled");
+		KASSERTMSG((x86_read_flags() & PSL_I) == 0, "interrupts enabled");
 
 		/*
 		 * There are only a couple of trap types that are expected.



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-01-05 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Sat Jan  5 09:20:29 UTC 2019

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

Log Message:
Even though zfs_netbsd_putpages() cannot use ZFS_ENTER() it has
to respect the teardown lock.

Enter z_teardown_lock as reader and ZFS_EXIT().

Instead of ZFS_VERIFY_ZP() return without writing and without
error from zfs_putapage() if "z_sa_hdl == NULL".


To generate a diff of this commit:
cvs rdiff -u -r1.41 -r1.42 \
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.41 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.42
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.41	Tue Jan  1 10:09:26 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Sat Jan  5 09:20:29 2019
@@ -5863,6 +5863,11 @@ zfs_putapage(vnode_t *vp, page_t **pp, i
 	struct uvm_object *uobj = &vp->v_uobj;
 	kmutex_t *mtx = uobj->vmobjlock;
 
+	if (zp->z_sa_hdl == NULL) {
+		err = 0;
+		goto out_unbusy;
+	}
+
 	off = pp[0]->offset;
 	len = count * PAGESIZE;
 	KASSERT(off + len <= round_page(zp->z_size));
@@ -5914,6 +5919,7 @@ zfs_putapage(vnode_t *vp, page_t **pp, i
 	}
 	dmu_tx_commit(tx);
 
+out_unbusy:
 	mutex_enter(mtx);
 	mutex_enter(&uvm_pageqlock);
 	uvm_page_unbusy(pp, count);
@@ -5994,6 +6000,12 @@ zfs_netbsd_putpages(void *v)
 return 0;
 			}
 		}
+		/*
+		 * Cannot use ZFS_ENTER() here as it returns with error
+		 * if z_unmounted.  The next statement is equivalent.
+		 */
+		rrm_enter(&zfsvfs->z_teardown_lock, RW_READER, FTAG);
+
 		rl = zfs_range_lock(zp, offlo, len, RL_WRITER);
 		mutex_enter(vp->v_interlock);
 		tsd_set(zfs_putpage_key, &cleaned);
@@ -6011,6 +6023,7 @@ zfs_netbsd_putpages(void *v)
 		if (cleaned)
 		if (!async || zfsvfs->z_os->os_sync == ZFS_SYNC_ALWAYS)
 			zil_commit(zfsvfs->z_log, zp->z_id);
+		ZFS_EXIT(zfsvfs);
 		fstrans_done(vp->v_mount);
 	}
 	return error;



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-01-01 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Tue Jan  1 10:08:42 UTC 2019

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

Log Message:
As already noted in XXX comment do a zil_commit() on reclaim.


To generate a diff of this commit:
cvs rdiff -u -r1.39 -r1.40 \
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.39 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.40
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.39	Thu Dec 13 10:20:51 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Tue Jan  1 10:08:42 2019
@@ -5663,11 +5663,6 @@ zfs_netbsd_reclaim(void *v)
 	/*
 	 * Process a deferred atime update.
 	 */
-	/*
-	 * XXXNETBSD I don't think this actually works.
-	 * We are dirtying the znode again after the vcache layer cleaned it,
-	 * so we would need to zil_commit() again here.
-	 */
 	if (zp->z_atime_dirty && zp->z_unlinked == 0) {
 		dmu_tx_t *tx = dmu_tx_create(zfsvfs->z_os);
 
@@ -5684,6 +5679,8 @@ zfs_netbsd_reclaim(void *v)
 		}
 	}
 
+	zil_commit(zfsvfs->z_log, zp->z_id);
+
 	if (zp->z_sa_hdl == NULL)
 		zfs_znode_free(zp);
 	else



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-01-01 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Tue Jan  1 10:09:27 UTC 2019

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

Log Message:
Cannot use ZFS_ENTER() / ZFS_EXIT() as zfs_netbsd_putpages() is used
during vnode reclaim.

Add missing protection with fstrans.


To generate a diff of this commit:
cvs rdiff -u -r1.40 -r1.41 \
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.40 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.41
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.40	Tue Jan  1 10:08:42 2019
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Tue Jan  1 10:09:26 2019
@@ -84,6 +84,7 @@
 #include 
 #include 
 #include 
+#include 
 
 uint_t zfs_putpage_key;
 #endif
@@ -5972,9 +5973,6 @@ zfs_netbsd_putpages(void *v)
 	bool async = (flags & PGO_SYNCIO) == 0;
 	bool cleaning = (flags & PGO_CLEANIT) != 0;
 
-	ZFS_ENTER(zfsvfs);
-	ZFS_VERIFY_ZP(zp);
-
 	if (cleaning) {
 		ASSERT((offlo & PAGE_MASK) == 0 && (offhi & PAGE_MASK) == 0);
 		ASSERT(offlo < offhi || offhi == 0);
@@ -5983,25 +5981,38 @@ zfs_netbsd_putpages(void *v)
 		else
 			len = offhi - offlo;
 		mutex_exit(vp->v_interlock);
+		if (curlwp == uvm.pagedaemon_lwp) {
+			error = fstrans_start_nowait(vp->v_mount);
+			if (error)
+return error;
+		} else {
+			vfs_t *mp = vp->v_mount;
+			fstrans_start(mp);
+			if (vp->v_mount != mp) {
+fstrans_done(mp);
+ASSERT(!vn_has_cached_data(vp));
+return 0;
+			}
+		}
 		rl = zfs_range_lock(zp, offlo, len, RL_WRITER);
 		mutex_enter(vp->v_interlock);
 		tsd_set(zfs_putpage_key, &cleaned);
 	}
 	error = genfs_putpages(v);
-	if (rl) {
+	if (cleaning) {
 		tsd_set(zfs_putpage_key, NULL);
 		zfs_range_unlock(rl);
-	}
 
-	/*
-	 * Only zil_commit() if we cleaned something.
-	 * This avoids deadlock if we're called from zfs_netbsd_setsize().
-	 */
+		/*
+		 * Only zil_commit() if we cleaned something.  This avoids 
+		 * deadlock if we're called from zfs_netbsd_setsize().
+		 */
 
-	if (cleaned)
-	if (!async || zfsvfs->z_os->os_sync == ZFS_SYNC_ALWAYS)
-		zil_commit(zfsvfs->z_log, zp->z_id);
-	ZFS_EXIT(zfsvfs);
+		if (cleaned)
+		if (!async || zfsvfs->z_os->os_sync == ZFS_SYNC_ALWAYS)
+			zil_commit(zfsvfs->z_log, zp->z_id);
+		fstrans_done(vp->v_mount);
+	}
 	return error;
 }
 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2019-01-01 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Tue Jan  1 10:08:01 UTC 2019

Modified Files:
src/external/cddl/osnet/dist/uts/common/fs/zfs: zfs_ioctl.c
zfs_vfsops.c zfs_znode.c
src/external/cddl/osnet/dist/uts/common/fs/zfs/sys: zfs_znode.h

Log Message:
Cannot hold zfs object across call to vcache_get() as it might
deadlock with another reclaim.

Add vfs operation zfs_newvnode() to create a new zfs node and
hold the zfs object in zfs_loadvnode() and zfs_newvnode() only.


To generate a diff of this commit:
cvs rdiff -u -r1.13 -r1.14 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c
cvs rdiff -u -r1.17 -r1.18 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
cvs rdiff -u -r1.23 -r1.24 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/zfs_znode.h

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_ioctl.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.13 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.14
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.13	Mon Aug 20 06:47:16 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c	Tue Jan  1 10:08:01 2019
@@ -7120,7 +7120,6 @@ zfs_modcmd(modcmd_t cmd, void *arg)
 	uint64_t availrmem;
 
 	extern struct vfsops zfs_vfsops;
-	extern uint_t zfs_loadvnode_key;
 	extern uint_t zfs_putpage_key;
 
 	switch (cmd) {
@@ -7144,7 +7143,6 @@ zfs_modcmd(modcmd_t cmd, void *arg)
 		tsd_create(&zfs_fsyncer_key, NULL);
 		tsd_create(&rrw_tsd_key, rrw_tsd_destroy);
 		tsd_create(&zfs_allow_log_key, zfs_allow_log_destroy);
-		tsd_create(&zfs_loadvnode_key, zfs_loadvnode_destroy);
 		tsd_create(&zfs_putpage_key, NULL);
 
 		spa_init(FREAD | FWRITE);
@@ -7179,7 +7177,6 @@ attacherr:
 		spa_fini();
 
 		tsd_destroy(&zfs_putpage_key);
-		tsd_destroy(&zfs_loadvnode_key);
 		tsd_destroy(&zfs_fsyncer_key);
 		tsd_destroy(&rrw_tsd_key);
 		tsd_destroy(&zfs_allow_log_key);

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.17 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.18
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.17	Sun Sep 16 06:09:01 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c	Tue Jan  1 10:08:01 2019
@@ -163,6 +163,7 @@ struct vfsops zfs_vfsops = {
 	.vfs_sync = zfs_netbsd_sync,
 	.vfs_vget = zfs_vget,
 	.vfs_loadvnode = zfs_loadvnode,
+	.vfs_newvnode = zfs_newvnode,
 	.vfs_init = zfs_init,
 	.vfs_done = zfs_fini,
 	.vfs_start = (void *)nullop,

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.23 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.24
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.23	Thu Dec  6 09:58:52 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c	Tue Jan  1 10:08:01 2019
@@ -60,15 +60,6 @@ extern int (**zfs_vnodeop_p)(void *);
 extern int (**zfs_fifoop_p)(void *);
 extern int (**zfs_specop_p)(void *);
 
-struct zfs_loadvnode_args {
-	dmu_buf_t		*db;
-	int			blksz;
-	dmu_object_type_t	obj_type;
-	void			*sa_hdl;
-};
-
-uint_t zfs_loadvnode_key;
-
 #endif
 #endif /* _KERNEL */
 
@@ -621,6 +612,7 @@ zfs_vnode_forget(vnode_t *vp)
 	vgone(vp);
 	vput(vp);
 }
+#endif /* __FreeBSD__ */
 
 /*
  * Construct a new znode/vnode and intialize.
@@ -630,11 +622,18 @@ zfs_vnode_forget(vnode_t *vp)
  * return the znode
  */
 static znode_t *
+#ifdef __NetBSD__
+zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz,
+dmu_object_type_t obj_type, sa_handle_t *hdl, vnode_t *vp)
+#else
 zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_buf_t *db, int blksz,
 dmu_object_type_t obj_type, sa_handle_t *hdl)
+#endif
 {
 	znode_t	*zp;
+#ifndef __NetBSD__
 	vnode_t *vp;
+#endif
 	uint64_t mode;
 	uint64_t parent;
 	sa_bulk_attr_t bulk[9];
@@ -643,6 +642,7 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_bu
 
 	zp = kmem_cache_alloc(znode_cache, KM_SLEEP);
 
+#ifndef __NetBSD__
 	KASSERT(curthread->td_vp_reserv > 0,
 	("zfs_znode_alloc: getnewvnode without any vnodes reserved"));
 	error = getnewvnode("zfs", zfsvfs->z_parent->z_vfs, &zfs_vnodeops, &vp);
@@ -650,6 +650,7 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_bu
 		kmem_cache_free(znode_cache, zp);
 		return (NULL);
 	}
+#endif
 	zp->z_vnode = vp;
 	vp->v_data = zp;
 
@@ -669,6 +670,12 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_bu
 	zp->z_seq = 0x7A4653;
 	zp->z_sync_cnt = 0;
 
+#ifdef __NetBSD__
+	vp->v_op = zfs_vnodeop_p;
+	vp->v_tag = VT_ZFS;
+	zp->z_lockf = NULL;
+#endif
+
 	vp = ZTOV(zp);
 
 	zfs_znode_sa_init(zfsvfs, zp, db, obj_type, hdl);
@@ -692,7 +699,9 @@ zfs_znode_alloc(zfsvfs_t *zfsvfs, dmu_b

CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-12-13 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Dec 13 10:20:51 UTC 2018

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

Log Message:
Drop v_interlock for zfs_range_lock(), another thread might hold part
of this range and wait for v_interlock.


To generate a diff of this commit:
cvs rdiff -u -r1.38 -r1.39 \
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.38 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.39
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.38	Thu Dec 13 10:20:20 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Thu Dec 13 10:20:51 2018
@@ -5985,7 +5985,9 @@ zfs_netbsd_putpages(void *v)
 			len = UINT64_MAX;
 		else
 			len = offhi - offlo;
+		mutex_exit(vp->v_interlock);
 		rl = zfs_range_lock(zp, offlo, len, RL_WRITER);
+		mutex_enter(vp->v_interlock);
 		tsd_set(zfs_putpage_key, &cleaned);
 	}
 	error = genfs_putpages(v);



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-12-13 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Dec 13 10:20:20 UTC 2018

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

Log Message:
Operation zfs_range_lock() needs range as (offset,length), not as (low,high).


To generate a diff of this commit:
cvs rdiff -u -r1.37 -r1.38 \
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.37 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.38
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.37	Thu Dec  6 10:00:40 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Thu Dec 13 10:20:20 2018
@@ -5968,6 +5968,7 @@ zfs_netbsd_putpages(void *v)
 	znode_t *zp = VTOZ(vp);
 	zfsvfs_t *zfsvfs = zp->z_zfsvfs;
 	rl_t *rl = NULL;
+	uint64_t len;
 	int error;
 	bool cleaned = false;
 
@@ -5978,7 +5979,13 @@ zfs_netbsd_putpages(void *v)
 	ZFS_VERIFY_ZP(zp);
 
 	if (cleaning) {
-		rl = zfs_range_lock(zp, offlo, offhi, RL_WRITER);
+		ASSERT((offlo & PAGE_MASK) == 0 && (offhi & PAGE_MASK) == 0);
+		ASSERT(offlo < offhi || offhi == 0);
+		if (offhi == 0)
+			len = UINT64_MAX;
+		else
+			len = offhi - offlo;
+		rl = zfs_range_lock(zp, offlo, len, RL_WRITER);
 		tsd_set(zfs_putpage_key, &cleaned);
 	}
 	error = genfs_putpages(v);



CVS commit: src/external/cddl/osnet/sys/kern

2018-12-13 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Dec 13 10:19:47 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/kern: mod.c

Log Message:
Don't allow module to init before mp_online.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/sys/kern/mod.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/sys/kern/mod.c
diff -u src/external/cddl/osnet/sys/kern/mod.c:1.3 src/external/cddl/osnet/sys/kern/mod.c:1.4
--- src/external/cddl/osnet/sys/kern/mod.c:1.3	Mon May 28 21:05:09 2018
+++ src/external/cddl/osnet/sys/kern/mod.c	Thu Dec 13 10:19:47 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: mod.c,v 1.3 2018/05/28 21:05:09 chs Exp $	*/
+/*	$NetBSD: mod.c,v 1.4 2018/12/13 10:19:47 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2008 The NetBSD Foundation, Inc.
@@ -27,7 +27,7 @@
  */
 
 #include 
-__KERNEL_RCSID(0, "$NetBSD: mod.c,v 1.3 2018/05/28 21:05:09 chs Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mod.c,v 1.4 2018/12/13 10:19:47 hannken Exp $");
 
 #include 
 #include 
@@ -49,6 +49,9 @@ solaris_modcmd(modcmd_t cmd, void *arg)
 
 	switch (cmd) {
 	case MODULE_CMD_INIT:
+		if (!mp_online)
+			return EAGAIN;
+
 		opensolaris_utsname_init();
 		callb_init(NULL);
 		taskq_init();



CVS commit: src/external/cddl/osnet/usr.bin/ztest

2018-12-09 Thread Sevan Janiyan
Module Name:src
Committed By:   sevan
Date:   Mon Dec 10 03:58:30 UTC 2018

Modified Files:
src/external/cddl/osnet/usr.bin/ztest: ztest.1

Log Message:
Describe how unaccounted changes are detected without Star Trek references, for
everyone in 2018.

Thanks to maya & gdt


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/usr.bin/ztest/ztest.1

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/usr.bin/ztest/ztest.1
diff -u src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.3 src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.4
--- src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.3	Sat Dec  8 14:55:53 2018
+++ src/external/cddl/osnet/usr.bin/ztest/ztest.1	Mon Dec 10 03:58:30 2018
@@ -1,4 +1,4 @@
-.\" $NetBSD: ztest.1,v 1.3 2018/12/08 14:55:53 sevan Exp $
+.\" $NetBSD: ztest.1,v 1.4 2018/12/10 03:58:30 sevan Exp $
 .\"
 .\" Copyright (c) 2018 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"/
-.Dd December 8, 2018
+.Dd December 10, 2018
 .Dt ZTEST 1
 .Os
 .Sh NAME
@@ -75,6 +75,15 @@ To verify that the on-disk consistency i
 processes are killed at random with a SIGKILL signal, after which the parent
 process invokes a new child to run the test again on the same storage pool.
 .Pp
+Many of the tests record the transaction group number as part of their data.
+When reading old data, tests verify that the transaction group number is less
+than the current, open state, transaction group to ensure the consistency of
+tests and detect unaccounted changes.
+It is advised that any new tests added to
+.Nm
+should also perform the same check with transaction group numbers, if
+applicable.
+.Pp
 The main
 .Nm
 process uses an



CVS commit: src/external/cddl/osnet/dist/cmd/zdb

2018-12-09 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Dec  9 18:01:01 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/cmd/zdb: zdb.c

Log Message:
fix printf warnings.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/cddl/osnet/dist/cmd/zdb/zdb.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/cmd/zdb/zdb.c
diff -u src/external/cddl/osnet/dist/cmd/zdb/zdb.c:1.7 src/external/cddl/osnet/dist/cmd/zdb/zdb.c:1.8
--- src/external/cddl/osnet/dist/cmd/zdb/zdb.c:1.7	Mon May 28 17:05:04 2018
+++ src/external/cddl/osnet/dist/cmd/zdb/zdb.c	Sun Dec  9 13:01:01 2018
@@ -1144,8 +1144,8 @@ dump_history(spa_t *spa)
 			(void) snprintf(internalstr,
 			sizeof (internalstr),
 			"[internal %s txg:%lld] %s",
-			zfs_history_event_names[ievent], txg,
-			intstr);
+			zfs_history_event_names[ievent], 
+			(u_longlong_t)txg, intstr);
 			cmd = internalstr;
 		}
 		tsec = time;
@@ -2048,7 +2048,7 @@ dump_uberblock(uberblock_t *ub, const ch
 {
 	time_t timestamp = ub->ub_timestamp;
 
-	(void) printf(header ? header : "");
+	(void) printf("%s", header);
 	(void) printf("\tmagic = %016llx\n", (u_longlong_t)ub->ub_magic);
 	(void) printf("\tversion = %llu\n", (u_longlong_t)ub->ub_version);
 	(void) printf("\ttxg = %llu\n", (u_longlong_t)ub->ub_txg);
@@ -2060,7 +2060,7 @@ dump_uberblock(uberblock_t *ub, const ch
 		snprintf_blkptr(blkbuf, sizeof (blkbuf), &ub->ub_rootbp);
 		(void) printf("\trootbp = %s\n", blkbuf);
 	}
-	(void) printf(footer ? footer : "");
+	(void) printf("%s", footer);
 }
 
 static void



CVS commit: src/external/cddl/osnet/usr.bin/ztest

2018-12-08 Thread Sevan Janiyan
Module Name:src
Committed By:   sevan
Date:   Sat Dec  8 14:55:53 UTC 2018

Modified Files:
src/external/cddl/osnet/usr.bin/ztest: ztest.1

Log Message:
Spelling


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/usr.bin/ztest/ztest.1

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/usr.bin/ztest/ztest.1
diff -u src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.2 src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.3
--- src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.2	Sat Dec  8 12:18:37 2018
+++ src/external/cddl/osnet/usr.bin/ztest/ztest.1	Sat Dec  8 14:55:53 2018
@@ -1,4 +1,4 @@
-.\" $NetBSD: ztest.1,v 1.2 2018/12/08 12:18:37 wiz Exp $
+.\" $NetBSD: ztest.1,v 1.3 2018/12/08 14:55:53 sevan Exp $
 .\"
 .\" Copyright (c) 2018 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -151,7 +151,7 @@ This man page was written by
 .An Sevan Janiyan
 .Aq Mt se...@netbsd.org .
 .Sh CAVEATS
-To allow for backward compatibilty testing using older versions of
+To allow for backward compatibility testing using older versions of
 .Nm
 the information stored in the
 .Xr mmap 2



CVS commit: src/external/cddl/osnet/usr.bin/ztest

2018-12-08 Thread Thomas Klausner
Module Name:src
Committed By:   wiz
Date:   Sat Dec  8 12:18:37 UTC 2018

Modified Files:
src/external/cddl/osnet/usr.bin/ztest: ztest.1

Log Message:
Improve man page.


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/cddl/osnet/usr.bin/ztest/ztest.1

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/usr.bin/ztest/ztest.1
diff -u src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.1 src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.2
--- src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.1	Sat Dec  8 01:28:27 2018
+++ src/external/cddl/osnet/usr.bin/ztest/ztest.1	Sat Dec  8 12:18:37 2018
@@ -1,4 +1,4 @@
-.\" $NetBSD: ztest.1,v 1.1 2018/12/08 01:28:27 sevan Exp $
+.\" $NetBSD: ztest.1,v 1.2 2018/12/08 12:18:37 wiz Exp $
 .\"
 .\" Copyright (c) 2018 The NetBSD Foundation, Inc.
 .\" All rights reserved.
@@ -35,7 +35,24 @@
 .Nd ZFS stress test utility
 .Sh SYNOPSIS
 .Nm
-.Op Fl vsamrRdtgikpfVETFPBh
+.Op Fl EhV
+.Op Fl a Ar shift
+.Op Fl B Ar path
+.Op Fl d Ar datasets
+.Op Fl F Ar loops
+.Op Fl f Ar path
+.Op Fl g Ar threshold
+.Op Fl i Ar count
+.Op Fl k Ar percent
+.Op Fl m Ar copies
+.Op Fl P Ar passtime
+.Op Fl p Ar name
+.Op Fl R Ar parity
+.Op Fl r Ar disks
+.Op Fl s Ar size
+.Op Fl T Ar time
+.Op Fl t Ar threads
+.Op Fl v Ar vdevs
 .Sh DESCRIPTION
 The
 .Nm
@@ -66,84 +83,73 @@ temporary file to pass information to ch
 memory to survive
 .Xr exec 3
 syscall.
-A copy of the ztest_shared_hdr_t struct containing information on the size and
-number of shared structures in the file is always stored at offset 0 of the
-file.
+A copy of the
+.Vt ztest_shared_hdr_t
+struct containing information on the size and number of shared
+structures in the file is always stored at offset 0 of the file.
 .Pp
 For backwards compatibility testing
 .Nm
 can invoke an alternative version of
 .Nm
-after a SIGLKILL using the
+after a
+.Dv SIGKILL
+signal using the
 .Fl B
 flag.
-.sp
+.Pp
 The following options are available:
-.sp
-.Fl v
-vdevs (default: 5)
-.sp
-.Fl s
-size of each vdev (default: 256M)
-.sp
-.Fl a
+.Bl -tag -width 5n
+.It Fl a Ar shift
 alignment shift (default: 9) use 0 for random
-.sp
-.Fl m
-mirror copies (default: 2)
-.sp
-.Fl r
-raidz disks (default: 4)
-.sp
-.Fl R
-raidz parity (default: 1)
-.sp
-.Fl d
+.It Fl B Ar path
+alt ztest (default: ) alternate ztest path
+.It Fl d Ar datasets
 datasets (default: 7)
-.sp
-.Fl t
-threads (default: 23)
-.sp
-.Fl g
-gang block threshold (default: 32K)
-.sp
-.Fl i
-init count (default: 1) initialize pool i times
-.sp
-.Fl k
-kill percentage (default: 70%)
-.sp
-.Fl p
-pool name (default: ztest)
-.sp
-.Fl f
-dir (default: /tmp) file directory for vdev files
-.sp
-.Fl V
-verbose (use multiple times to increase verbosity)
-.sp
-.Fl E
+.It Fl E
 use existing pool instead of creating new one
-.sp
-.Fl T
-time (default: 300 sec) total run time
-.sp
-.Fl F
+.It Fl F Ar loops
 freezeloops (default: 50) max loops in
 .Fn spa_freeze
-.sp
-.Fl P
+.It Fl f Ar path
+dir (default:
+.Pa /tmp )
+file directory for vdev files
+.It Fl g Ar threshold
+gang block threshold (default: 32K)
+.It Fl h
+print help
+.It Fl i Ar count
+init count (default: 1) initialize pool
+.Ar count
+times
+.It Fl k Ar percent
+kill percentage (default: 70%)
+.It Fl m Ar copies
+mirror copies (default: 2)
+.It Fl P Ar passtime
 passtime (default: 60 sec) time per pass
-.sp
-.Fl B
-alt ztest (default: ) alternate ztest path
-.sp
-.Fl h
-(print help)
+.It Fl p Ar name
+pool name (default: ztest)
+.It Fl R Ar parity
+raidz parity (default: 1)
+.It Fl r Ar disks
+raidz disks (default: 4)
+.It Fl s Ar size
+size of each vdev (default: 256M)
+.It Fl T Ar time
+time (default: 300 sec) total run time
+.It Fl t Ar threads
+threads (default: 23)
+.It Fl V
+verbose (use multiple times to increase verbosity)
+.It Fl v Ar vdevs
+number of vdevs (default: 5)
+.El
 .Sh AUTHORS
 This man page was written by
 .An Sevan Janiyan
-.Aq se...@netbsd.org .
+.Aq Mt se...@netbsd.org .
 .Sh CAVEATS
 To allow for backward compatibilty testing using older versions of
 .Nm



CVS commit: src/external/cddl/osnet/usr.bin/ztest

2018-12-07 Thread Sevan Janiyan
Module Name:src
Committed By:   sevan
Date:   Sat Dec  8 01:28:27 UTC 2018

Added Files:
src/external/cddl/osnet/usr.bin/ztest: ztest.1

Log Message:
Add a draft manual for ztest(1), based on the comments from zfstest.c (WIP).


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/cddl/osnet/usr.bin/ztest/ztest.1

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

Added files:

Index: src/external/cddl/osnet/usr.bin/ztest/ztest.1
diff -u /dev/null src/external/cddl/osnet/usr.bin/ztest/ztest.1:1.1
--- /dev/null	Sat Dec  8 01:28:27 2018
+++ src/external/cddl/osnet/usr.bin/ztest/ztest.1	Sat Dec  8 01:28:27 2018
@@ -0,0 +1,154 @@
+.\" $NetBSD: ztest.1,v 1.1 2018/12/08 01:28:27 sevan Exp $
+.\"
+.\" Copyright (c) 2018 The NetBSD Foundation, Inc.
+.\" All rights reserved.
+.\"
+.\" This code is derived from software contributed to The NetBSD Foundation
+.\" by Sevan Janiyan 
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\"notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\"notice, this list of conditions and the following disclaimer in the
+.\"documentation and/or other materials provided with the distribution.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+.\" POSSIBILITY OF SUCH DAMAGE.
+.\"/
+.Dd December 8, 2018
+.Dt ZTEST 1
+.Os
+.Sh NAME
+.Nm ztest
+.Nd ZFS stress test utility
+.Sh SYNOPSIS
+.Nm
+.Op Fl vsamrRdtgikpfVETFPBh
+.Sh DESCRIPTION
+The
+.Nm
+utility stress tests the DMU, ZAP, SPA components of ZFS from user space.
+.Pp
+.Nm
+provides a simple routine to test the functionality of a component task.
+These simple routines can then be used to stress test through parallel
+execution.
+Tests are run as child processes of the main process.
+.Pp
+The checksum and compression functions are changed each time a dataset is
+opened to introduce varying combinations of checksum and compression from block
+to block among objects.
+.Pp
+While tests are running, faults are injected into the pool to verify
+self-healing ability.
+.Pp
+To verify that the on-disk consistency is never lost after a crash, child
+processes are killed at random with a SIGKILL signal, after which the parent
+process invokes a new child to run the test again on the same storage pool.
+.Pp
+The main
+.Nm
+process uses an
+.Xr mmap 2
+temporary file to pass information to child processes which allows shared
+memory to survive
+.Xr exec 3
+syscall.
+A copy of the ztest_shared_hdr_t struct containing information on the size and
+number of shared structures in the file is always stored at offset 0 of the
+file.
+.Pp
+For backwards compatibility testing
+.Nm
+can invoke an alternative version of
+.Nm
+after a SIGLKILL using the
+.Fl B
+flag.
+.sp
+The following options are available:
+.sp
+.Fl v
+vdevs (default: 5)
+.sp
+.Fl s
+size of each vdev (default: 256M)
+.sp
+.Fl a
+alignment shift (default: 9) use 0 for random
+.sp
+.Fl m
+mirror copies (default: 2)
+.sp
+.Fl r
+raidz disks (default: 4)
+.sp
+.Fl R
+raidz parity (default: 1)
+.sp
+.Fl d
+datasets (default: 7)
+.sp
+.Fl t
+threads (default: 23)
+.sp
+.Fl g
+gang block threshold (default: 32K)
+.sp
+.Fl i
+init count (default: 1) initialize pool i times
+.sp
+.Fl k
+kill percentage (default: 70%)
+.sp
+.Fl p
+pool name (default: ztest)
+.sp
+.Fl f
+dir (default: /tmp) file directory for vdev files
+.sp
+.Fl V
+verbose (use multiple times to increase verbosity)
+.sp
+.Fl E
+use existing pool instead of creating new one
+.sp
+.Fl T
+time (default: 300 sec) total run time
+.sp
+.Fl F
+freezeloops (default: 50) max loops in
+.Fn spa_freeze
+.sp
+.Fl P
+passtime (default: 60 sec) time per pass
+.sp
+.Fl B
+alt ztest (default: ) alternate ztest path
+.sp
+.Fl h
+(print help)
+.Sh AUTHORS
+This man page was written by
+.An Sevan Janiyan
+.Aq se...@netbsd.org .
+.Sh CAVEATS
+To allow for backward compatibilty testing using older versions of
+.Nm
+the information stored in the
+.Xr mma

CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-12-06 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Dec  6 10:00:40 UTC 2018

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

Log Message:
We have component names as counted strings (cn_nameptr, cn_namelen) but
ZFS expects a null-terminated name.

Always create a copy with PNBUF_GET()/strlcpy()/PNBUF_PUT().

For LOOKUP use a small buffer on stack and allocate/free compomnent names
longer than 30 chars.


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 \
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.36 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.37
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.36	Fri Nov 30 09:53:40 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Thu Dec  6 10:00:40 2018
@@ -3847,8 +3847,13 @@ zfs_rename_relock(struct vnode *sdvp, st
 	zfsvfs_t	*zfsvfs;
 	struct vnode	*nvp, *svp, *tvp;
 	znode_t		*sdzp, *tdzp, *szp, *tzp;
+#ifdef __FreeBSD__
 	const char	*snm = scnp->cn_nameptr;
 	const char	*tnm = tcnp->cn_nameptr;
+#endif
+#ifdef __NetBSD__
+	char *snm, *tnm;
+#endif
 	int error;
 
 #ifdef __FreeBSD__
@@ -3918,7 +3923,15 @@ relock:
 	 * Re-resolve svp to be certain it still exists and fetch the
 	 * correct vnode.
 	 */
+#ifdef __NetBSD__
+	/* ZFS wants a null-terminated name. */
+	snm = PNBUF_GET();
+	strlcpy(snm, scnp->cn_nameptr, scnp->cn_namelen + 1);
+#endif
 	error = zfs_dirent_lookup(sdzp, snm, &szp, ZEXISTS);
+#ifdef __NetBSD__
+	PNBUF_PUT(snm);
+#endif
 	if (error != 0) {
 		/* Source entry invalid or not there. */
 		ZFS_EXIT(zfsvfs);
@@ -3937,7 +3950,15 @@ relock:
 	/*
 	 * Re-resolve tvp, if it disappeared we just carry on.
 	 */
+#ifdef __NetBSD__
+	/* ZFS wants a null-terminated name. */
+	tnm = PNBUF_GET();
+	strlcpy(tnm, tcnp->cn_nameptr, tcnp->cn_namelen + 1);
+#endif
 	error = zfs_dirent_lookup(tdzp, tnm, &tzp, 0);
+#ifdef __NetBSD__
+	PNBUF_PUT(tnm);
+#endif
 	if (error != 0) {
 		ZFS_EXIT(zfsvfs);
 		VOP_UNLOCK(sdvp, 0);
@@ -4138,8 +4159,13 @@ zfs_rename(vnode_t *sdvp, vnode_t **svpp
 	znode_t		*sdzp, *tdzp, *szp, *tzp;
 	zilog_t		*zilog = NULL;
 	dmu_tx_t	*tx;
+#ifdef __FreeBSD__
 	char		*snm = __UNCONST(scnp->cn_nameptr);
 	char		*tnm = __UNCONST(tcnp->cn_nameptr);
+#endif
+#ifdef __NetBSD__
+	char *snm, *tnm;
+#endif
 	int		error = 0;
 
 	/* Reject renames across filesystems. */
@@ -4167,6 +4193,13 @@ zfs_rename(vnode_t *sdvp, vnode_t **svpp
 	sdzp = VTOZ(sdvp);
 	zfsvfs = tdzp->z_zfsvfs;
 	zilog = zfsvfs->z_log;
+#ifdef __NetBSD__
+	/* ZFS wants a null-terminated name. */
+	snm = PNBUF_GET();
+	strlcpy(snm, scnp->cn_nameptr, scnp->cn_namelen + 1);
+	tnm = PNBUF_GET();
+	strlcpy(tnm, tcnp->cn_nameptr, tcnp->cn_namelen + 1);
+#endif
 
 	/*
 	 * After we re-enter ZFS_ENTER() we will have to revalidate all
@@ -4388,6 +4421,10 @@ unlockout:			/* all 4 vnodes are locked,
 
 	VOP_UNLOCK(*svpp, 0);
 	VOP_UNLOCK(sdvp, 0);
+#ifdef __NetBSD__
+	PNBUF_PUT(snm);
+	PNBUF_PUT(tnm);
+#endif
 
 	if (*tvpp != sdvp && *tvpp != *svpp)
 	if (*tvpp != NULL)
@@ -5060,12 +5097,11 @@ zfs_netbsd_lookup(void *v)
 	struct vnode *dvp = ap->a_dvp;
 	struct vnode **vpp = ap->a_vpp;
 	struct componentname *cnp = ap->a_cnp;
-	char nm[NAME_MAX + 1];
+	char *nm, short_nm[31];
 	int error;
 	int iswhiteout;
 
 	KASSERT(VOP_ISLOCKED(dvp) == LK_EXCLUSIVE);
-	KASSERT(cnp->cn_namelen < sizeof nm);
 
 	*vpp = NULL;
 
@@ -5095,11 +5131,19 @@ zfs_netbsd_lookup(void *v)
 	 * zfs_lookup wants a null-terminated component name, but namei
 	 * gives us a pointer into the full pathname.
 	 */
+	ASSERT(cnp->cn_namelen < PATH_MAX - 1);
+	if (cnp->cn_namelen + 1 > sizeof(short_nm))
+		nm = PNBUF_GET();
+	else
+		nm = short_nm;
 	(void)strlcpy(nm, cnp->cn_nameptr, cnp->cn_namelen + 1);
 
 	error = zfs_lookup(dvp, nm, vpp, NULL, 0, NULL, cnp->cn_cred, NULL,
 	NULL, NULL);
 
+	if (nm != short_nm)
+		PNBUF_PUT(nm);
+
 	/*
 	 * Translate errors to match our namei insanity.  Also, if the
 	 * caller wants to create an entry here, it's apparently our
@@ -5174,6 +5218,7 @@ zfs_netbsd_create(void *v)
 	struct vnode **vpp = ap->a_vpp;
 	struct componentname *cnp = ap->a_cnp;
 	struct vattr *vap = ap->a_vap;
+	char *nm;
 	int mode;
 	int error;
 
@@ -5182,9 +5227,14 @@ zfs_netbsd_create(void *v)
 	vattr_init_mask(vap);
 	mode = vap->va_mode & ALLPERMS;
 
+	/* ZFS wants a null-terminated name. */
+	nm = PNBUF_GET();
+	(void)strlcpy(nm, cnp->cn_nameptr, cnp->cn_namelen + 1);
+
 	/* XXX !EXCL is wrong here...  */
-	error = zfs_create(dvp, __UNCONST(cnp->cn_nameptr), vap, !EXCL, mode,
-	vpp, cnp->cn_cred, NULL);
+	error = zfs_create(dvp, nm, vap, !EXCL, mode, vpp, cnp->cn_cred, NULL);
+
+	PNBUF_PUT(nm);
 
 	KASSERT((error == 0) =

CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-12-06 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Thu Dec  6 09:58:52 UTC 2018

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

Log Message:
Add missing ZFS_OBJ_HOLD_ENTER() / ZFS_OBJ_HOLD_EXIT() to zfs_zget_cleaner().


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.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_znode.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.22 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.23
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.22	Wed Nov 28 09:55:36 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c	Thu Dec  6 09:58:52 2018
@@ -1188,8 +1188,11 @@ zfs_zget_cleaner(zfsvfs_t *zfsvfs, uint6
 	znode_t *zp;
 	int err;
 
+	ZFS_OBJ_HOLD_ENTER(zfsvfs, obj_num);
+
 	err = sa_buf_hold(zfsvfs->z_os, obj_num, NULL, &db);
 	if (err) {
+		ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
 		return (SET_ERROR(err));
 	}
 
@@ -1199,12 +1202,15 @@ zfs_zget_cleaner(zfsvfs_t *zfsvfs, uint6
 	(doi.doi_bonus_type == DMU_OT_ZNODE &&
 	doi.doi_bonus_size < sizeof (znode_phys_t {
 		sa_buf_rele(db, NULL);
+		ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
 		return (SET_ERROR(EINVAL));
 	}
 	hdl = dmu_buf_get_user(db);
-	KASSERT(hdl != NULL);
+	ASSERT3P(hdl, !=, NULL);
 	zp = sa_get_userdata(hdl);
+	ASSERT3U(zp->z_id, ==, obj_num);
 	sa_buf_rele(db, NULL);
+	ZFS_OBJ_HOLD_EXIT(zfsvfs, obj_num);
 	*zpp = zp;
 	return (0);
 }



CVS commit: src/external/cddl/osnet

2018-11-30 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Fri Nov 30 09:53:41 UTC 2018

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

Log Message:
Zfs_write() may hide write errors if uiomove() succeeds but a
further dmu_tx_assign() fails because over quota or no space.

Use the emulated uiocopy() and uioskip() like illumos does.

Fix the uiocopy() emulation to not clobber the iovecs.


To generate a diff of this commit:
cvs rdiff -u -r1.35 -r1.36 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
cvs rdiff -u -r1.11 -r1.12 src/external/cddl/osnet/sys/sys/uio.h

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.35 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.36
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.35	Wed Nov 28 10:01:28 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Fri Nov 30 09:53:40 2018
@@ -1182,7 +1182,7 @@ zfs_write(vnode_t *vp, uio_t *uio, int i
 			 * holding up the transaction if the data copy hangs
 			 * up on a pagefault (e.g., from an NFS server mapping).
 			 */
-#ifdef illumos
+#if defined(illumos) || defined(__NetBSD__)
 			size_t cbytes;
 #endif
 
@@ -1190,7 +1190,7 @@ zfs_write(vnode_t *vp, uio_t *uio, int i
 			max_blksz);
 			ASSERT(abuf != NULL);
 			ASSERT(arc_buf_size(abuf) == max_blksz);
-#ifdef illumos
+#if defined(illumos) || defined(__NetBSD__)
 			if (error = uiocopy(abuf->b_data, max_blksz,
 			UIO_WRITE, uio, &cbytes)) {
 dmu_return_arcbuf(abuf);
@@ -1209,17 +1209,6 @@ zfs_write(vnode_t *vp, uio_t *uio, int i
 break;
 			}
 #endif
-#ifdef __NetBSD__
-			ssize_t resid = uio->uio_resid;
-
-			error = uiomove(abuf->b_data, max_blksz, UIO_WRITE, uio);
-			if (error != 0) {
-uio->uio_offset -= resid - uio->uio_resid;
-uio->uio_resid = resid;
-dmu_return_arcbuf(abuf);
-break;
-			}
-#endif
 		}
 
 		/*
@@ -1297,7 +1286,7 @@ zfs_write(vnode_t *vp, uio_t *uio, int i
 dmu_assign_arcbuf(sa_get_db(zp->z_sa_hdl),
 woff, abuf, tx);
 			}
-#ifdef illumos
+#if defined(illumos) || defined(__NetBSD__)
 			ASSERT(tx_bytes <= uio->uio_resid);
 			uioskip(uio, tx_bytes);
 #endif

Index: src/external/cddl/osnet/sys/sys/uio.h
diff -u src/external/cddl/osnet/sys/sys/uio.h:1.11 src/external/cddl/osnet/sys/sys/uio.h:1.12
--- src/external/cddl/osnet/sys/sys/uio.h:1.11	Mon May 28 21:05:10 2018
+++ src/external/cddl/osnet/sys/sys/uio.h	Fri Nov 30 09:53:40 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: uio.h,v 1.11 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: uio.h,v 1.12 2018/11/30 09:53:40 hannken Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -107,24 +107,36 @@ zfs_uiomove(void *cp, size_t n, enum uio
 	return (uiomove(cp, n, uio));
 }
 
+#define	ZFS_MIN(a,b)	((/*CONSTCOND*/(a)<(b))?(a):(b))
+
 static __inline int
 zfs_uiocopy(void *cp, size_t n, enum uio_rw dir, uio_t *uio, size_t *cbytes)
 {
-	uio_t uio2;
-	int err;
-	
-	memcpy(&uio2, uio, sizeof(*uio));
-	assert(uio->uio_rw == dir);
-	if ((err = uiomove(cp, n, &uio2)) != 0)
-		return err;
-
-	*cbytes = (size_t)(uio->uio_resid - uio2.uio_resid);
+	uio_t auio;
+	struct iovec aiov;
+	size_t cnt;
+	int i, error;
+
+	*cbytes = 0;
+	memcpy(&auio, uio, sizeof(*uio));
+	for (i = 0; i < uio->uio_iovcnt && n > 0; i++) {
+		auio.uio_iov = &aiov;
+		auio.uio_iovcnt = 1;
+		aiov = uio->uio_iov[i];
+		cnt = ZFS_MIN(aiov.iov_len, n);
+		if (cnt == 0)
+			continue;
+		error = uiomove(cp, cnt, &auio);
+		if (error)
+			return error;
+		cp = (char *)cp + cnt;
+		n -= cnt;
+		*cbytes += cnt;
+	}
 
-	return (0);
+	return 0;
 }
 
-#define	ZFS_MIN(a,b)	((/*CONSTCOND*/(a)<(b))?(a):(b))
-
 static __inline void
 zfs_uioskip(uio_t *uiop, size_t n)
 {



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-11-28 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Wed Nov 28 09:57:16 UTC 2018

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

Log Message:
We expect VOP_ACCESS() to return EACCESS as general error.

Change zfs_netbsd_access() to translate the common EPERM to EACCES.


To generate a diff of this commit:
cvs rdiff -u -r1.31 -r1.32 \
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.31 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.32
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.31	Wed Nov 28 09:56:40 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Wed Nov 28 09:57:16 2018
@@ -5053,6 +5053,10 @@ zfs_netbsd_access(void *v)
 	KASSERT(VOP_ISLOCKED(vp));
 	error = zfs_access(vp, zfs_mode, 0, cred, NULL);
 
+	/* We expect EACCES as common error. */
+	if (error == EPERM)
+		error = EACCES;
+
 	return (error);
 }
 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-11-28 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Wed Nov 28 09:56:40 UTC 2018

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

Log Message:
Don't try to release a NULL vnode in zfs_netbsd_rename().


To generate a diff of this commit:
cvs rdiff -u -r1.30 -r1.31 \
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.30 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.31
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.30	Wed Nov 28 09:56:09 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Wed Nov 28 09:56:40 2018
@@ -5467,7 +5467,8 @@ zfs_netbsd_rename(void *v)
 
 	VN_RELE(fdvp);
 	VN_RELE(tdvp);
-	VN_RELE(fvp);
+	if (fvp != NULL)
+		VN_RELE(fvp);
 	if (tvp != NULL)
 		VN_RELE(tvp);
 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-11-28 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Wed Nov 28 09:56:09 UTC 2018

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

Log Message:
Remove an early test for "source and target are equal" from zfs_rename()
that broke BSD semantics.


To generate a diff of this commit:
cvs rdiff -u -r1.29 -r1.30 \
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.29 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.30
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.29	Wed Nov 28 09:55:06 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Wed Nov 28 09:56:09 2018
@@ -4191,11 +4191,13 @@ zfs_rename(vnode_t *sdvp, vnode_t **svpp
 		goto unlockout;
 	}
 
+#ifndef __NetBSD__
 	/* If source and target are the same file, there is nothing to do. */
 	if ((*svpp) == (*tvpp)) {
 		error = 0;
 		goto unlockout;
 	}
+#endif
 
 	if (((*svpp)->v_type == VDIR && (*svpp)->v_mountedhere != NULL) ||
 	((*tvpp) != NULL && (*tvpp)->v_type == VDIR &&



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-11-28 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Wed Nov 28 09:55:36 UTC 2018

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

Log Message:
Add missing sa_buf_rele() into zfs_zget_cleaner().


To generate a diff of this commit:
cvs rdiff -u -r1.21 -r1.22 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.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_znode.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.21 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.22
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.21	Tue Jul 31 09:33:50 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c	Wed Nov 28 09:55:36 2018
@@ -1204,6 +1204,7 @@ zfs_zget_cleaner(zfsvfs_t *zfsvfs, uint6
 	hdl = dmu_buf_get_user(db);
 	KASSERT(hdl != NULL);
 	zp = sa_get_userdata(hdl);
+	sa_buf_rele(db, NULL);
 	*zpp = zp;
 	return (0);
 }



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-11-28 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Wed Nov 28 09:55:06 UTC 2018

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

Log Message:
Always unbusy pages in zfs_putapage() after the data has been written
into the DMU.  Running fsx no longer hangs the kernel.


To generate a diff of this commit:
cvs rdiff -u -r1.28 -r1.29 \
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.28 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.29
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.28	Thu Nov 15 04:55:49 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Wed Nov 28 09:55:06 2018
@@ -5826,13 +5826,11 @@ zfs_putapage(vnode_t *vp, page_t **pp, i
 	}
 	dmu_tx_commit(tx);
 
-	if (async) {
-		mutex_enter(mtx);
-		mutex_enter(&uvm_pageqlock);
-		uvm_page_unbusy(pp, count);
-		mutex_exit(&uvm_pageqlock);
-		mutex_exit(mtx);
-	}
+	mutex_enter(mtx);
+	mutex_enter(&uvm_pageqlock);
+	uvm_page_unbusy(pp, count);
+	mutex_exit(&uvm_pageqlock);
+	mutex_exit(mtx);
 
 out:
 	return (err);



CVS commit: src/external/cddl/osnet/sys/sys

2018-11-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov 15 05:43:57 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: zfs_context.h

Log Message:
Use callout_halt, not callout_stop, for FreeBSD callout_drain shim.

Callers expect callout_drain will wait for it to complete if it has
fired.


To generate a diff of this commit:
cvs rdiff -u -r1.19 -r1.20 src/external/cddl/osnet/sys/sys/zfs_context.h

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/sys/sys/zfs_context.h
diff -u src/external/cddl/osnet/sys/sys/zfs_context.h:1.19 src/external/cddl/osnet/sys/sys/zfs_context.h:1.20
--- src/external/cddl/osnet/sys/sys/zfs_context.h:1.19	Mon May 28 21:05:10 2018
+++ src/external/cddl/osnet/sys/sys/zfs_context.h	Thu Nov 15 05:43:57 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: zfs_context.h,v 1.19 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: zfs_context.h,v 1.20 2018/11/15 05:43:57 riastradh Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -789,7 +789,7 @@ void zfs_netbsd_setsize(vnode_t *, off_t
 #define getf		fd_getfile
 #define releasef	fd_putfile
 
-#define callout_drain(x) callout_stop(x)
+#define callout_drain(x) callout_halt(x, NULL)
 
 #endif	/* _KERNEL */
 



CVS commit: src/external/cddl/osnet/sys/sys

2018-11-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov 15 04:55:26 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: proc.h

Log Message:
Omit unused definition with broken cpp conditional.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/cddl/osnet/sys/sys/proc.h

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/sys/sys/proc.h
diff -u src/external/cddl/osnet/sys/sys/proc.h:1.8 src/external/cddl/osnet/sys/sys/proc.h:1.9
--- src/external/cddl/osnet/sys/sys/proc.h:1.8	Sun Jun  3 05:55:08 2018
+++ src/external/cddl/osnet/sys/sys/proc.h	Thu Nov 15 04:55:26 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: proc.h,v 1.8 2018/06/03 05:55:08 chs Exp $	*/
+/*	$NetBSD: proc.h,v 1.9 2018/11/15 04:55:26 riastradh Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -86,12 +86,6 @@ typedef	struct lwp	_kthread;
 typedef	struct lwp	kthread_t;
 typedef struct lwp	*kthread_id_t;
 
-#if (KSTACK_PAGES * PAGE_SIZE) < 16384
-#define	ZFS_KSTACK_PAGES	(16384 / PAGE_SIZE)
-#else
-#define	ZFS_KSTACK_PAGES	0
-#endif
-
 struct contract {
 };
 



CVS commit: src/external/cddl/osnet/dist/uts/common/sys

2018-11-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov 15 04:55:17 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/uts/common/sys: dtrace.h

Log Message:
Omit conflicting definition that breaks build on aarch64.


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 \
src/external/cddl/osnet/dist/uts/common/sys/dtrace.h

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/sys/dtrace.h
diff -u src/external/cddl/osnet/dist/uts/common/sys/dtrace.h:1.17 src/external/cddl/osnet/dist/uts/common/sys/dtrace.h:1.18
--- src/external/cddl/osnet/dist/uts/common/sys/dtrace.h:1.17	Mon Jun  4 21:36:03 2018
+++ src/external/cddl/osnet/dist/uts/common/sys/dtrace.h	Thu Nov 15 04:55:17 2018
@@ -2483,7 +2483,10 @@ extern void dtrace_helpers_destroy(proc_
 #define	ARG2_MASK	0x1f
 #define	OFFSET_SHIFT	15
 #define	OFFSET_SIZE	7
+#if 0
+/* conflicts with lzjb.c */
 #define	OFFSET_MASK	((1 << OFFSET_SIZE) - 1)
+#endif
 
 #define	DTRACE_INVOP_PUSHM	1
 #define	DTRACE_INVOP_RET	2



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-11-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov 15 04:55:49 UTC 2018

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

Log Message:
Need  for mm_md_direct_mapped_phys.

It turns out this code always sees __HAVE_MM_MD_DIRECT_MAPPED_PHYS as
disabled on amd64, for reasons that I shall address forthwith, but it
is enabled on aarch64 and so the MKZFS=yes build breaks.


To generate a diff of this commit:
cvs rdiff -u -r1.27 -r1.28 \
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.27 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.28
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.27	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Thu Nov 15 04:55:49 2018
@@ -80,6 +80,7 @@
 #endif
 
 #ifdef __NetBSD__
+#include 
 #include 
 #include 
 #include 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-11-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov 15 04:55:38 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/uts/common/fs/zfs: spa_misc.c
src/external/cddl/osnet/dist/uts/common/fs/zfs/sys: spa_impl.h

Log Message:
Be consistent about _KERNEL vs _HARDKERNEL in zfs.

As it happens, on x86 both _HARDKERNEL and _KERNEL get defined; see
the conditional in sys/rump/Makefile.rump that _refrains_ from
defining _RUMPKERNEL on x86.

So the only version of this code that has been tested is the one with
all of it included.  But on, e.g., aarch64, we do not get _HARDKERNEL
here, and the code fails to build because some things use the field
struct spa::spa_deadman_cycid under _KERNEL when it is declared only
under _HARDKERNEL.

If there's a reason _not_ to use this in rump -- and it's not obvious
to me why -- then all access to the field needs to agree to use
_HARDKERNEL.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/spa_misc.c
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/spa_impl.h

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/spa_misc.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/spa_misc.c:1.3 src/external/cddl/osnet/dist/uts/common/fs/zfs/spa_misc.c:1.4
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/spa_misc.c:1.3	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/spa_misc.c	Thu Nov 15 04:55:38 2018
@@ -391,7 +391,7 @@ zfs_deadman_init(void)
 #endif	/* __FreeBSD__ */
 
 #ifdef __NetBSD__
-#ifdef _HARDKERNEL
+#ifdef _KERNEL
 static struct workqueue *spa_workqueue;
 
 static void spa_deadman(void *arg);
@@ -420,10 +420,10 @@ zfs_deadman_fini(void)
 	workqueue_destroy(spa_workqueue);
 	spa_workqueue = NULL;
 }
-#else /* !_HARDKERNEL */
+#else /* !_KERNEL */
 #define zfs_deadman_init() /* nothing */
 #define zfs_deadman_fini() /* nothing */
-#endif /* !_HARDKERNEL */
+#endif /* !_KERNEL */
 #endif /* __NetBSD__ */
 
 /*
@@ -664,7 +664,7 @@ spa_deadman(void *arg)
 #endif
 }
 
-#ifdef _HARDKERNEL
+#ifdef _KERNEL
 static void
 spa_deadman_timeout(void *arg)
 {
@@ -771,7 +771,7 @@ spa_add(const char *name, nvlist_t *conf
 #endif
 #endif
 #ifdef __NetBSD__
-#ifdef _HARDKERNEL
+#ifdef _KERNEL
 	callout_init(&spa->spa_deadman_cycid, 0);
 	callout_setfunc(&spa->spa_deadman_cycid, spa_deadman_timeout, spa);
 #endif
@@ -892,7 +892,7 @@ spa_remove(spa_t *spa)
 #endif
 #endif
 #ifdef __NetBSD__
-#ifdef _HARDKERNEL
+#ifdef _KERNEL
 	callout_drain(&spa->spa_deadman_cycid);
 #endif
 #endif

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/spa_impl.h
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/spa_impl.h:1.2 src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/spa_impl.h:1.3
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/spa_impl.h:1.2	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/sys/spa_impl.h	Thu Nov 15 04:55:38 2018
@@ -44,7 +44,7 @@
 #include 
 #include 
 
-#if defined(__NetBSD__) && defined(_HARDKERNEL)
+#if defined(__NetBSD__) && defined(_KERNEL)
 #include 
 #endif
 
@@ -276,7 +276,7 @@ struct spa {
 #endif
 #endif /* __FreeBSD__ */
 #ifdef __NetBSD__
-#ifdef _HARDKERNEL
+#ifdef _KERNEL
 	struct callout	spa_deadman_cycid;	/* callout id */
 	struct work	spa_deadman_work;
 #endif



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-11-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Thu Nov 15 04:55:06 UTC 2018

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

Log Message:
"PRIu64", not llu, to print uint64_t.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev.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/vdev.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev.c:1.5 src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev.c:1.6
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev.c:1.5	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev.c	Thu Nov 15 04:55:06 2018
@@ -3614,12 +3614,12 @@ vdev_deadman(vdev_t *vd)
 			delta = gethrtime() - fio->io_timestamp;
 			if (delta > spa_deadman_synctime(spa)) {
 zfs_dbgmsg("SLOW IO: zio timestamp %lluns, "
-"delta %lluns, last io %lluns",
+"delta %"PRIu64"ns, last io %lluns",
 fio->io_timestamp, delta,
 vq->vq_io_complete_ts);
 
 printf("SLOW IO: zio timestamp %lluns, "
-"delta %luns, last io %lluns",
+"delta %"PRIu64"ns, last io %lluns",
 fio->io_timestamp, delta,
 vq->vq_io_complete_ts);
 



CVS commit: src/external/cddl/osnet/sys/sys

2018-11-14 Thread Taylor R Campbell
Module Name:src
Committed By:   riastradh
Date:   Wed Nov 14 17:09:08 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: isa_defs.h

Log Message:
Define _LP64 or _ILP32 for all architectures.

Rather than write out a table for each architecture, rely on the C
compiler to define _LP64 for 64-bit ones, on the assumption that
anything not LP64 is ILP32, and on CTASSERTs to verify this
assumption so that if it's wrong it'll fail safely with a noisy build
failure.

Gives zfs half a chance of building on, e.g., powerpc.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/sys/sys/isa_defs.h

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/sys/sys/isa_defs.h
diff -u src/external/cddl/osnet/sys/sys/isa_defs.h:1.2 src/external/cddl/osnet/sys/sys/isa_defs.h:1.3
--- src/external/cddl/osnet/sys/sys/isa_defs.h:1.2	Sat Feb 21 15:00:30 2015
+++ src/external/cddl/osnet/sys/sys/isa_defs.h	Wed Nov 14 17:09:08 2018
@@ -1,12 +1,9 @@
-/*	$NetBSD: isa_defs.h,v 1.2 2015/02/21 15:00:30 ozaki-r Exp $	*/
+/*	$NetBSD: isa_defs.h,v 1.3 2018/11/14 17:09:08 riastradh Exp $	*/
 
 /*-
- * Copyright (c) 2009 The NetBSD Foundation, Inc.
+ * Copyright (c) 2018 The NetBSD Foundation, Inc.
  * All rights reserved.
  *
- * This code is derived from software contributed to The NetBSD Foundation
- * by Andrew Doran.
- *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -29,23 +26,24 @@
  * POSSIBILITY OF SUCH DAMAGE.
  */
 
-#include 
-
-#if defined(__i386__)
-#if !defined(_ILP32)
-#define _ILP32
-#endif
-
-#elif defined(__amd64__)
-#if !defined(_LP64)
-#define _LP64
-#endif
+#ifndef	_OSNET_SYS_ISA_DEFS_H_
+#define	_OSNET_SYS_ISA_DEFS_H_
 
-#elif defined(__arm__)
-#if !defined(_ILP32)
-#define _ILP32
-#endif
+#include 
 
+#ifdef _LP64
+__CTASSERT(sizeof(int) == 4);
+__CTASSERT(sizeof(long) == 8);
+__CTASSERT(sizeof(void *) == 8);
 #else
-#error "architecture not supported"
+/*
+ * For 64-bit architectures the compiler defines _LP64.  All else in
+ * NetBSD is ILP32 for now.
+ */
+__CTASSERT(sizeof(int) == 4);
+__CTASSERT(sizeof(long) == 4);
+__CTASSERT(sizeof(void *) == 4);
+#define	_ILP32	1
 #endif
+
+#endif	/* _OSNET_SYS_ISA_DEFS_H_ */



CVS commit: src/external/cddl/osnet/sys/sys

2018-10-23 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Oct 23 22:26:14 UTC 2018

Added Files:
src/external/cddl/osnet/sys/sys: nvnamespace.h

Log Message:
Avoid conflicts with "our" (the FreeBSD) nvpair/nvlist implementation by
prefixing all symbols with "opensolaris_".


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/cddl/osnet/sys/sys/nvnamespace.h

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

Added files:

Index: src/external/cddl/osnet/sys/sys/nvnamespace.h
diff -u /dev/null src/external/cddl/osnet/sys/sys/nvnamespace.h:1.1
--- /dev/null	Tue Oct 23 18:26:14 2018
+++ src/external/cddl/osnet/sys/sys/nvnamespace.h	Tue Oct 23 18:26:14 2018
@@ -0,0 +1,201 @@
+/*-
+ * Copyright (c) 2018 The NetBSD Foundation, Inc.
+ * All rights reserved.
+ *
+ * This code is derived from software contributed to The NetBSD Foundation
+ * by Christos Zoulas.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *notice, this list of conditions and the following disclaimer in the
+ *documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef _OPENSOLARIS_SYS_NVNAMESPACE_H_
+#define _OPENSOLARIS_SYS_NVNAMESPACE_H_
+
+#define	fm_nvlist_create	opensolaris_fm_nvlist_create
+#define	fm_nvlist_destroy	opensolaris_fm_nvlist_destroy
+#define	fnvlist_add_boolean	opensolaris_fnvlist_add_boolean
+#define	fnvlist_add_boolean_array	opensolaris_fnvlist_add_boolean_array
+#define	fnvlist_add_boolean_value	opensolaris_fnvlist_add_boolean_value
+#define	fnvlist_add_byte	opensolaris_fnvlist_add_byte
+#define	fnvlist_add_byte_array	opensolaris_fnvlist_add_byte_array
+#define	fnvlist_add_int16	opensolaris_fnvlist_add_int16
+#define	fnvlist_add_int16_array	opensolaris_fnvlist_add_int16_array
+#define	fnvlist_add_int32	opensolaris_fnvlist_add_int32
+#define	fnvlist_add_int32_array	opensolaris_fnvlist_add_int32_array
+#define	fnvlist_add_int64	opensolaris_fnvlist_add_int64
+#define	fnvlist_add_int64_array	opensolaris_fnvlist_add_int64_array
+#define	fnvlist_add_int8	opensolaris_fnvlist_add_int8
+#define	fnvlist_add_int8_array	opensolaris_fnvlist_add_int8_array
+#define	fnvlist_add_nvlist	opensolaris_fnvlist_add_nvlist
+#define	fnvlist_add_nvlist_array	opensolaris_fnvlist_add_nvlist_array
+#define	fnvlist_add_nvpair	opensolaris_fnvlist_add_nvpair
+#define	fnvlist_add_string	opensolaris_fnvlist_add_string
+#define	fnvlist_add_string_array	opensolaris_fnvlist_add_string_array
+#define	fnvlist_add_uint16	opensolaris_fnvlist_add_uint16
+#define	fnvlist_add_uint16_array	opensolaris_fnvlist_add_uint16_array
+#define	fnvlist_add_uint32	opensolaris_fnvlist_add_uint32
+#define	fnvlist_add_uint32_array	opensolaris_fnvlist_add_uint32_array
+#define	fnvlist_add_uint64	opensolaris_fnvlist_add_uint64
+#define	fnvlist_add_uint64_array	opensolaris_fnvlist_add_uint64_array
+#define	fnvlist_add_uint8	opensolaris_fnvlist_add_uint8
+#define	fnvlist_add_uint8_array	opensolaris_fnvlist_add_uint8_array
+#define	fnvlist_alloc	opensolaris_fnvlist_alloc
+#define	fnvlist_dup	opensolaris_fnvlist_dup
+#define	fnvlist_free	opensolaris_fnvlist_free
+#define	fnvlist_lookup_boolean	opensolaris_fnvlist_lookup_boolean
+#define	fnvlist_lookup_boolean_value	opensolaris_fnvlist_lookup_boolean_value
+#define	fnvlist_lookup_byte	opensolaris_fnvlist_lookup_byte
+#define	fnvlist_lookup_int16	opensolaris_fnvlist_lookup_int16
+#define	fnvlist_lookup_int32	opensolaris_fnvlist_lookup_int32
+#define	fnvlist_lookup_int64	opensolaris_fnvlist_lookup_int64
+#define	fnvlist_lookup_int8	opensolaris_fnvlist_lookup_int8
+#define	fnvlist_lookup_nvlist	opensolaris_fnvlist_lookup_nvlist
+#define	fnvlist_lookup_nvpair	opensolaris_fnvlist_lookup_nvpair
+#define	fnvlist_lookup_string	opensolaris_fnvlist_lookup_string
+#define	fnvlist_lookup_uint16	opensolaris_fnvlist_l

CVS commit: src/external/cddl/osnet/dist/uts/common/sys

2018-10-23 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Oct 23 22:25:21 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/uts/common/sys: nvpair.h

Log Message:
prefix all nv* symbols with opensolaris_


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
src/external/cddl/osnet/dist/uts/common/sys/nvpair.h

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/sys/nvpair.h
diff -u src/external/cddl/osnet/dist/uts/common/sys/nvpair.h:1.1.1.3 src/external/cddl/osnet/dist/uts/common/sys/nvpair.h:1.2
--- src/external/cddl/osnet/dist/uts/common/sys/nvpair.h:1.1.1.3	Mon May 28 16:53:03 2018
+++ src/external/cddl/osnet/dist/uts/common/sys/nvpair.h	Tue Oct 23 18:25:21 2018
@@ -30,6 +30,8 @@
 #include 
 #include 
 
+#include 
+
 #if defined(_KERNEL) && !defined(_BOOT)
 #include 
 #endif



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-09-15 Thread Martin Husemann
Module Name:src
Committed By:   martin
Date:   Sun Sep 16 06:09:01 UTC 2018

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

Log Message:
Do not initialize .vfs_fhtovp twice


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.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_vfsops.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.16 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.17
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.16	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c	Sun Sep 16 06:09:01 2018
@@ -163,7 +163,6 @@ struct vfsops zfs_vfsops = {
 	.vfs_sync = zfs_netbsd_sync,
 	.vfs_vget = zfs_vget,
 	.vfs_loadvnode = zfs_loadvnode,
-	.vfs_fhtovp = zfs_fhtovp,
 	.vfs_init = zfs_init,
 	.vfs_done = zfs_fini,
 	.vfs_start = (void *)nullop,



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-09-14 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Sep 14 19:06:53 UTC 2018

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

Log Message:
The macros kidmap_getsidby{u,g}id always return 1 from sid.h on NetBSD,
and clang is complaining about the impossible... So initialize rid and
be done with it, it is the least intrusive fix.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.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_fuid.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.c:1.5 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.c:1.6
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.c:1.5	Sat Aug 18 07:59:25 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.c	Fri Sep 14 15:06:53 2018
@@ -558,7 +558,7 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64
 	const char *domain;
 	char *kdomain;
 	uint32_t fuid_idx = FUID_INDEX(id);
-	uint32_t rid;
+	uint32_t rid = UID_NOBODY;	// XXX: broken clang
 	idmap_stat status;
 	uint64_t idx = 0;
 	zfs_fuid_t *zfuid = NULL;



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-09-06 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Sep  7 02:25:40 UTC 2018

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

Log Message:
handle clang stupidity


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_acl.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_acl.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_acl.c:1.4 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_acl.c:1.5
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_acl.c:1.4	Mon May 28 17:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_acl.c	Thu Sep  6 22:25:40 2018
@@ -2359,6 +2359,7 @@ zfs_zaccess(znode_t *zp, int mode, int f
 	 */
 	if (zp->z_pflags & ZFS_XATTR)
 		return (0);
+	xzp = NULL;	// XXX: hello clang is_attr is false here.
 #else
 	/*
 	 * If attribute then validate against base file



CVS commit: src/external/cddl/osnet/sys/sys

2018-09-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Sep  6 00:44:43 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: opentypes.h

Log Message:
remove duplicate typedef (it is in sunddi.h)


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/cddl/osnet/sys/sys/opentypes.h

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/sys/sys/opentypes.h
diff -u src/external/cddl/osnet/sys/sys/opentypes.h:1.3 src/external/cddl/osnet/sys/sys/opentypes.h:1.4
--- src/external/cddl/osnet/sys/sys/opentypes.h:1.3	Thu May 31 20:56:19 2018
+++ src/external/cddl/osnet/sys/sys/opentypes.h	Wed Sep  5 20:44:43 2018
@@ -84,6 +84,5 @@ typedef	int32_t		time32_t;
 #define	S_READ		UIO_READ
 #define	S_WRITE		UIO_WRITE
 struct aio_req;
-typedef void		*dev_info_t;
 
 #endif /* _OPENSOLARIS_SYS_OPENTYPES_H_ */



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-08-19 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Aug 20 06:47:16 UTC 2018

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

Log Message:
Avoid uninitialized warning.


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.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_ioctl.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.12 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.13
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.12	Sat Jun 16 11:18:33 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c	Mon Aug 20 02:47:16 2018
@@ -6470,7 +6470,8 @@ zfsdev_ioctl(dev_t dev, int zcmd, intptr
 goto out;
 			}
 		}
-	}
+	} else
+		zc_iocparm = NULL;
 
 	if (compat) {
 		if (newioc) {



CVS commit: src/external/cddl/osnet/dist/common/zfs

2018-08-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Aug 18 12:00:11 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/common/zfs: zfs_ioctl_compat.c

Log Message:
use the right variables (fix cut-n-pastos)


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.1 -r1.2 \
src/external/cddl/osnet/dist/common/zfs/zfs_ioctl_compat.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/common/zfs/zfs_ioctl_compat.c
diff -u src/external/cddl/osnet/dist/common/zfs/zfs_ioctl_compat.c:1.1.1.1 src/external/cddl/osnet/dist/common/zfs/zfs_ioctl_compat.c:1.2
--- src/external/cddl/osnet/dist/common/zfs/zfs_ioctl_compat.c:1.1.1.1	Mon May 28 16:52:52 2018
+++ src/external/cddl/osnet/dist/common/zfs/zfs_ioctl_compat.c	Sat Aug 18 08:00:11 2018
@@ -333,7 +333,7 @@ zfs_cmd_compat_get(zfs_cmd_t *zc, caddr_
 		FIELD_COPY(zc_inject_record.zi_freq);
 		FIELD_COPY(zc_inject_record.zi_failfast);
 		strlcpy(zc->zc_inject_record.zi_func,
-		resume_c->zc_inject_record.zi_func, MAXNAMELEN);
+		zcdm_c->zc_inject_record.zi_func, MAXNAMELEN);
 		FIELD_COPY(zc_inject_record.zi_iotype);
 		FIELD_COPY(zc_inject_record.zi_duration);
 		FIELD_COPY(zc_inject_record.zi_timer);
@@ -617,7 +617,7 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_
 		FIELD_COPY(zc_inject_record.zi_type);
 		FIELD_COPY(zc_inject_record.zi_freq);
 		FIELD_COPY(zc_inject_record.zi_failfast);
-		strlcpy(resume_c->zc_inject_record.zi_func,
+		strlcpy(edbp_c->zc_inject_record.zi_func,
 		zc->zc_inject_record.zi_func, MAXNAMELEN);
 		FIELD_COPY(zc_inject_record.zi_iotype);
 		FIELD_COPY(zc_inject_record.zi_duration);
@@ -675,7 +675,7 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_
 		FIELD_COPY(zc_inject_record.zi_type);
 		FIELD_COPY(zc_inject_record.zi_freq);
 		FIELD_COPY(zc_inject_record.zi_failfast);
-		strlcpy(resume_c->zc_inject_record.zi_func,
+		strlcpy(zcmd_c->zc_inject_record.zi_func,
 		zc->zc_inject_record.zi_func, MAXNAMELEN);
 		FIELD_COPY(zc_inject_record.zi_iotype);
 		FIELD_COPY(zc_inject_record.zi_duration);
@@ -744,7 +744,7 @@ zfs_cmd_compat_put(zfs_cmd_t *zc, caddr_
 		FIELD_COPY(zc_inject_record.zi_type);
 		FIELD_COPY(zc_inject_record.zi_freq);
 		FIELD_COPY(zc_inject_record.zi_failfast);
-		strlcpy(resume_c->zc_inject_record.zi_func,
+		strlcpy(zcdm_c->zc_inject_record.zi_func,
 		zc->zc_inject_record.zi_func, MAXNAMELEN);
 		FIELD_COPY(zc_inject_record.zi_iotype);
 		FIELD_COPY(zc_inject_record.zi_duration);



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-08-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Aug 18 11:59:25 UTC 2018

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

Log Message:
make sure rid and idx are initialized.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.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_fuid.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.c:1.4 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.c:1.5
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.c:1.4	Mon May 28 17:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_fuid.c	Sat Aug 18 07:59:25 2018
@@ -605,8 +605,14 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64
 			rid = FUID_RID(fuidp->z_fuid_group);
 			idx = FUID_INDEX(fuidp->z_fuid_group);
 			break;
+		default:
+			rid = UID_NOBODY;
+			break;
 		};
-		domain = fuidp->z_domain_table[idx - 1];
+		if (idx == 0)
+			domain = nulldomain;
+		else
+			domain = fuidp->z_domain_table[idx - 1];
 	} else {
 		if (type == ZFS_OWNER || type == ZFS_ACE_USER)
 			status = kidmap_getsidbyuid(crgetzone(cr), id,



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-08-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Aug 18 11:58:59 UTC 2018

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

Log Message:
vdev_inuse might not be called and spare_guid contains random stuff.


To generate a diff of this commit:
cvs rdiff -u -r1.1.1.3 -r1.2 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_label.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/vdev_label.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_label.c:1.1.1.3 src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_label.c:1.2
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_label.c:1.1.1.3	Mon May 28 16:52:58 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/vdev_label.c	Sat Aug 18 07:58:59 2018
@@ -648,7 +648,7 @@ vdev_label_init(vdev_t *vd, uint64_t crt
 	char *buf;
 	size_t buflen;
 	int error;
-	uint64_t spare_guid, l2cache_guid;
+	uint64_t spare_guid = 0, l2cache_guid;
 	int flags = ZIO_FLAG_CONFIG_WRITER | ZIO_FLAG_CANFAIL;
 
 	ASSERT(spa_config_held(spa, SCL_ALL, RW_WRITER) == SCL_ALL);



CVS commit: src/external/cddl/osnet/dev/dtrace/amd64

2018-08-16 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Thu Aug 16 14:14:52 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/dtrace/amd64: dtrace_isa.c dtrace_subr.c

Log Message:
get rid of kernelbase


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c
cvs rdiff -u -r1.10 -r1.11 \
src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.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/dev/dtrace/amd64/dtrace_isa.c
diff -u src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.9 src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.10
--- src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.9	Sun Aug 12 12:07:27 2018
+++ src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c	Thu Aug 16 10:14:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_isa.c,v 1.9 2018/08/12 16:07:27 christos Exp $	*/
+/*	$NetBSD: dtrace_isa.c,v 1.10 2018/08/16 14:14:51 christos Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -45,12 +45,6 @@ uint16_t dtrace_fuword16_nocheck(void *)
 uint32_t dtrace_fuword32_nocheck(void *);
 uint64_t dtrace_fuword64_nocheck(void *);
 
-#ifdef VM_MIN_KERNEL_ADDRESS_DEFAULT
-__strong_alias(kernelbase, vm_min_kernel_address)
-#else
-uintptr_t kernelbase = (uintptr_t)VM_MIN_KERNEL_ADDRESS;
-#endif
-
 #define INKERNEL(va) ((intptr_t)(va) < 0) /* XXX horror */
 
 struct amd64_frame {

Index: src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.10 src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.11
--- src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.10	Tue Jun  5 08:04:19 2018
+++ src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c	Thu Aug 16 10:14:51 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.10 2018/06/05 12:04:19 christos Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.11 2018/08/16 14:14:51 christos Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -48,8 +48,6 @@
 #include 
 #include 
 
-extern uintptr_t 	kernelbase;
-
 int dtrace_invop(uintptr_t, struct trapframe *, uintptr_t);
 
 typedef struct dtrace_invop_hdlr {
@@ -117,7 +115,7 @@ dtrace_invop_remove(int (*func)(uintptr_
 void
 dtrace_toxic_ranges(void (*func)(uintptr_t base, uintptr_t limit))
 {
-	(*func)(0, kernelbase);
+	(*func)(0, VM_MIN_KERNEL_ADDRESS);
 }
 
 static void



CVS commit: src/external/cddl/osnet/dev/dtrace/amd64

2018-08-12 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Aug 12 16:07:27 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/dtrace/amd64: dtrace_isa.c

Log Message:
handle variable kernel vm min address


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 \
src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.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/dev/dtrace/amd64/dtrace_isa.c
diff -u src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.8 src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.9
--- src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.8	Fri Jul 27 03:32:59 2018
+++ src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c	Sun Aug 12 12:07:27 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_isa.c,v 1.8 2018/07/27 07:32:59 maxv Exp $	*/
+/*	$NetBSD: dtrace_isa.c,v 1.9 2018/08/12 16:07:27 christos Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -45,7 +45,11 @@ uint16_t dtrace_fuword16_nocheck(void *)
 uint32_t dtrace_fuword32_nocheck(void *);
 uint64_t dtrace_fuword64_nocheck(void *);
 
+#ifdef VM_MIN_KERNEL_ADDRESS_DEFAULT
+__strong_alias(kernelbase, vm_min_kernel_address)
+#else
 uintptr_t kernelbase = (uintptr_t)VM_MIN_KERNEL_ADDRESS;
+#endif
 
 #define INKERNEL(va) ((intptr_t)(va) < 0) /* XXX horror */
 



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-07-31 Thread Juergen Hannken-Illjes
Module Name:src
Committed By:   hannken
Date:   Tue Jul 31 09:33:50 UTC 2018

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

Log Message:
Initialize z_lockf for new znodes.

Ok: Chuck Silvers


To generate a diff of this commit:
cvs rdiff -u -r1.20 -r1.21 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.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_znode.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.20 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.21
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c:1.20	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_znode.c	Tue Jul 31 09:33:50 2018
@@ -1309,6 +1309,7 @@ skip_lookup:
 	zp->z_blksz = blksz;
 	zp->z_seq = 0x7A4653;
 	zp->z_sync_cnt = 0;
+	zp->z_lockf = NULL;
 
 	zfs_znode_sa_init(zfsvfs, zp, db, obj_type, hdl);
 



CVS commit: src/external/cddl/osnet/dev/dtrace/amd64

2018-07-27 Thread Maxime Villard
Module Name:src
Committed By:   maxv
Date:   Fri Jul 27 07:32:59 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/dtrace/amd64: dtrace_isa.c

Log Message:
Replace KERN_BASE by VM_MIN_KERNEL_ADDRESS. Also add XXX on INKERNEL.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.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/dev/dtrace/amd64/dtrace_isa.c
diff -u src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.7 src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.8
--- src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c:1.7	Mon May 28 21:05:03 2018
+++ src/external/cddl/osnet/dev/dtrace/amd64/dtrace_isa.c	Fri Jul 27 07:32:59 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_isa.c,v 1.7 2018/05/28 21:05:03 chs Exp $	*/
+/*	$NetBSD: dtrace_isa.c,v 1.8 2018/07/27 07:32:59 maxv Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -45,9 +45,9 @@ uint16_t dtrace_fuword16_nocheck(void *)
 uint32_t dtrace_fuword32_nocheck(void *);
 uint64_t dtrace_fuword64_nocheck(void *);
 
-uintptr_t kernelbase = (uintptr_t)KERN_BASE;
+uintptr_t kernelbase = (uintptr_t)VM_MIN_KERNEL_ADDRESS;
 
-#define INKERNEL(va) ((intptr_t)(va) < 0)
+#define INKERNEL(va) ((intptr_t)(va) < 0) /* XXX horror */
 
 struct amd64_frame {
 	struct amd64_frame	*f_frame;



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-06-16 Thread Andreas Gustafsson
Module Name:src
Committed By:   gson
Date:   Sat Jun 16 15:18:33 UTC 2018

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

Log Message:
Use space between words


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.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_ioctl.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.11 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.12
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c:1.11	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_ioctl.c	Sat Jun 16 15:18:33 2018
@@ -7133,7 +7133,7 @@ zfs_modcmd(modcmd_t cmd, void *arg)
 		printf("WARNING: ZFS on NetBSD is under development\n");
 		availrmem = (uint64_t)physmem * PAGE_SIZE / 1048576;
 		if (availrmem < ZFS_MIN_MEGS * 80 / 100) {
-			printf("ERROR: at least %dMB of memory required to"
+			printf("ERROR: at least %dMB of memory required to "
 			"use ZFS\n", ZFS_MIN_MEGS);
 			return ENOMEM;
 		}



CVS commit: src/external/cddl/osnet/dist/uts/common/rpc

2018-06-12 Thread Maya Rashish
Module Name:src
Committed By:   maya
Date:   Wed Jun 13 04:21:21 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/uts/common/rpc: types.h

Log Message:
Avoid declaring ulonglong_t.

Comment here already says it isn't necessary and will be removed.
Hasten the process for us and avoid the problematic typedef.

This is useful because u_longlong_t would otherwise need to be
provided by compat headers.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/dist/uts/common/rpc/types.h

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/rpc/types.h
diff -u src/external/cddl/osnet/dist/uts/common/rpc/types.h:1.2 src/external/cddl/osnet/dist/uts/common/rpc/types.h:1.3
--- src/external/cddl/osnet/dist/uts/common/rpc/types.h:1.2	Fri Apr 10 22:44:20 2015
+++ src/external/cddl/osnet/dist/uts/common/rpc/types.h	Wed Jun 13 04:21:21 2018
@@ -49,13 +49,6 @@ extern "C" {
 typedef int bool_t;
 typedef int enum_t;
 
-/*
- * The ulonglong_t type was introduced to workaround an rpcgen bug
- * that has been fixed, this next typedef will be removed in a future release.
- * Do *NOT* use!
- */
-typedef u_longlong_t ulonglong_t;
-
 #if defined(_LP64) || defined(_I32LPx)
 typedef	uint32_t rpcprog_t;
 typedef	uint32_t rpcvers_t;



CVS commit: src/external/cddl/osnet/dev/systrace

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 17:47:10 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/systrace: systrace.c

Log Message:
Correct compilation of osnet/dev/systrace/systrace.c under Clang

Mark arguments to dtrace_probe_lookup() with __UNCONST().
The proper fix constifying it causes pollution of const in too many files.

This could be done with -W flags, but they are incompatible between
compilers.

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/cddl/osnet/dev/systrace/systrace.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/dev/systrace/systrace.c
diff -u src/external/cddl/osnet/dev/systrace/systrace.c:1.10 src/external/cddl/osnet/dev/systrace/systrace.c:1.11
--- src/external/cddl/osnet/dev/systrace/systrace.c:1.10	Mon May 28 21:05:04 2018
+++ src/external/cddl/osnet/dev/systrace/systrace.c	Wed Jun  6 17:47:10 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: systrace.c,v 1.10 2018/05/28 21:05:04 chs Exp $	*/
+/*	$NetBSD: systrace.c,v 1.11 2018/06/06 17:47:10 kamil Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -356,7 +356,7 @@ systrace_provide(void *arg, dtrace_probe
 #else
 		const char *name = ALTSYSCALLNAMES[i] ? ALTSYSCALLNAMES[i] :
 		SYSCALLNAMES[i];
-		if (dtrace_probe_lookup(systrace_id, NULL, name, "entry") != 0)
+		if (dtrace_probe_lookup(systrace_id, NULL, __UNCONST(name), __UNCONST("entry")) != 0)
 			continue;
 
 		(void) dtrace_probe_create(systrace_id, NULL,



CVS commit: src/external/cddl/osnet/dev/profile

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 17:19:49 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/profile: profile.c

Log Message:
Correct compilation of osnet/dev/profile/profile.c under Clang

Constify char* types when initialized with liternals.

This could be done with -W flags, but they are incompatible between
compilers.

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/cddl/osnet/dev/profile/profile.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/dev/profile/profile.c
diff -u src/external/cddl/osnet/dev/profile/profile.c:1.8 src/external/cddl/osnet/dev/profile/profile.c:1.9
--- src/external/cddl/osnet/dev/profile/profile.c:1.8	Mon May 28 21:05:03 2018
+++ src/external/cddl/osnet/dev/profile/profile.c	Wed Jun  6 17:19:49 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: profile.c,v 1.8 2018/05/28 21:05:03 chs Exp $	*/
+/*	$NetBSD: profile.c,v 1.9 2018/06/06 17:19:49 kamil Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -434,7 +434,7 @@ profile_provide(void *arg, dtrace_probed
 	char *name, *suffix = NULL;
 
 	const struct {
-		char *prefix;
+		const char *prefix;
 		int kind;
 	} types[] = {
 		{ PROF_PREFIX_PROFILE, PROF_PROFILE },
@@ -443,7 +443,7 @@ profile_provide(void *arg, dtrace_probed
 	};
 
 	const struct {
-		char *name;
+		const char *name;
 		hrtime_t mult;
 	} suffixes[] = {
 		{ "ns", 	NANOSEC / NANOSEC },



CVS commit: src/external/cddl/osnet/dev/dtrace/x86

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 17:16:56 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/dtrace/x86: dis_tables.c

Log Message:
Correct compilation of osnet/dev/dtrace/x86/dis_tables.c under Clang

Constify dgr_suffix.

This could be done with -W flags, but they are incompatible between
compilers.

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.1 -r1.2 src/external/cddl/osnet/dev/dtrace/x86/dis_tables.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/dev/dtrace/x86/dis_tables.c
diff -u src/external/cddl/osnet/dev/dtrace/x86/dis_tables.c:1.1 src/external/cddl/osnet/dev/dtrace/x86/dis_tables.c:1.2
--- src/external/cddl/osnet/dev/dtrace/x86/dis_tables.c:1.1	Mon May 28 23:47:39 2018
+++ src/external/cddl/osnet/dev/dtrace/x86/dis_tables.c	Wed Jun  6 17:16:56 2018
@@ -2345,7 +2345,7 @@ typedef struct dis_gather_regs {
 	uint_t dgr_arg0;	/* src reg */
 	uint_t dgr_arg1;	/* vsib reg */
 	uint_t dgr_arg2;	/* dst reg */
-	char   *dgr_suffix;	/* suffix to append */
+	const char   *dgr_suffix;	/* suffix to append */
 } dis_gather_regs_t;
 
 static dis_gather_regs_t dis_vgather[4][2][2] = {



CVS commit: src/external/cddl/osnet/dev/dtrace

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 15:54:03 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/dtrace: dtrace_hacks.c

Log Message:
Correct compilation of osnet/dev/dtrace/dtrace_hacks.c under Clang

Use __UNCONST() to remove const from an argument.

This could be done with -W flags, but they are incompatible between
compilers.

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/cddl/osnet/dev/dtrace/dtrace_hacks.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/dev/dtrace/dtrace_hacks.c
diff -u src/external/cddl/osnet/dev/dtrace/dtrace_hacks.c:1.6 src/external/cddl/osnet/dev/dtrace/dtrace_hacks.c:1.7
--- src/external/cddl/osnet/dev/dtrace/dtrace_hacks.c:1.6	Mon May 28 21:05:03 2018
+++ src/external/cddl/osnet/dev/dtrace/dtrace_hacks.c	Wed Jun  6 15:54:03 2018
@@ -1,13 +1,15 @@
-/*	$NetBSD: dtrace_hacks.c,v 1.6 2018/05/28 21:05:03 chs Exp $	*/
+/*	$NetBSD: dtrace_hacks.c,v 1.7 2018/06/06 15:54:03 kamil Exp $	*/
 
 /* $FreeBSD: head/sys/cddl/dev/dtrace/dtrace_hacks.c 281916 2015-04-24 03:19:30Z markj $ */
 /* XXX Hacks */
 
+#include 
+
 dtrace_cacheid_t dtrace_predcache_id;
 
 boolean_t
 priv_policy_only(const cred_t *cr, int b, boolean_t c)
 {
 
-	return kauth_authorize_generic(cr, KAUTH_GENERIC_ISSUSER, NULL) == 0;
+	return kauth_authorize_generic(__UNCONST(cr), KAUTH_GENERIC_ISSUSER, NULL) == 0;
 }



CVS commit: src/external/cddl/osnet/dist/uts/common/dtrace

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 15:24:57 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/uts/common/dtrace: dtrace.c

Log Message:
Correct compilation of osnet/dist/uts/common/dtrace/dtrace.c under Clang

Add missing const keywords in dtrace_strncmp().

Initialize lim1 and lim2 to zero always. This prevents a false positive
about potentially unset but used variable.

This could be done with -W flags, but they are incompatible between
compilers.

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.36 -r1.37 \
src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.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/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.36 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.37
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.36	Mon May 28 21:05:06 2018
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Wed Jun  6 15:24:57 2018
@@ -1263,7 +1263,7 @@ dtrace_strtoll(char *input, int base, si
  * Compare two strings using safe loads.
  */
 static int
-dtrace_strncmp(char *s1, char *s2, size_t limit)
+dtrace_strncmp(const char *s1, const char *s2, size_t limit)
 {
 	uint8_t c1, c2;
 	volatile uint16_t *flags;
@@ -6592,7 +6592,7 @@ dtrace_dif_emulate(dtrace_difo_t *difo, 
 			size_t sz = state->dts_options[DTRACEOPT_STRSIZE];
 			uintptr_t s1 = regs[r1];
 			uintptr_t s2 = regs[r2];
-			size_t lim1, lim2;
+			size_t lim1 = 0, lim2 = 0;
 
 			if (s1 != 0 &&
 			!dtrace_strcanload(s1, sz, &lim1, mstate, vstate))



CVS commit: src/external/cddl/osnet

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 14:47:54 UTC 2018

Modified Files:
src/external/cddl/osnet: Makefile.zfs

Log Message:
Make cddl/osnet/Makefile.zfs compatible with MKLLVM=yes

Clang/LLVM does not recognize:
 - -Wno-discarded-qualifiers

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/external/cddl/osnet/Makefile.zfs

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/Makefile.zfs
diff -u src/external/cddl/osnet/Makefile.zfs:1.5 src/external/cddl/osnet/Makefile.zfs:1.6
--- src/external/cddl/osnet/Makefile.zfs:1.5	Mon May 28 21:05:02 2018
+++ src/external/cddl/osnet/Makefile.zfs	Wed Jun  6 14:47:54 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.zfs,v 1.5 2018/05/28 21:05:02 chs Exp $
+#	$NetBSD: Makefile.zfs,v 1.6 2018/06/06 14:47:54 kamil Exp $
 
 .include 
 
@@ -42,7 +42,9 @@ CPPFLAGS+=  -I${ZFSDIR}/dist/common
 CWARNFLAGS+=	-Wno-missing-field-initializers
 CWARNFLAGS+=	-Wno-strict-prototypes
 CWARNFLAGS+=	-Wno-cast-qual
+.if defined(HAVE_LLVM)
 CWARNFLAGS+=	-Wno-discarded-qualifiers
+.endif
 CWARNFLAGS+=	-Wno-switch
 CWARNFLAGS+=	-Wno-missing-prototypes
 CWARNFLAGS+=	-Wno-unused-variable



CVS commit: src/external/cddl/osnet/dist/cmd/dtrace

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 14:46:58 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/cmd/dtrace: dtrace.c

Log Message:
Correct compilation of osnet/dist/cmd/dtrace/dtrace.c under Clang

Add missing const keywords.

This could be done with -W flags, but they are incompatible between
compilers.

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.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/cmd/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.11 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.12
--- src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.11	Mon May 28 21:05:04 2018
+++ src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c	Wed Jun  6 14:46:58 2018
@@ -555,7 +555,7 @@ static void
 print_probe_info(const dtrace_probeinfo_t *p)
 {
 	char buf[BUFSIZ];
-	char *user;
+	const char *user;
 	int i;
 
 	oprintf("\n\tProbe Description Attributes\n");
@@ -1164,8 +1164,8 @@ go(void)
 	int i;
 
 	struct {
-		char *name;
-		char *optname;
+		const char *name;
+		const char *optname;
 		dtrace_optval_t val;
 	} bufs[] = {
 		{ "buffer size", "bufsize" },
@@ -1221,7 +1221,7 @@ go(void)
 
 	for (i = 0; rates[i].name != NULL; i++) {
 		dtrace_optval_t nval;
-		char *dir;
+		const char *dir;
 
 		if (rates[i].val == DTRACEOPT_UNSET)
 			continue;



CVS commit: src/external/cddl/osnet/usr.sbin/dtrace

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 14:31:45 UTC 2018

Modified Files:
src/external/cddl/osnet/usr.sbin/dtrace: Makefile

Log Message:
Make cddl/osnet/usr.sbin/dtrace -W compatible with MKLLVM=yes

Clang/LLVM does not recognize:
 - -Wno-discarded-qualifiers
 - -Wno-unused-but-set-variable

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 src/external/cddl/osnet/usr.sbin/dtrace/Makefile

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/usr.sbin/dtrace/Makefile
diff -u src/external/cddl/osnet/usr.sbin/dtrace/Makefile:1.10 src/external/cddl/osnet/usr.sbin/dtrace/Makefile:1.11
--- src/external/cddl/osnet/usr.sbin/dtrace/Makefile:1.10	Mon May 28 21:05:11 2018
+++ src/external/cddl/osnet/usr.sbin/dtrace/Makefile	Wed Jun  6 14:31:45 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.10 2018/05/28 21:05:11 chs Exp $
+#	$NetBSD: Makefile,v 1.11 2018/06/06 14:31:45 kamil Exp $
 
 # $FreeBSD: head/cddl/usr.sbin/dtrace/Makefile 314654 2017-03-04 11:30:04Z ngie $
 
@@ -32,9 +32,11 @@ COPTS.dtrace.c += -Wno-stack-protector
 COPTS.dtrace.c += -Wno-format-extra-args
 
 COPTS.dtrace.c += -Wno-shadow
+.if defined(HAVE_GCC)
 COPTS.dtrace.c += -Wno-discarded-qualifiers
-COPTS.dtrace.c += -Wno-missing-field-initializers
 COPTS.dtrace.c += -Wno-unused-but-set-variable
+.endif
+COPTS.dtrace.c += -Wno-missing-field-initializers
 COPTS.dtrace.c += -Wno-format
 
 LDFLAGS+=	-pthread



CVS commit: src/external/cddl/osnet/lib/libdtrace

2018-06-06 Thread Kamil Rytarowski
Module Name:src
Committed By:   kamil
Date:   Wed Jun  6 14:18:39 UTC 2018

Modified Files:
src/external/cddl/osnet/lib/libdtrace: Makefile

Log Message:
Make cddl/osnet/lib/libdtrace buildable with MKLLVM=yes

Clang/LLVM does not recognize:
 - -Wno-maybe-uninitialized
 - -Wno-unused-but-set-variable

MKGCC=yes still builds the distribution.

This is a step forward functional MKLLVM=yes HAVE_LLVM=yes build.

Sponsored by 


To generate a diff of this commit:
cvs rdiff -u -r1.17 -r1.18 src/external/cddl/osnet/lib/libdtrace/Makefile

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/lib/libdtrace/Makefile
diff -u src/external/cddl/osnet/lib/libdtrace/Makefile:1.17 src/external/cddl/osnet/lib/libdtrace/Makefile:1.18
--- src/external/cddl/osnet/lib/libdtrace/Makefile:1.17	Mon May 28 21:05:09 2018
+++ src/external/cddl/osnet/lib/libdtrace/Makefile	Wed Jun  6 14:18:39 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.17 2018/05/28 21:05:09 chs Exp $
+#	$NetBSD: Makefile,v 1.18 2018/06/06 14:18:39 kamil Exp $
 
 # $FreeBSD: head/cddl/lib/libdtrace/Makefile 314654 2017-03-04 11:30:04Z ngie $
 
@@ -86,9 +86,14 @@ COPTS.dt_program.c	+= -Wno-stack-protect
 COPTS.dt_provider.c	+= -Wno-stack-protector
 COPTS.dt_subr.c		+= -Wno-stack-protector
 
-COPTS.dt_consume.c	+= -Wno-parentheses -Wno-maybe-uninitialized
+COPTS.dt_consume.c	+= -Wno-parentheses
+.if defined(HAVE_GCC)
+COPTS.dt_consume.c	+= -Wno-maybe-uninitialized
+.endif
 COPTS.dt_options.c	+= -Wno-parentheses
+.if defined(HAVE_GCC)
 COPTS.dt_pid.c		+= -Wno-unused-but-set-variable
+.endif
 COPTS.dt_isadep.c	+= -Wno-unused-variable
 
 .if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
@@ -96,7 +101,10 @@ CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/
 CPPFLAGS+=	-I${.CURDIR}/../../dev/dtrace/x86
 .PATH:		${.CURDIR}/../../dist/lib/libdtrace/i386 ${.CURDIR}/../../dev/dtrace/x86
 SRCS+=		dis_tables.c
-COPTS.dis_tables.c	+= -Wno-parentheses -Wno-maybe-uninitialized
+COPTS.dis_tables.c	+= -Wno-parentheses
+.if defined(HAVE_GCC)
+COPTS.dis_tables.c	+= -Wno-maybe-uninitialized
+.endif
 .elif ${MACHINE_ARCH} == "sparc64"
 CPPFLAGS+=	-I${OPENSOLARIS_SYS_DISTDIR}/uts/sparc
 .elif ${MACHINE_CPU} == "arm"



CVS commit: src/external/cddl/osnet/dev/dtrace/amd64

2018-06-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Tue Jun  5 12:04:19 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/dtrace/amd64: dtrace_subr.c

Log Message:
remove  done in the dtrace header now.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.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/dev/dtrace/amd64/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.9 src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.10
--- src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c:1.9	Mon May 28 17:05:03 2018
+++ src/external/cddl/osnet/dev/dtrace/amd64/dtrace_subr.c	Tue Jun  5 08:04:19 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.9 2018/05/28 21:05:03 chs Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.10 2018/06/05 12:04:19 christos Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -33,7 +33,6 @@
  * Copyright (c) 2011, Joyent, Inc. All rights reserved.
  */
 
-#include 
 #include 
 #include 
 #include 



CVS commit: src/external/cddl/osnet/dist/uts/common/sys

2018-06-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Jun  4 21:36:03 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/uts/common/sys: dtrace.h

Log Message:
add  because the header needs proc_t kthread_t etc.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/external/cddl/osnet/dist/uts/common/sys/dtrace.h

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/sys/dtrace.h
diff -u src/external/cddl/osnet/dist/uts/common/sys/dtrace.h:1.16 src/external/cddl/osnet/dist/uts/common/sys/dtrace.h:1.17
--- src/external/cddl/osnet/dist/uts/common/sys/dtrace.h:1.16	Mon May 28 17:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/sys/dtrace.h	Mon Jun  4 17:36:03 2018
@@ -59,6 +59,7 @@ extern "C" {
 #include 
 #include 
 #include 
+#include 
 #include 
 typedef int model_t;
 #endif



CVS commit: src/external/cddl/osnet/dev/dtrace/i386

2018-06-04 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Jun  4 21:35:29 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/dtrace/i386: dtrace_subr.c

Log Message:
better to put this () in the dtrace header where the definitions
are needed.


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 \
src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.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/dev/dtrace/i386/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.10 src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.11
--- src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.10	Mon Jun  4 16:12:45 2018
+++ src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c	Mon Jun  4 17:35:29 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.10 2018/06/04 20:12:45 kre Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.11 2018/06/04 21:35:29 christos Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -33,7 +33,6 @@
  * Copyright (c) 2011, Joyent, Inc. All rights reserved.
  */
 
-#include 
 #include 
 #include 
 #include 



CVS commit: src/external/cddl/osnet/dev/dtrace/i386

2018-06-04 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Mon Jun  4 20:12:46 UTC 2018

Modified Files:
src/external/cddl/osnet/dev/dtrace/i386: dtrace_subr.c

Log Message:
The (dtrace version of)  is needed for kthread_t
(same as the amd64 version).   This should fix (one of) the
current i386 build breakages.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.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/dev/dtrace/i386/dtrace_subr.c
diff -u src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.9 src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.10
--- src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c:1.9	Mon May 28 21:05:03 2018
+++ src/external/cddl/osnet/dev/dtrace/i386/dtrace_subr.c	Mon Jun  4 20:12:45 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: dtrace_subr.c,v 1.9 2018/05/28 21:05:03 chs Exp $	*/
+/*	$NetBSD: dtrace_subr.c,v 1.10 2018/06/04 20:12:45 kre Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -33,6 +33,7 @@
  * Copyright (c) 2011, Joyent, Inc. All rights reserved.
  */
 
+#include 
 #include 
 #include 
 #include 



CVS commit: src/external/cddl/osnet/sys/sys

2018-06-03 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jun  3 20:59:49 UTC 2018

Added Files:
src/external/cddl/osnet/sys/sys: README

Log Message:
Add a blurb of a general approach how to maintain these files.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 src/external/cddl/osnet/sys/sys/README

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

Added files:

Index: src/external/cddl/osnet/sys/sys/README
diff -u /dev/null src/external/cddl/osnet/sys/sys/README:1.1
--- /dev/null	Sun Jun  3 16:59:49 2018
+++ src/external/cddl/osnet/sys/sys/README	Sun Jun  3 16:59:49 2018
@@ -0,0 +1,41 @@
+# $NetBSD: README,v 1.1 2018/06/03 20:59:49 christos Exp $
+
+General guidelines for system wrapper header maintainance.
+
+There are two kinds of system header files:
+1. "infrastructure" headers that provide base definitions and
+   other stuff that other headers use (systm.h)
+2.  "feature" headers that provide a specific feature (proc.h).
+
+The solaris ones generally augment ours; the template should be:
+
+solaris/foo.h:
+
+#ifndef SOLARIS_SYS_FOO_H
+#define SOLARIS_SYS_FOO_H
+
+/*
+ * This include should not be in #ifdef KERNEL.
+ * It is the job of the header itself to protect itself.
+ * Unless Solaris exposes this header in userland, where
+ * it is probably better to fix our header...
+ */
+#include_next 
+
+/* More Solaris-specific definitions */
+
+#endif /* SOLARIS_SYS_FOO_H */
+
+Now there caaes where the solaris headers expose more stuff than ours,
+so we need to include more of our system headers from theirs. When that
+happens the rule should be that:
+
+Their infrastructure headers should not include our feature headers,
+but can include our infrastructure headers, otherwise we end up with
+circular dependencies. Violations to the rule should be kept to a minimum
+and tested carefully.
+
+In the general case, if we want the augmented symbols we should include
+the solaris ones first in the search path.
+
+



CVS commit: src/external/cddl/osnet/sys/sys

2018-06-03 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jun  3 14:56:52 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: mutex.h

Log Message:
The native mutex.h has a userland visible portion. make it so and fix the
build.


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/cddl/osnet/sys/sys/mutex.h

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/sys/sys/mutex.h
diff -u src/external/cddl/osnet/sys/sys/mutex.h:1.4 src/external/cddl/osnet/sys/sys/mutex.h:1.5
--- src/external/cddl/osnet/sys/sys/mutex.h:1.4	Mon May 28 17:05:10 2018
+++ src/external/cddl/osnet/sys/sys/mutex.h	Sun Jun  3 10:56:52 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: mutex.h,v 1.4 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: mutex.h,v 1.5 2018/06/03 14:56:52 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -32,10 +32,10 @@
 #ifndef _OPENSOLARIS_SYS_MUTEX_H_
 #define	_OPENSOLARIS_SYS_MUTEX_H_
 
-#ifdef _KERNEL
-
 #include_next 
 
+#ifdef _KERNEL
+
 #define	MUTEX_HELD(x)		(mutex_owned(x))
 #define	MUTEX_NOT_HELD(x)	(!mutex_owned(x) || panicstr != NULL)
 #define	mutex_init(a, b, c, d)	mutex_init(a, MUTEX_DEFAULT, IPL_NONE)



CVS commit: src/external/cddl/osnet/sys/sys

2018-06-02 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Jun  3 05:55:08 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: proc.h sysmacros.h time.h types.h

Log Message:
tweak the osnet compat headers to allow building on MacOS and Linux hosts.


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/cddl/osnet/sys/sys/proc.h
cvs rdiff -u -r1.8 -r1.9 src/external/cddl/osnet/sys/sys/sysmacros.h
cvs rdiff -u -r1.11 -r1.12 src/external/cddl/osnet/sys/sys/time.h
cvs rdiff -u -r1.19 -r1.20 src/external/cddl/osnet/sys/sys/types.h

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/sys/sys/proc.h
diff -u src/external/cddl/osnet/sys/sys/proc.h:1.7 src/external/cddl/osnet/sys/sys/proc.h:1.8
--- src/external/cddl/osnet/sys/sys/proc.h:1.7	Sat Jun  2 18:46:34 2018
+++ src/external/cddl/osnet/sys/sys/proc.h	Sun Jun  3 05:55:08 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: proc.h,v 1.7 2018/06/02 18:46:34 christos Exp $	*/
+/*	$NetBSD: proc.h,v 1.8 2018/06/03 05:55:08 chs Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -61,7 +61,9 @@
 #define	_OPENSOLARIS_SYS_PROC_H_
 
 #include_next 
+#ifdef __NetBSD__
 #include 
+#endif
 
 #ifdef _KERNEL
 

Index: src/external/cddl/osnet/sys/sys/sysmacros.h
diff -u src/external/cddl/osnet/sys/sys/sysmacros.h:1.8 src/external/cddl/osnet/sys/sys/sysmacros.h:1.9
--- src/external/cddl/osnet/sys/sys/sysmacros.h:1.8	Mon May 28 21:05:10 2018
+++ src/external/cddl/osnet/sys/sys/sysmacros.h	Sun Jun  3 05:55:08 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: sysmacros.h,v 1.8 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: sysmacros.h,v 1.9 2018/06/03 05:55:08 chs Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -32,6 +32,16 @@
 #ifndef _SYS_SYSMACROS_H
 #define	_SYS_SYSMACROS_H
 
+/*
+ * Linux includes  from  with
+ * __SYSMACROS_DEPRECATED_INCLUSION defined during the include,
+ * but some of the definitions here break in that context,
+ * so if that symbol is defined then only define the few macros
+ * that we need there.
+ */
+
+#ifndef __SYSMACROS_DEPRECATED_INCLUSION
+
 #include 
 #include 
 
@@ -52,6 +62,8 @@ extern "C" {
 #define	btodt(BB)	((BB) >> DEV_BSHIFT)
 #define	lbtod(BB)	(((offset_t)(BB) + DEV_BSIZE - 1) >> DEV_BSHIFT)
 
+#endif /* __SYSMACROS_DEPRECATED_INCLUSION */
+
 /* common macros */
 #ifndef MIN
 #define	MIN(a, b)	((a) < (b) ? (a) : (b))
@@ -66,6 +78,8 @@ extern "C" {
 #define	SIGNOF(a)	((a) < 0 ? -1 : (a) > 0)
 #endif
 
+#ifndef __SYSMACROS_DEPRECATED_INCLUSION
+
 #ifdef _KERNEL
 
 /*
@@ -469,4 +483,6 @@ highbit64(uint64_t i)
 }
 #endif
 
+#endif	/* __SYSMACROS_DEPRECATED_INCLUSION */
+
 #endif	/* _SYS_SYSMACROS_H */

Index: src/external/cddl/osnet/sys/sys/time.h
diff -u src/external/cddl/osnet/sys/sys/time.h:1.11 src/external/cddl/osnet/sys/sys/time.h:1.12
--- src/external/cddl/osnet/sys/sys/time.h:1.11	Sat Jun  2 18:46:34 2018
+++ src/external/cddl/osnet/sys/sys/time.h	Sun Jun  3 05:55:08 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: time.h,v 1.11 2018/06/02 18:46:34 christos Exp $	*/
+/*	$NetBSD: time.h,v 1.12 2018/06/03 05:55:08 chs Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek 
@@ -92,8 +92,13 @@ ddi_get_lbolt64(void)
 
 #else
 
+#ifdef __NetBSD__
 int clock_gettime(clockid_t, struct timespec *)
 __RENAME(__clock_gettime50);
+#endif
+#ifdef __linux__
+#include 
+#endif
 
 static __inline hrtime_t gethrtime(void) {
 	struct timespec ts;

Index: src/external/cddl/osnet/sys/sys/types.h
diff -u src/external/cddl/osnet/sys/sys/types.h:1.19 src/external/cddl/osnet/sys/sys/types.h:1.20
--- src/external/cddl/osnet/sys/sys/types.h:1.19	Fri Jun  1 00:56:19 2018
+++ src/external/cddl/osnet/sys/sys/types.h	Sun Jun  3 05:55:08 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: types.h,v 1.19 2018/06/01 00:56:19 kre Exp $	*/
+/*	$NetBSD: types.h,v 1.20 2018/06/03 05:55:08 chs Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -65,11 +65,13 @@
  */
 #define longlong_t __hide_longlong_t
 #define u_longlong_t __hide_u_longlong_t
+
 #ifndef _KERNEL
 #include 
 #else
 #include 
 #endif
+
 #ifndef HAVE_NBTOOLS_CONFIG_H
 #ifdef _NETBSD_SOURCE
 #include_next 
@@ -81,6 +83,7 @@
 #undef _NETBSD_SOURCE
 #endif
 #endif
+
 #undef longlong_t
 #undef u_longlong_t
 #ifndef __defined_ll_t



CVS commit: src/external/cddl/osnet/dist/uts/common/fs/zfs

2018-06-02 Thread Chuck Silvers
Module Name:src
Committed By:   chs
Date:   Sun Jun  3 03:05:56 UTC 2018

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

Log Message:
avoid calling kpause() with a delay of 0.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_tx.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/dmu_tx.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_tx.c:1.2 src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_tx.c:1.3
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_tx.c:1.2	Mon May 28 21:05:07 2018
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/dmu_tx.c	Sun Jun  3 03:05:56 2018
@@ -1151,7 +1151,11 @@ dmu_tx_delay(dmu_tx_t *tx, uint64_t dirt
 	zfs_delay_resolution_ns * SBT_1NS, C_ABSOLUTE);
 #endif
 #ifdef __NetBSD__
-	kpause("dmu_tx_delay", false, (wakeup - now) * hz / 10, NULL);
+	int timo = (wakeup - now) * hz / 10;
+
+	if (timo == 0)
+		timo = 1;
+	kpause("dmu_tx_delay", false, timo, NULL);
 #endif
 #else
 	hrtime_t delta = wakeup - gethrtime();



CVS commit: src/external/cddl/osnet/sys/sys

2018-06-02 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jun  2 18:46:34 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: proc.h systm.h time.h

Log Message:
- Remove more extraneous includes to avoid circular dependencies with the
  real header files.
- Add  to  to avoid changing the source, but
  it should really belong to the source.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/cddl/osnet/sys/sys/proc.h
cvs rdiff -u -r1.5 -r1.6 src/external/cddl/osnet/sys/sys/systm.h
cvs rdiff -u -r1.10 -r1.11 src/external/cddl/osnet/sys/sys/time.h

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/sys/sys/proc.h
diff -u src/external/cddl/osnet/sys/sys/proc.h:1.6 src/external/cddl/osnet/sys/sys/proc.h:1.7
--- src/external/cddl/osnet/sys/sys/proc.h:1.6	Mon May 28 17:05:10 2018
+++ src/external/cddl/osnet/sys/sys/proc.h	Sat Jun  2 14:46:34 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: proc.h,v 1.6 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: proc.h,v 1.7 2018/06/02 18:46:34 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -60,7 +60,6 @@
 #ifndef _OPENSOLARIS_SYS_PROC_H_
 #define	_OPENSOLARIS_SYS_PROC_H_
 
-#include 
 #include_next 
 #include 
 

Index: src/external/cddl/osnet/sys/sys/systm.h
diff -u src/external/cddl/osnet/sys/sys/systm.h:1.5 src/external/cddl/osnet/sys/sys/systm.h:1.6
--- src/external/cddl/osnet/sys/sys/systm.h:1.5	Mon May 28 17:05:10 2018
+++ src/external/cddl/osnet/sys/sys/systm.h	Sat Jun  2 14:46:34 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: systm.h,v 1.5 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: systm.h,v 1.6 2018/06/02 18:46:34 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -57,8 +57,6 @@
  * $FreeBSD: head/sys/cddl/compat/opensolaris/sys/systm.h 296510 2016-03-08 17:27:13Z mav $
  */
 
-#include 
-
 #ifndef _OPENSOLARIS_SYS_SYSTM_H_
 #define	_OPENSOLARIS_SYS_SYSTM_H_
 
@@ -67,10 +65,9 @@
 #include_next 
 #endif
 
-#include 
-
 #ifdef _KERNEL
 #include 
+#include 
 
 #define	PAGESIZE	PAGE_SIZE
 #define	PAGEOFFSET	(PAGESIZE - 1)

Index: src/external/cddl/osnet/sys/sys/time.h
diff -u src/external/cddl/osnet/sys/sys/time.h:1.10 src/external/cddl/osnet/sys/sys/time.h:1.11
--- src/external/cddl/osnet/sys/sys/time.h:1.10	Thu May 31 20:56:19 2018
+++ src/external/cddl/osnet/sys/sys/time.h	Sat Jun  2 14:46:34 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: time.h,v 1.10 2018/06/01 00:56:19 kre Exp $	*/
+/*	$NetBSD: time.h,v 1.11 2018/06/02 18:46:34 christos Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek 
@@ -62,7 +62,6 @@ typedef longlong_t	hrtime_t;
 #define	NSEC_TO_TICK(nsec)	((nsec) / (NANOSEC / hz))
 
 #ifdef _KERNEL
-#include 
 
 static __inline hrtime_t
 gethrtime(void) {



CVS commit: src/external/cddl/osnet/sys/sys

2018-06-02 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jun  2 15:47:22 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: param.h

Log Message:
don't include 


To generate a diff of this commit:
cvs rdiff -u -r1.4 -r1.5 src/external/cddl/osnet/sys/sys/param.h

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/sys/sys/param.h
diff -u src/external/cddl/osnet/sys/sys/param.h:1.4 src/external/cddl/osnet/sys/sys/param.h:1.5
--- src/external/cddl/osnet/sys/sys/param.h:1.4	Mon May 28 17:05:10 2018
+++ src/external/cddl/osnet/sys/sys/param.h	Sat Jun  2 11:47:22 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: param.h,v 1.4 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: param.h,v 1.5 2018/06/02 15:47:22 christos Exp $	*/
 
 /*
  * Copyright (C) 2007 John Birrell 
@@ -29,8 +29,6 @@
  *
  */
 
-#include 
-
 #ifndef _COMPAT_OPENSOLARIS_SYS_PARAM_H_
 #define _COMPAT_OPENSOLARIS_SYS_PARAM_H_
 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2018-06-01 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Jun  2 01:19:46 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_module.c

Log Message:
Use a constant to prevent dynamic array allocation which messes up SSP.


To generate a diff of this commit:
cvs rdiff -u -r1.16 -r1.17 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.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/lib/libdtrace/common/dt_module.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.16 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.17
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c:1.16	Mon May 28 17:05:05 2018
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_module.c	Fri Jun  1 21:19:46 2018
@@ -1268,8 +1268,8 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 #ifdef __NetBSD__
 	mapbase = 0;
 	if (ismod) {
-		int maxmodules = 512;
-		modstat_t modstat_buf[maxmodules], *ms;
+#define	MAXMODULES 512
+		modstat_t modstat_buf[MAXMODULES], *ms;
 		struct iovec iov = { modstat_buf, sizeof(modstat_buf) };
 
 		if (modctl(MODCTL_STAT, &iov) < 0) {
@@ -1278,14 +1278,14 @@ dt_module_update(dtrace_hdl_t *dtp, stru
 			return;
 		}
 
-		for (i = 0; i < maxmodules; i++) {
+		for (i = 0; i < MAXMODULES; i++) {
 			ms = &modstat_buf[i];
 			if (!strcmp(name, ms->ms_name)) {
 mapbase = ms->ms_addr;
 break;
 			}
 		}
-		if (i == maxmodules) {
+		if (i == MAXMODULES) {
 			dt_dprintf("module %s not found\n", name);
 			return;
 		}



CVS commit: src/external/cddl/osnet/sys/sys

2018-05-31 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Fri Jun  1 00:56:19 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: opentypes.h time.h types.h

Log Message:
Avoid duplicate typedefs so these headers can be used
as part of tools build, when the base system compiler does
not allow duplicate type definitions.

Someone please fix this some better way than this!


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/sys/sys/opentypes.h
cvs rdiff -u -r1.9 -r1.10 src/external/cddl/osnet/sys/sys/time.h
cvs rdiff -u -r1.18 -r1.19 src/external/cddl/osnet/sys/sys/types.h

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/sys/sys/opentypes.h
diff -u src/external/cddl/osnet/sys/sys/opentypes.h:1.2 src/external/cddl/osnet/sys/sys/opentypes.h:1.3
--- src/external/cddl/osnet/sys/sys/opentypes.h:1.2	Mon May 28 21:05:10 2018
+++ src/external/cddl/osnet/sys/sys/opentypes.h	Fri Jun  1 00:56:19 2018
@@ -5,8 +5,11 @@
 #define	FMNAMESZ	8
 
 #if defined(__APPLE__) || defined(HAVE_NBTOOL_CONFIG_H)
+#ifndef __defined_ll_t
+#define __defined_ll_t
 typedef long long longlong_t;
 typedef unsigned long long u_longlong_t;
+#endif
 typedef unsigned long vsize_t;
 #endif
 
@@ -14,7 +17,10 @@ typedef unsigned int	size32_t;
 typedef unsigned int	caddr32_t;
 
 typedef	struct timespec	timestruc_t;
+#ifndef __defined_ts_t
+#define __defined_ts_t
 typedef	struct timespec	timespec_t;
+#endif
 typedef unsigned int	uint_t;
 typedef unsigned char	uchar_t;
 typedef unsigned short	ushort_t;
@@ -30,7 +36,10 @@ typedef id_t		ctid_t;
 #define	B_TRUE	1
 typedef int		boolean_t;
 
+#ifndef __defined_hr_t
+#define __defined_hr_t
 typedef longlong_t  hrtime_t;
+#endif
 typedef int32_t		t_scalar_t;
 typedef uint32_t	t_uscalar_t;
 #if defined(_KERNEL) || defined(_KERNTYPES)
@@ -61,7 +70,10 @@ typedef __caddr_t	caddr_t;	/* core addre
 typedef	longlong_t	offset_t;
 typedef	u_longlong_t	u_offset_t;
 typedef	uint64_t	upad64_t;
+#ifndef __defined_ts_t
+#define __defined_ts_t
 typedef	struct timespec	timespec_t;
+#endif
 typedef	int32_t		daddr32_t;
 typedef	int32_t		time32_t;
 

Index: src/external/cddl/osnet/sys/sys/time.h
diff -u src/external/cddl/osnet/sys/sys/time.h:1.9 src/external/cddl/osnet/sys/sys/time.h:1.10
--- src/external/cddl/osnet/sys/sys/time.h:1.9	Mon May 28 21:05:10 2018
+++ src/external/cddl/osnet/sys/sys/time.h	Fri Jun  1 00:56:19 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: time.h,v 1.9 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: time.h,v 1.10 2018/06/01 00:56:19 kre Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek 
@@ -45,7 +45,10 @@
 #define	NSEC2SEC(n)	((n) / (NANOSEC / SEC))
 #define	SEC2NSEC(m)	((hrtime_t)(m) * (NANOSEC / SEC))
 
+#ifndef __defined_hr_t
+#define __defined_hr_t
 typedef longlong_t	hrtime_t;
+#endif
 
 #if defined(__i386__) || defined(__powerpc__)
 #define	TIMESPEC_OVERFLOW(ts)		\

Index: src/external/cddl/osnet/sys/sys/types.h
diff -u src/external/cddl/osnet/sys/sys/types.h:1.18 src/external/cddl/osnet/sys/sys/types.h:1.19
--- src/external/cddl/osnet/sys/sys/types.h:1.18	Mon May 28 21:05:10 2018
+++ src/external/cddl/osnet/sys/sys/types.h	Fri Jun  1 00:56:19 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: types.h,v 1.18 2018/05/28 21:05:10 chs Exp $	*/
+/*	$NetBSD: types.h,v 1.19 2018/06/01 00:56:19 kre Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -83,8 +83,11 @@
 #endif
 #undef longlong_t
 #undef u_longlong_t
+#ifndef __defined_ll_t
+#define __defined_ll_t
 typedef long long longlong_t;
 typedef unsigned long long u_longlong_t;
+#endif
 
 #ifndef _KERNEL
 #include 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2018-05-28 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Tue May 29 01:09:49 UTC 2018

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: mknames.sh

Log Message:
Build fix attempt, use TOOL_AWK (with fallback to "awk") rather than "nawk".


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 \
src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh

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/lib/libdtrace/common/mknames.sh
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.7 src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.8
--- src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh:1.7	Tue Sep 29 23:50:52 2015
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/mknames.sh	Tue May 29 01:09:49 2018
@@ -46,7 +46,7 @@ dtrace_subrstr(dtrace_hdl_t *dtp, int su
 {\n\
 	switch (subr) {"
 
-nawk '
+${TOOL_AWK:-awk} '
 /^#define[ 	]*DIF_SUBR_/ && $2 != "DIF_SUBR_MAX" {
 	printf("\tcase %s: return (\"%s\");\n", $2, tolower(substr($2, 10)));
 }'



CVS commit: src/external/cddl/osnet/sys/sys

2018-01-07 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Jan  7 20:02:52 UTC 2018

Modified Files:
src/external/cddl/osnet/sys/sys: time.h uio.h

Log Message:
add casts


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/cddl/osnet/sys/sys/time.h
cvs rdiff -u -r1.9 -r1.10 src/external/cddl/osnet/sys/sys/uio.h

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/sys/sys/time.h
diff -u src/external/cddl/osnet/sys/sys/time.h:1.7 src/external/cddl/osnet/sys/sys/time.h:1.8
--- src/external/cddl/osnet/sys/sys/time.h:1.7	Thu Apr 28 07:45:02 2016
+++ src/external/cddl/osnet/sys/sys/time.h	Sun Jan  7 15:02:52 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: time.h,v 1.7 2016/04/28 11:45:02 christos Exp $	*/
+/*	$NetBSD: time.h,v 1.8 2018/01/07 20:02:52 christos Exp $	*/
 
 /*-
  * Copyright (c) 2007 Pawel Jakub Dawidek 
@@ -80,11 +80,12 @@ static __inline hrtime_t gethrtime(void)
 #ifdef CLOCK_REALTIME
 	struct timespec ts;
 	clock_gettime(CLOCK_REALTIME,&ts);
-	return (((u_int64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec);
+	return (hrtime_t)(((int64_t) ts.tv_sec) * NANOSEC + ts.tv_nsec);
 #else
 	struct timeval tv;
 	gettimeofday(&tv, NULL);
-	return (((u_int64_t) tv.tv_sec) * MICROSEC + tv.tv_usec) * 1000;
+	return (hrtime_t)
+	int64_t) tv.tv_sec) * MICROSEC + tv.tv_usec) * 1000);
 #endif
 }
 

Index: src/external/cddl/osnet/sys/sys/uio.h
diff -u src/external/cddl/osnet/sys/sys/uio.h:1.9 src/external/cddl/osnet/sys/sys/uio.h:1.10
--- src/external/cddl/osnet/sys/sys/uio.h:1.9	Fri Sep 25 23:32:17 2015
+++ src/external/cddl/osnet/sys/sys/uio.h	Sun Jan  7 15:02:52 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: uio.h,v 1.9 2015/09/26 03:32:17 christos Exp $	*/
+/*	$NetBSD: uio.h,v 1.10 2018/01/07 20:02:52 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -119,7 +119,7 @@ zfs_uiocopy(void *cp, size_t n, enum uio
 	if ((err = uiomove(cp, n, &uio2)) != 0)
 		return err;
 
-	*cbytes = uio->uio_resid - uio2.uio_resid;
+	*cbytes = (size_t)(uio->uio_resid - uio2.uio_resid);
 
 	return (0);
 }
@@ -139,9 +139,9 @@ zfs_uioskip(uio_t *uiop, size_t n)
 			continue;
 		}
 		iovp->iov_base = (char *)iovp->iov_base + niovb;
-		uiop->uio_offset += niovb;
+		uiop->uio_offset += (off_t)niovb;
 		iovp->iov_len -= niovb;
-		uiop->uio_resid -= niovb;
+		uiop->uio_resid -= (int)niovb;
 		n -= niovb;
 	}
 	



CVS commit: src/external/cddl/osnet/dist/tools/ctf/cvt

2017-12-30 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sun Dec 31 03:08:49 UTC 2017

Modified Files:
src/external/cddl/osnet/dist/tools/ctf/cvt: dwarf.c

Log Message:
add trivial handling for DW_ATE_UTF, does not work.


To generate a diff of this commit:
cvs rdiff -u -r1.23 -r1.24 src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.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/tools/ctf/cvt/dwarf.c
diff -u src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.23 src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.24
--- src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.23	Wed Jun  8 17:32:27 2016
+++ src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c	Sat Dec 30 22:08:49 2017
@@ -1536,6 +1536,12 @@ die_base_from_dwarf(dwarf_t *dw, Dwarf_D
 		intr->intr_signed = 1;
 		intr->intr_fformat = die_base_type2enc(dw, off, enc, sz);
 		break;
+	case DW_ATE_UTF:
+		// XXX: c++ char16_t/char32_t; we don't deal with it.
+		intr->intr_type = INTR_INT;
+		intr->intr_signed = 1;
+		intr->intr_iformat = 'v';
+		break;
 	default:
 		terminate("die %ju: unknown base type encoding 0x%jx\n",
 		(uintmax_t)off, (uintmax_t)enc);



CVS commit: src/external/cddl/osnet/sys/sys

2017-11-18 Thread Robert Elz
Module Name:src
Committed By:   kre
Date:   Sat Nov 18 18:52:59 UTC 2017

Modified Files:
src/external/cddl/osnet/sys/sys: kmem.h

Log Message:
Let's define symbols before using them.


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/cddl/osnet/sys/sys/kmem.h

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/sys/sys/kmem.h
diff -u src/external/cddl/osnet/sys/sys/kmem.h:1.8 src/external/cddl/osnet/sys/sys/kmem.h:1.9
--- src/external/cddl/osnet/sys/sys/kmem.h:1.8	Sat Nov 18 13:51:56 2017
+++ src/external/cddl/osnet/sys/sys/kmem.h	Sat Nov 18 18:52:59 2017
@@ -1,5 +1,5 @@
 
-/*	$NetBSD: kmem.h,v 1.8 2017/11/18 13:51:56 christos Exp $	*/
+/*	$NetBSD: kmem.h,v 1.9 2017/11/18 18:52:59 kre Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -37,6 +37,9 @@
 #include_next 
 #include_next 
 
+#define	KM_PUSHPAGE	0x00	/* XXXNETBSD */
+#define	KMC_NODEBUG	0x00
+
 typedef void kmem_cache_t;
 
 u_long	kmem_size(void);
@@ -88,7 +91,4 @@ kmem_cache_alloc(kmem_cache_t *cache, in
 #define	kmem_cache_free(cache, buf)		pool_cache_put(cache, buf)
 #define	kmem_cache_reap_now(cache)		pool_cache_invalidate(cache)
 
-#define	KM_PUSHPAGE	0x00	/* XXXNETBSD */
-#define	KMC_NODEBUG	0x00
-
 #endif	/* _OPENSOLARIS_SYS_KMEM_H_ */



CVS commit: src/external/cddl/osnet/sys/sys

2017-11-18 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Sat Nov 18 13:51:56 UTC 2017

Modified Files:
src/external/cddl/osnet/sys/sys: kmem.h

Log Message:
use symbolic constant for 0


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/external/cddl/osnet/sys/sys/kmem.h

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/sys/sys/kmem.h
diff -u src/external/cddl/osnet/sys/sys/kmem.h:1.7 src/external/cddl/osnet/sys/sys/kmem.h:1.8
--- src/external/cddl/osnet/sys/sys/kmem.h:1.7	Fri Nov 17 13:18:01 2017
+++ src/external/cddl/osnet/sys/sys/kmem.h	Sat Nov 18 08:51:56 2017
@@ -1,5 +1,5 @@
 
-/*	$NetBSD: kmem.h,v 1.7 2017/11/17 18:18:01 christos Exp $	*/
+/*	$NetBSD: kmem.h,v 1.8 2017/11/18 13:51:56 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -79,7 +79,7 @@ kmem_cache_alloc(kmem_cache_t *cache, in
 	 * causes a deadlock we either need to provide an emergency
 	 * pool or handle the failure.
 	 */
-	if (flags == 0)
+	if (flags == KM_PUSHPAGE)
 		flags |= KM_SLEEP;
 	return pool_cache_get(cache, flags);
 }



CVS commit: src/external/cddl/osnet/sys/sys

2017-11-17 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Fri Nov 17 18:18:01 UTC 2017

Modified Files:
src/external/cddl/osnet/sys/sys: kmem.h

Log Message:
our pool code needs either PR_SLEEP or PR_NOWAIT; arrange for that explaining
the current choice :-)


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 src/external/cddl/osnet/sys/sys/kmem.h

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/sys/sys/kmem.h
diff -u src/external/cddl/osnet/sys/sys/kmem.h:1.6 src/external/cddl/osnet/sys/sys/kmem.h:1.7
--- src/external/cddl/osnet/sys/sys/kmem.h:1.6	Sat Feb 20 20:46:36 2010
+++ src/external/cddl/osnet/sys/sys/kmem.h	Fri Nov 17 13:18:01 2017
@@ -1,5 +1,5 @@
 
-/*	$NetBSD: kmem.h,v 1.6 2010/02/21 01:46:36 darran Exp $	*/
+/*	$NetBSD: kmem.h,v 1.7 2017/11/17 18:18:01 christos Exp $	*/
 
 /*-
  * Copyright (c) 2009 The NetBSD Foundation, Inc.
@@ -43,7 +43,7 @@ u_long	kmem_size(void);
 u_long	kmem_used(void);
 void	kmem_reap(void);
 
-void	*calloc(size_t n, size_t s);
+void	*calloc(size_t, size_t);
 
 static inline kmem_cache_t *
 kmem_cache_create(char *name, size_t bufsize, size_t align,
@@ -62,8 +62,29 @@ kmem_cache_create(char *name, size_t buf
 	return pc;
 }
 
+static inline void *
+kmem_cache_alloc(kmem_cache_t *cache, int flags)
+{
+	/*
+	 * This happens when we specify KM_PUSHPAGE by itself.
+	 *
+	 * According to kmem_cache_create(9) KM_PUSHPAGE can be used
+	 * together with KM_SLEEP and in that case the code will not
+	 * cause a deadlock. It does not say if KM_PUSHPAGE can be
+	 * used with KM_NOSLEEP. In our case, we don't have a pool
+	 * of emergency pages, so we prefer to KM_SLEEP instead of
+	 * using KM_NOSLEEP and potentially returning NULL, under the
+	 * assumption that the code wants to use the emergency pool
+	 * because it does not want the allocation to fail. If that
+	 * causes a deadlock we either need to provide an emergency
+	 * pool or handle the failure.
+	 */
+	if (flags == 0)
+		flags |= KM_SLEEP;
+	return pool_cache_get(cache, flags);
+}
+
 #define	kmem_cache_destroy(cache)		pool_cache_destroy(cache)
-#define	kmem_cache_alloc(cache, flags)		pool_cache_get(cache, flags)
 #define	kmem_cache_free(cache, buf)		pool_cache_put(cache, buf)
 #define	kmem_cache_reap_now(cache)		pool_cache_invalidate(cache)
 



CVS commit: src/external/cddl/osnet/dev/fbt

2017-11-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Nov  6 04:43:50 UTC 2017

Modified Files:
src/external/cddl/osnet/dev/fbt: fbt.c

Log Message:
kill another wrong ELFSIZE setting.


To generate a diff of this commit:
cvs rdiff -u -r1.22 -r1.23 src/external/cddl/osnet/dev/fbt/fbt.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/dev/fbt/fbt.c
diff -u src/external/cddl/osnet/dev/fbt/fbt.c:1.22 src/external/cddl/osnet/dev/fbt/fbt.c:1.23
--- src/external/cddl/osnet/dev/fbt/fbt.c:1.22	Mon Feb 27 01:47:00 2017
+++ src/external/cddl/osnet/dev/fbt/fbt.c	Sun Nov  5 23:43:50 2017
@@ -1,4 +1,4 @@
-/*	$NetBSD: fbt.c,v 1.22 2017/02/27 06:47:00 chs Exp $	*/
+/*	$NetBSD: fbt.c,v 1.23 2017/11/06 04:43:50 christos Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -72,7 +72,6 @@
 #include 
 #endif
 
-#define ELFSIZE ARCH_ELFSIZE
 #include 
 
 #include 



CVS commit: src/external/cddl/osnet/dist/lib/libdtrace/common

2017-11-05 Thread Christos Zoulas
Module Name:src
Committed By:   christos
Date:   Mon Nov  6 03:51:37 UTC 2017

Modified Files:
src/external/cddl/osnet/dist/lib/libdtrace/common: dt_link.c

Log Message:
need to undef KERN_ELFSIZE too here...


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 \
src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.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/lib/libdtrace/common/dt_link.c
diff -u src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.9 src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.10
--- src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c:1.9	Thu Jan 12 18:12:59 2017
+++ src/external/cddl/osnet/dist/lib/libdtrace/common/dt_link.c	Sun Nov  5 22:51:37 2017
@@ -33,6 +33,7 @@
 #undef ELF32_MACHDEP_ID_CASES
 #undef ELF64_MACHDEP_ID_CASES
 #undef ELF64_MACHDEP_ENDIANNESS
+#undef KERN_ELFSIZE
 #undef ARCH_ELFSIZE
 #undef R_TYPE
 #endif



CVS commit: src/external/cddl/osnet/dist/cmd/dtrace

2017-06-05 Thread Abhinav Upadhyay
Module Name:src
Committed By:   abhinav
Date:   Mon Jun  5 21:19:33 UTC 2017

Modified Files:
src/external/cddl/osnet/dist/cmd/dtrace: dtrace.c

Log Message:
Undo the previous

While it fixed the problem of trailing spaces, but if the probe specifier
contained leading spaces, it would brake dtrace. The proper fix would be
to skip the leading spaces in the string as well.

However, it would result in a bigger diff for a very small benefit. While
a new import of dtrace is impending, it's better not to have this change.

Discussed with christos.


To generate a diff of this commit:
cvs rdiff -u -r1.9 -r1.10 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.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/cmd/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.9 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.10
--- src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.9	Mon Jun  5 17:11:10 2017
+++ src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c	Mon Jun  5 21:19:32 2017
@@ -762,7 +762,7 @@ compile_str(dtrace_cmd_t *dcp)
 	dcp->dc_spec, g_cflags | DTRACE_C_PSPEC, g_argc, g_argv)) == NULL)
 		dfatal("invalid probe specifier %s", dcp->dc_arg);
 
-	if ((p = strpbrk(dcp->dc_arg, "{/; ")) != NULL)
+	if ((p = strpbrk(dcp->dc_arg, "{/;")) != NULL)
 		*p = '\0'; /* crop name for reporting */
 
 	dcp->dc_desc = "description";



CVS commit: src/external/cddl/osnet/dist/cmd/dtrace

2017-06-05 Thread Abhinav Upadhyay
Module Name:src
Committed By:   abhinav
Date:   Mon Jun  5 17:11:10 UTC 2017

Modified Files:
src/external/cddl/osnet/dist/cmd/dtrace: dtrace.c

Log Message:
Fix the trailing space in the probe specifier's name in dtrace(1)'s output.

When using dtrace using one of the tracing options, such as -n, -P, -i, -f etc.,
the first line of output from dtrace one is something like this:

sudo dtrace -n 'syscall:::entry /pid == 100/ {@num[probefunc] = count();}'
dtrace: description 'syscall:::entry ' matched 482 probes

There is a trailing space at the end of the probe specifier name 
('syscall:::entry ').
This happens beucase dtrace tries to separate the probe name from the predicate 
and actions
using `{' and `/' as the separators but doesn't consider space also as a 
possible separator.

Output after this change:
sudo dtrace -n 'syscall:::entry /pid == 100/ {@num[probefunc] = count();}'
dtrace: description 'syscall:::entry' matched 482 probes

ok christos@


To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.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/cmd/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.8 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.9
--- src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c:1.8	Wed Feb  1 20:02:22 2017
+++ src/external/cddl/osnet/dist/cmd/dtrace/dtrace.c	Mon Jun  5 17:11:10 2017
@@ -762,7 +762,7 @@ compile_str(dtrace_cmd_t *dcp)
 	dcp->dc_spec, g_cflags | DTRACE_C_PSPEC, g_argc, g_argv)) == NULL)
 		dfatal("invalid probe specifier %s", dcp->dc_arg);
 
-	if ((p = strpbrk(dcp->dc_arg, "{/;")) != NULL)
+	if ((p = strpbrk(dcp->dc_arg, "{/; ")) != NULL)
 		*p = '\0'; /* crop name for reporting */
 
 	dcp->dc_desc = "description";



CVS commit: src/external/cddl/osnet/dist/lib/libuutil/common

2017-05-26 Thread Joerg Sonnenberger
Module Name:src
Committed By:   joerg
Date:   Fri May 26 22:50:35 UTC 2017

Modified Files:
src/external/cddl/osnet/dist/lib/libuutil/common: uu_misc.c

Log Message:
Fix argument order.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 \
src/external/cddl/osnet/dist/lib/libuutil/common/uu_misc.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/lib/libuutil/common/uu_misc.c
diff -u src/external/cddl/osnet/dist/lib/libuutil/common/uu_misc.c:1.2 src/external/cddl/osnet/dist/lib/libuutil/common/uu_misc.c:1.3
--- src/external/cddl/osnet/dist/lib/libuutil/common/uu_misc.c:1.2	Fri Apr 10 22:38:30 2015
+++ src/external/cddl/osnet/dist/lib/libuutil/common/uu_misc.c	Fri May 26 22:50:35 2017
@@ -211,7 +211,7 @@ uu_panic(const char *format, ...)
 int
 assfail(const char *astring, const char *file, int line)
 {
-	__assert(astring, file, line);
+	__assert(file, line, astring);
 	/*NOTREACHED*/
 	return (0);
 }



CVS commit: src/external/cddl/osnet/dist/cmd/dtrace

2017-05-12 Thread Abhinav Upadhyay
Module Name:src
Committed By:   abhinav
Date:   Fri May 12 21:01:36 UTC 2017

Modified Files:
src/external/cddl/osnet/dist/cmd/dtrace: dtrace.1

Log Message:
Fix a typo: s/intepretation/interpretation


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.1

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/cmd/dtrace/dtrace.1
diff -u src/external/cddl/osnet/dist/cmd/dtrace/dtrace.1:1.2 src/external/cddl/osnet/dist/cmd/dtrace/dtrace.1:1.3
--- src/external/cddl/osnet/dist/cmd/dtrace/dtrace.1:1.2	Fri May 12 20:58:35 2017
+++ src/external/cddl/osnet/dist/cmd/dtrace/dtrace.1	Fri May 12 21:01:36 2017
@@ -88,7 +88,7 @@ You can use \fBdtrace\fR to create D scr
 .SH OPTIONS
 .sp
 .LP
-The arguments accepted by the \fB-P\fR, \fB-m\fR, \fB-f\fR, \fB-n\fR, and \fB-i\fR options can include an optional D language \fIpredicate\fR enclosed in slashes \fB//\fR and optional D language \fIaction\fR statement list enclosed in braces \fB{}\fR. D program code specified on the command line must be appropriately quoted to avoid intepretation of meta-characters by the shell. 
+The arguments accepted by the \fB-P\fR, \fB-m\fR, \fB-f\fR, \fB-n\fR, and \fB-i\fR options can include an optional D language \fIpredicate\fR enclosed in slashes \fB//\fR and optional D language \fIaction\fR statement list enclosed in braces \fB{}\fR. D program code specified on the command line must be appropriately quoted to avoid interpretation of meta-characters by the shell. 
 .sp
 .LP
 The following options are supported:



<    1   2   3   4   5   6   7   >