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"