Module Name:    src
Committed By:   tls
Date:           Sun Aug 10 06:50:29 UTC 2014

Modified Files:
        src/external/cddl/osnet/dev/fbt [tls-earlyentropy]: fbt.c
        src/external/cddl/osnet/dev/sdt [tls-earlyentropy]: sdt.c
        src/external/cddl/osnet/dist/tools/ctf/cvt [tls-earlyentropy]: dwarf.c
        src/external/cddl/osnet/dist/uts/common/dtrace [tls-earlyentropy]:
            dtrace.c
        src/external/cddl/osnet/dist/uts/common/fs/zfs [tls-earlyentropy]:
            zfs_vfsops.c zfs_vnops.c zvol.c
        src/external/cddl/osnet/lib/libzpool [tls-earlyentropy]: Makefile
            atomic.c
        src/external/cddl/osnet/usr.bin/ctfdump [tls-earlyentropy]: Makefile

Log Message:
Rebase.


To generate a diff of this commit:
cvs rdiff -u -r1.15 -r1.15.2.1 src/external/cddl/osnet/dev/fbt/fbt.c
cvs rdiff -u -r1.8 -r1.8.18.1 src/external/cddl/osnet/dev/sdt/sdt.c
cvs rdiff -u -r1.9 -r1.9.2.1 \
    src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c
cvs rdiff -u -r1.27 -r1.27.2.1 \
    src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
cvs rdiff -u -r1.10 -r1.10.2.1 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c
cvs rdiff -u -r1.17 -r1.17.2.1 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c
cvs rdiff -u -r1.5 -r1.5.2.1 \
    src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c
cvs rdiff -u -r1.8 -r1.8.2.1 src/external/cddl/osnet/lib/libzpool/Makefile
cvs rdiff -u -r1.1 -r1.1.6.1 src/external/cddl/osnet/lib/libzpool/atomic.c
cvs rdiff -u -r1.6 -r1.6.2.1 src/external/cddl/osnet/usr.bin/ctfdump/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/dev/fbt/fbt.c
diff -u src/external/cddl/osnet/dev/fbt/fbt.c:1.15 src/external/cddl/osnet/dev/fbt/fbt.c:1.15.2.1
--- src/external/cddl/osnet/dev/fbt/fbt.c:1.15	Wed Mar 19 11:14:12 2014
+++ src/external/cddl/osnet/dev/fbt/fbt.c	Sun Aug 10 06:50:28 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: fbt.c,v 1.15 2014/03/19 11:14:12 ozaki-r Exp $	*/
+/*	$NetBSD: fbt.c,v 1.15.2.1 2014/08/10 06:50:28 tls Exp $	*/
 
 /*
  * CDDL HEADER START
@@ -153,7 +153,7 @@ static void	fbt_resume(void *, dtrace_id
 
 static const struct cdevsw fbt_cdevsw = {
 	fbt_open, noclose, noread, nowrite, noioctl,
-	nostop, notty, nopoll, nommap, nokqfilter,
+	nostop, notty, nopoll, nommap, nokqfilter, nodiscard,
 	D_OTHER
 };
 

Index: src/external/cddl/osnet/dev/sdt/sdt.c
diff -u src/external/cddl/osnet/dev/sdt/sdt.c:1.8 src/external/cddl/osnet/dev/sdt/sdt.c:1.8.18.1
--- src/external/cddl/osnet/dev/sdt/sdt.c:1.8	Sat Jul 30 10:12:14 2011
+++ src/external/cddl/osnet/dev/sdt/sdt.c	Sun Aug 10 06:50:28 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: sdt.c,v 1.8 2011/07/30 10:12:14 uebayasi Exp $	*/
+/*	$NetBSD: sdt.c,v 1.8.18.1 2014/08/10 06:50:28 tls Exp $	*/
 
 /*-
  * Copyright (c) 2010 The NetBSD Foundation, Inc.
@@ -63,7 +63,7 @@ static void	sdt_load(void *);
 
 static const struct cdevsw sdt_cdevsw = {
 	sdt_open, noclose, noread, nowrite, noioctl,
-	nostop, notty, nopoll, nommap, nokqfilter,
+	nostop, notty, nopoll, nommap, nokqfilter, nodiscard,
 	D_OTHER
 };
 

Index: src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c
diff -u src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.9 src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.9.2.1
--- src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c:1.9	Sun Mar  9 20:48:01 2014
+++ src/external/cddl/osnet/dist/tools/ctf/cvt/dwarf.c	Sun Aug 10 06:50:28 2014
@@ -1924,7 +1924,6 @@ should_have_dwarf(Elf *elf)
 			char *name;
 
 			name = elf_strptr(elf, shdr.sh_link, sym.st_name);
-fprintf(stderr, "name = %s\n", name);
 
 			/* Studio emits these local symbols regardless */
 			if ((strcmp(name, "Bbss.bss") != 0) &&
@@ -1995,15 +1994,29 @@ dw_read(tdata_t *td, Elf *elf, char *fil
 	    &addrsz, &offsz, NULL, &nxthdr, &dw.dw_err)) != DW_DLV_OK)
 		terminate("rc = %d %s\n", rc, dwarf_errmsg(dw.dw_err));
 
-	if ((cu = die_sibling(&dw, NULL)) == NULL ||
-	    (((child = die_child(&dw, cu)) == NULL) &&
-	    should_have_dwarf(elf))) {
-		terminate("file does not contain dwarf type data "
-		    "(try compiling with -g)\n");
-	} else if (child == NULL) {
-		return (0);
+	if ((cu = die_sibling(&dw, NULL)) == NULL)
+		goto out;
+
+	if ((child = die_child(&dw, cu)) == NULL) {
+		Dwarf_Unsigned lang;
+		if (die_unsigned(&dw, cu, DW_AT_language, &lang, 0)) {
+			debug(1, "DWARF language: %u\n", lang);
+			/*
+			 * Assembly languages are typically that.
+			 * They have some dwarf info, but not what
+			 * we expect. They have local symbols for
+			 * example, but they are missing the child info.
+			 */
+			if (lang >= DW_LANG_lo_user)
+				return 0;
+		}
+	    	if (should_have_dwarf(elf))
+			goto out;
 	}
 
+	if (child == NULL)
+		return (0);
+
 	dw.dw_maxoff = nxthdr - 1;
 
 	if (dw.dw_maxoff > TID_FILEMAX)
@@ -2044,4 +2057,7 @@ dw_read(tdata_t *td, Elf *elf, char *fil
 	/* leak the dwarf_t */
 
 	return (0);
+out:
+	terminate("file does not contain dwarf type data "
+	    "(try compiling with -g)\n");
 }

Index: src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c
diff -u src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.27 src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.27.2.1
--- src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c:1.27	Thu Mar 27 15:50:48 2014
+++ src/external/cddl/osnet/dist/uts/common/dtrace/dtrace.c	Sun Aug 10 06:50:28 2014
@@ -15349,7 +15349,7 @@ static dev_type_open(dtrace_open);
 /* Just opens, clones to the fileops below */
 const struct cdevsw dtrace_cdevsw = {
 	dtrace_open, noclose, noread, nowrite, noioctl,
-	nostop, notty, nopoll, nommap, nokqfilter,
+	nostop, notty, nopoll, nommap, nokqfilter, nodiscard,
 	D_OTHER | D_MPSAFE
 };
 

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.10 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.10.2.1
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c:1.10	Thu Mar 27 15:50:48 2014
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vfsops.c	Sun Aug 10 06:50:28 2014
@@ -147,6 +147,20 @@ static mntopts_t zfs_mntopts = {
 	mntopts
 };
 
+static bool
+zfs_sync_selector(void *cl, struct vnode *vp)
+{
+	znode_t *zp;
+
+	/*
+	 * Skip the vnode/inode if inaccessible, or if the
+	 * atime is clean.
+	 */
+	zp = VTOZ(vp);
+	return zp != NULL && vp->v_type != VNON && zp->z_atime_dirty != 0
+	    && !zp->z_unlinked;
+}
+
 /*ARGSUSED*/
 int
 zfs_sync(vfs_t *vfsp, int flag, cred_t *cr)
@@ -174,22 +188,14 @@ zfs_sync(vfs_t *vfsp, int flag, cred_t *
 	 * BSD VFS, so we do it in batch here.
 	 */
 	vfs_vnode_iterator_init(vfsp, &marker);
-	while (vfs_vnode_iterator_next(marker, &vp)) {
+	while ((vp = vfs_vnode_iterator_next(marker, zfs_sync_selector, NULL)))
+	{
 		error = vn_lock(vp, LK_EXCLUSIVE);
 		if (error) {
 			vrele(vp);
 			continue;
 		}
-		/*
-		 * Skip the vnode/inode if inaccessible, or if the
-		 * atime is clean.
-		 */
 		zp = VTOZ(vp);
-		if (zp == NULL || vp->v_type == VNON ||
-		   zp->z_atime_dirty == 0 || zp->z_unlinked) {
-			vput(vp);
-			continue;
-		}
 		tx = dmu_tx_create(zfsvfs->z_os);
 		dmu_tx_hold_bonus(tx, zp->z_id);
 		error = dmu_tx_assign(tx, TXG_WAIT);
@@ -1596,6 +1602,9 @@ zfs_mount(vfs_t *vfsp, const char *path,
 	if (mvp->v_type != VDIR)
 		return (ENOTDIR);
 
+	if (uap == NULL)
+		return (EINVAL);
+
 	mutex_enter(mvp->v_interlock);
 	if ((uap->flags & MS_REMOUNT) == 0 &&
 	    (uap->flags & MS_OVERLAY) == 0 &&
@@ -1959,6 +1968,9 @@ zfs_umount(vfs_t *vfsp, int fflag)
 		}
 	}
 #endif
+	ret = vflush(vfsp, NULL, (ISSET(fflag, MS_FORCE)? FORCECLOSE : 0));
+	if (ret != 0)
+		return ret;
 	vfsp->vfs_flag |= VFS_UNMOUNTED;
 
 	VERIFY(zfsvfs_teardown(zfsvfs, B_TRUE) == 0);
@@ -1988,13 +2000,6 @@ zfs_umount(vfs_t *vfsp, int fflag)
 	if (zfsvfs->z_ctldir != NULL)
 		zfsctl_destroy(zfsvfs);
 
-	if (fflag & MS_FORCE)
-		flags |= FORCECLOSE;
-	
-	ret = vflush(vfsp, NULL, 0);
-	if (ret != 0)
-		return ret;
-	
 	return (0);
 }
 

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.17 src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.17.2.1
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c:1.17	Fri Feb  7 15:29:20 2014
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zfs_vnops.c	Sun Aug 10 06:50:28 2014
@@ -215,6 +215,7 @@ zfs_close(vnode_t *vp, int flag, int cou
 	    zp->z_phys->zp_size > 0)
 		VERIFY(fs_vscan(vp, cr, 1) == 0);
 
+	ZFS_EXIT(zfsvfs);
 	return (0);
 }
 

Index: src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c
diff -u src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c:1.5 src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c:1.5.2.1
--- src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c:1.5	Thu Mar 27 15:50:48 2014
+++ src/external/cddl/osnet/dist/uts/common/fs/zfs/zvol.c	Sun Aug 10 06:50:28 2014
@@ -189,10 +189,12 @@ zvol_check_volsize(uint64_t volsize, uin
 	if (volsize % blocksize != 0)
 		return (EINVAL);
 
+#if 0
 #ifdef _ILP32
 	if (volsize - 1 > SPEC_MAXOFFSET_T)
 		return (EOVERFLOW);
 #endif
+#endif
 	return (0);
 }
 

Index: src/external/cddl/osnet/lib/libzpool/Makefile
diff -u src/external/cddl/osnet/lib/libzpool/Makefile:1.8 src/external/cddl/osnet/lib/libzpool/Makefile:1.8.2.1
--- src/external/cddl/osnet/lib/libzpool/Makefile:1.8	Wed Sep 11 23:04:10 2013
+++ src/external/cddl/osnet/lib/libzpool/Makefile	Sun Aug 10 06:50:28 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.8 2013/09/11 23:04:10 joerg Exp $
+#	$NetBSD: Makefile,v 1.8.2.1 2014/08/10 06:50:28 tls Exp $
 
 .include "${.CURDIR}/../../dist/uts/common/Makefile.files"
 .include "../../Makefile.zfs"
@@ -21,10 +21,7 @@ CPPFLAGS+=	-std=c99
 #CPPFLAGS+=-Wall -Wno-unknown-pragmas
 
 # Local stuff
-SRCS=		kernel.c kernel2.c
-.if ${MACHINE_ARCH} == "arm"
-SRCS+=		atomic.c
-.endif
+SRCS=		kernel.c kernel2.c atomic.c
 
 # Sun stuff
 SRCS+=		${ZFS_COMMON_OBJS:C/.o$/.c/}

Index: src/external/cddl/osnet/lib/libzpool/atomic.c
diff -u src/external/cddl/osnet/lib/libzpool/atomic.c:1.1 src/external/cddl/osnet/lib/libzpool/atomic.c:1.1.6.1
--- src/external/cddl/osnet/lib/libzpool/atomic.c:1.1	Fri Jun 21 19:16:01 2013
+++ src/external/cddl/osnet/lib/libzpool/atomic.c	Sun Aug 10 06:50:28 2014
@@ -1,7 +1,9 @@
 
-#include <inttypes.h>
+#include <sys/types.h>
 #include <sys/atomic.h>
 
+#ifndef __HAVE_ATOMIC64_OPS
+
 /* XXX: Not so atomic, could use mutexes but not worth it */
 uint64_t
 atomic_cas_64(volatile uint64_t *ptr, uint64_t old, uint64_t new) {
@@ -30,3 +32,5 @@ uint64_t
 atomic_add_64_nv(volatile uint64_t *ptr, int64_t delta) {
 	return *ptr += delta;
 }
+
+#endif

Index: src/external/cddl/osnet/usr.bin/ctfdump/Makefile
diff -u src/external/cddl/osnet/usr.bin/ctfdump/Makefile:1.6 src/external/cddl/osnet/usr.bin/ctfdump/Makefile:1.6.2.1
--- src/external/cddl/osnet/usr.bin/ctfdump/Makefile:1.6	Sun Mar  9 22:01:31 2014
+++ src/external/cddl/osnet/usr.bin/ctfdump/Makefile	Sun Aug 10 06:50:28 2014
@@ -1,7 +1,9 @@
-#	$NetBSD: Makefile,v 1.6 2014/03/09 22:01:31 christos Exp $
+#	$NetBSD: Makefile,v 1.6.2.1 2014/08/10 06:50:28 tls Exp $
 
 # $FreeBSD: src/cddl/usr.bin/ctfdump/Makefile,v 1.1.4.1 2009/08/03 08:13:06 kensmith Exp $
 
+.include <bsd.own.mk>
+
 .include	"../../Makefile.inc"
 .include	"../../Makefile.ctf"
 

Reply via email to