svn commit: r337286 - in projects/clang700-import: . cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolari...

Dimitry Andric dim at FreeBSD.org
Sat Aug 4 11:53:45 UTC 2018


Author: dim
Date: Sat Aug  4 11:53:41 2018
New Revision: 337286
URL: https://svnweb.freebsd.org/changeset/base/337286

Log:
  Merge ^/head r336870 through r337285, and resolve conflicts.

Added:
  projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh
     - copied unchanged from r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh
  projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh.out
     - copied unchanged from r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh.out
  projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh
     - copied unchanged from r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh
  projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh.out
     - copied unchanged from r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh.out
  projects/clang700-import/cddl/lib/libdtrace/udplite.d
     - copied unchanged from r337285, head/cddl/lib/libdtrace/udplite.d
  projects/clang700-import/cddl/usr.sbin/dwatch/libexec/udplite
     - copied unchanged from r337285, head/cddl/usr.sbin/dwatch/libexec/udplite
  projects/clang700-import/release/arm64/PINE64-LTS.conf
     - copied unchanged from r337285, head/release/arm64/PINE64-LTS.conf
  projects/clang700-import/share/man/man4/dtrace_udplite.4
     - copied unchanged from r337285, head/share/man/man4/dtrace_udplite.4
  projects/clang700-import/share/man/man9/nvmem.9
     - copied unchanged from r337285, head/share/man/man9/nvmem.9
  projects/clang700-import/share/mk/dirdeps-options.mk
     - copied unchanged from r337285, head/share/mk/dirdeps-options.mk
  projects/clang700-import/sys/amd64/amd64/copyout.c
     - copied unchanged from r337285, head/sys/amd64/amd64/copyout.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_initialize.h
     - copied unchanged from r337285, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_initialize.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_initialize.c
     - copied unchanged from r337285, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_initialize.c
  projects/clang700-import/sys/dev/extres/nvmem/
     - copied from r337285, head/sys/dev/extres/nvmem/
  projects/clang700-import/sys/mips/include/cca.h
     - copied unchanged from r337285, head/sys/mips/include/cca.h
  projects/clang700-import/tests/sys/audit/miscellaneous.c
     - copied unchanged from r337285, head/tests/sys/audit/miscellaneous.c
  projects/clang700-import/tests/sys/kern/unix_socketpair_test.c
     - copied unchanged from r337285, head/tests/sys/kern/unix_socketpair_test.c
  projects/clang700-import/tools/tools/git/git-svn-init
     - copied unchanged from r337285, head/tools/tools/git/git-svn-init
  projects/clang700-import/usr.sbin/blacklistd/blacklistd.conf
     - copied unchanged from r337285, head/usr.sbin/blacklistd/blacklistd.conf
  projects/clang700-import/usr.sbin/pkg/FreeBSD.conf
     - copied unchanged from r337285, head/usr.sbin/pkg/FreeBSD.conf
Deleted:
  projects/clang700-import/etc/blacklistd.conf
  projects/clang700-import/etc/pkg/
  projects/clang700-import/lib/libnetbsd/sys/time.h
  projects/clang700-import/share/man/man4/jedec_ts.4
  projects/clang700-import/sys/arm/conf/ALLWINNER_UP
  projects/clang700-import/sys/dev/jedec_ts/
  projects/clang700-import/sys/modules/i2c/jedec_ts/
Modified:
  projects/clang700-import/Makefile.libcompat
  projects/clang700-import/UPDATING
  projects/clang700-import/cddl/contrib/opensolaris/cmd/zdb/zdb.c
  projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/zfs.8
  projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
  projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
  projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool.8
  projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
  projects/clang700-import/cddl/contrib/opensolaris/cmd/ztest/ztest.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libnvpair/nvpair_json.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_diff.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_import.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_mount.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_util.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h
  projects/clang700-import/cddl/lib/libdtrace/Makefile
  projects/clang700-import/cddl/lib/libdtrace/ip.d
  projects/clang700-import/cddl/lib/libzfs/Makefile
  projects/clang700-import/cddl/lib/libzfs_core/Makefile
  projects/clang700-import/cddl/lib/libzpool/Makefile
  projects/clang700-import/cddl/sbin/zfs/Makefile
  projects/clang700-import/cddl/sbin/zpool/Makefile
  projects/clang700-import/cddl/usr.bin/zinject/Makefile
  projects/clang700-import/cddl/usr.bin/zstreamdump/Makefile
  projects/clang700-import/cddl/usr.bin/ztest/Makefile
  projects/clang700-import/cddl/usr.sbin/dtrace/tests/common/ip/Makefile
  projects/clang700-import/cddl/usr.sbin/dtrace/tests/tools/exclude.sh
  projects/clang700-import/cddl/usr.sbin/dwatch/libexec/Makefile
  projects/clang700-import/cddl/usr.sbin/zdb/Makefile
  projects/clang700-import/cddl/usr.sbin/zfsd/Makefile.common
  projects/clang700-import/cddl/usr.sbin/zhack/Makefile
  projects/clang700-import/contrib/elftoolchain/libelf/elf_update.c
  projects/clang700-import/contrib/llvm/tools/lld/ELF/Arch/AArch64.cpp
  projects/clang700-import/contrib/llvm/tools/lld/ELF/Arch/X86.cpp
  projects/clang700-import/contrib/netbsd-tests/lib/libc/sys/t_getcontext.c
  projects/clang700-import/etc/Makefile
  projects/clang700-import/lib/libc/sys/getlogin.2
  projects/clang700-import/lib/libc/sys/getloginclass.2
  projects/clang700-import/lib/libclang_rt/Makefile.inc
  projects/clang700-import/lib/libkvm/kvm_minidump_mips.c
  projects/clang700-import/lib/libprocstat/zfs/Makefile
  projects/clang700-import/lib/libthread_db/arch/riscv/libpthread_md.c
  projects/clang700-import/libexec/getty/ttys.5
  projects/clang700-import/libexec/rtld-elf/malloc.c
  projects/clang700-import/libexec/rtld-elf/paths.h
  projects/clang700-import/libexec/rtld-elf/riscv/rtld_start.S
  projects/clang700-import/libexec/rtld-elf/rtld.c
  projects/clang700-import/libexec/rtld-elf/tests/ld_library_pathfds.c
  projects/clang700-import/release/Makefile.mirrors
  projects/clang700-import/release/arm/BANANAPI.conf
  projects/clang700-import/release/arm/BEAGLEBONE.conf
  projects/clang700-import/release/arm/CUBIEBOARD.conf
  projects/clang700-import/release/arm/CUBIEBOARD2.conf
  projects/clang700-import/release/arm/CUBOX-HUMMINGBOARD.conf
  projects/clang700-import/release/arm/PANDABOARD.conf
  projects/clang700-import/release/arm/RPI-B.conf
  projects/clang700-import/release/arm/RPI2.conf
  projects/clang700-import/release/arm/WANDBOARD.conf
  projects/clang700-import/release/release.sh
  projects/clang700-import/release/tools/arm.subr
  projects/clang700-import/sbin/devd/devd.cc
  projects/clang700-import/sbin/fsck_ffs/fsutil.c
  projects/clang700-import/share/man/man3/Makefile
  projects/clang700-import/share/man/man3/timeradd.3
  projects/clang700-import/share/man/man4/Makefile
  projects/clang700-import/share/man/man4/dtrace_sctp.4
  projects/clang700-import/share/man/man4/dtrace_tcp.4
  projects/clang700-import/share/man/man4/dtrace_udp.4
  projects/clang700-import/share/man/man4/jedec_dimm.4
  projects/clang700-import/share/man/man4/pci.4
  projects/clang700-import/share/man/man5/src.conf.5
  projects/clang700-import/share/man/man9/vm_map.9
  projects/clang700-import/share/mk/Makefile
  projects/clang700-import/share/mk/bsd.files.mk
  projects/clang700-import/share/mk/bsd.sys.mk
  projects/clang700-import/share/mk/dirdeps.mk
  projects/clang700-import/share/mk/gendirdeps.mk
  projects/clang700-import/share/mk/local.autodep.mk
  projects/clang700-import/share/mk/local.dirdeps.mk
  projects/clang700-import/share/mk/local.gendirdeps.mk
  projects/clang700-import/share/mk/local.meta.sys.mk
  projects/clang700-import/share/mk/meta.autodep.mk
  projects/clang700-import/share/mk/meta.stage.mk
  projects/clang700-import/share/mk/meta.sys.mk
  projects/clang700-import/share/mk/meta2deps.py
  projects/clang700-import/share/mk/src.opts.mk
  projects/clang700-import/stand/efi/loader/framebuffer.c
  projects/clang700-import/stand/efi/loader/main.c
  projects/clang700-import/stand/i386/libi386/biosdisk.c
  projects/clang700-import/stand/libsa/bootp.c
  projects/clang700-import/stand/libsa/bootp.h
  projects/clang700-import/stand/libsa/cd9660.c
  projects/clang700-import/stand/libsa/cd9660read.c
  projects/clang700-import/stand/libsa/net.c
  projects/clang700-import/stand/libsa/nfs.c
  projects/clang700-import/stand/man/loader.8
  projects/clang700-import/stand/uboot/common/main.c
  projects/clang700-import/sys/amd64/amd64/exception.S
  projects/clang700-import/sys/amd64/amd64/initcpu.c
  projects/clang700-import/sys/amd64/amd64/machdep.c
  projects/clang700-import/sys/amd64/amd64/pmap.c
  projects/clang700-import/sys/amd64/amd64/support.S
  projects/clang700-import/sys/amd64/amd64/trap.c
  projects/clang700-import/sys/amd64/conf/GENERIC
  projects/clang700-import/sys/amd64/conf/NOTES
  projects/clang700-import/sys/amd64/ia32/ia32_exception.S
  projects/clang700-import/sys/amd64/include/asmacros.h
  projects/clang700-import/sys/amd64/vmm/vmm_dev.c
  projects/clang700-import/sys/arm/arm/gic.c
  projects/clang700-import/sys/arm/arm/gic.h
  projects/clang700-import/sys/arm/arm/gic_fdt.c
  projects/clang700-import/sys/arm/arm/machdep.c
  projects/clang700-import/sys/arm/arm/pmap-v4.c
  projects/clang700-import/sys/arm/arm/pmap-v6.c
  projects/clang700-import/sys/arm/conf/GENERIC
  projects/clang700-import/sys/arm64/arm64/cpu_errata.c
  projects/clang700-import/sys/arm64/arm64/exception.S
  projects/clang700-import/sys/arm64/arm64/genassym.c
  projects/clang700-import/sys/arm64/arm64/pmap.c
  projects/clang700-import/sys/arm64/conf/GENERIC
  projects/clang700-import/sys/arm64/include/pcpu.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/common/nvpair/opensolaris_nvpair.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_object.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_checkpoint.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_config.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_send.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dnode.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_removal.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio_priority.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_file.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_indirect_mapping.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_missing.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_removal.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_root.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zcp.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio_compress.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/sys/nvpair.h
  projects/clang700-import/sys/cddl/contrib/opensolaris/uts/common/sys/nvpair_impl.h
  projects/clang700-import/sys/compat/freebsd32/freebsd32_ioctl.c
  projects/clang700-import/sys/compat/freebsd32/freebsd32_ioctl.h
  projects/clang700-import/sys/compat/freebsd32/freebsd32_misc.c
  projects/clang700-import/sys/compat/freebsd32/freebsd32_proto.h
  projects/clang700-import/sys/compat/freebsd32/freebsd32_syscall.h
  projects/clang700-import/sys/compat/freebsd32/freebsd32_syscalls.c
  projects/clang700-import/sys/compat/freebsd32/freebsd32_sysent.c
  projects/clang700-import/sys/compat/freebsd32/freebsd32_systrace_args.c
  projects/clang700-import/sys/compat/freebsd32/syscalls.master
  projects/clang700-import/sys/compat/linux/linux_event.c
  projects/clang700-import/sys/compat/linux/linux_futex.c
  projects/clang700-import/sys/compat/linux/linux_misc.c
  projects/clang700-import/sys/compat/linux/linux_socket.c
  projects/clang700-import/sys/compat/linuxkpi/common/include/asm/atomic.h
  projects/clang700-import/sys/compat/linuxkpi/common/include/linux/ktime.h
  projects/clang700-import/sys/compat/linuxkpi/common/include/linux/time.h
  projects/clang700-import/sys/conf/NOTES
  projects/clang700-import/sys/conf/files
  projects/clang700-import/sys/conf/files.amd64
  projects/clang700-import/sys/dev/acpica/acpi_cmbat.c
  projects/clang700-import/sys/dev/acpica/acpi_smbat.c
  projects/clang700-import/sys/dev/acpica/acpi_thermal.c
  projects/clang700-import/sys/dev/bge/if_bge.c
  projects/clang700-import/sys/dev/cxgbe/common/common.h
  projects/clang700-import/sys/dev/cxgbe/offload.h
  projects/clang700-import/sys/dev/cxgbe/t4_main.c
  projects/clang700-import/sys/dev/cxgbe/t4_sched.c
  projects/clang700-import/sys/dev/drm2/i915/i915_gem.c
  projects/clang700-import/sys/dev/drm2/i915/intel_pm.c
  projects/clang700-import/sys/dev/efidev/efirt.c   (contents, props changed)
  projects/clang700-import/sys/dev/efidev/efirtc.c
  projects/clang700-import/sys/dev/filemon/filemon.c
  projects/clang700-import/sys/dev/filemon/filemon_wrapper.c
  projects/clang700-import/sys/dev/hyperv/vmbus/amd64/vmbus_vector.S
  projects/clang700-import/sys/dev/isp/isp_freebsd.c
  projects/clang700-import/sys/dev/jedec_dimm/jedec_dimm.c
  projects/clang700-import/sys/dev/joy/joy.c
  projects/clang700-import/sys/dev/nvme/nvme_qpair.c
  projects/clang700-import/sys/dev/ofw/ofw_cpu.c
  projects/clang700-import/sys/dev/pci/pci_user.c
  projects/clang700-import/sys/dev/psci/smccc.c
  projects/clang700-import/sys/dev/psci/smccc.h
  projects/clang700-import/sys/dev/sound/pci/hda/hdaa.c
  projects/clang700-import/sys/dev/sound/pci/hda/hdac.c
  projects/clang700-import/sys/dev/xen/blkfront/blkfront.c
  projects/clang700-import/sys/dev/xen/grant_table/grant_table.c
  projects/clang700-import/sys/dev/xen/timer/timer.c
  projects/clang700-import/sys/fs/cd9660/cd9660_lookup.c
  projects/clang700-import/sys/fs/cd9660/cd9660_rrip.c
  projects/clang700-import/sys/fs/cd9660/cd9660_vfsops.c
  projects/clang700-import/sys/fs/cd9660/cd9660_vnops.c
  projects/clang700-import/sys/fs/fuse/fuse_vfsops.c
  projects/clang700-import/sys/fs/msdosfs/denode.h
  projects/clang700-import/sys/fs/msdosfs/msdosfs_conv.c
  projects/clang700-import/sys/fs/msdosfs/msdosfs_denode.c
  projects/clang700-import/sys/fs/msdosfs/msdosfs_lookup.c
  projects/clang700-import/sys/fs/msdosfs/msdosfs_vfsops.c
  projects/clang700-import/sys/fs/msdosfs/msdosfs_vnops.c
  projects/clang700-import/sys/fs/nfsclient/nfs_clrpcops.c
  projects/clang700-import/sys/fs/nfsclient/nfs_clstate.c
  projects/clang700-import/sys/fs/nfsserver/nfs_nfsdport.c
  projects/clang700-import/sys/fs/nfsserver/nfs_nfsdserv.c
  projects/clang700-import/sys/fs/nfsserver/nfs_nfsdstate.c
  projects/clang700-import/sys/i386/i386/copyout.c
  projects/clang700-import/sys/i386/i386/pmap.c
  projects/clang700-import/sys/i386/i386/vm_machdep.c
  projects/clang700-import/sys/i386/include/pmap.h
  projects/clang700-import/sys/kern/imgact_elf.c
  projects/clang700-import/sys/kern/kern_intr.c
  projects/clang700-import/sys/kern/kern_sig.c
  projects/clang700-import/sys/kern/kern_syscalls.c
  projects/clang700-import/sys/kern/kern_tc.c
  projects/clang700-import/sys/kern/kern_time.c
  projects/clang700-import/sys/kern/kern_umtx.c
  projects/clang700-import/sys/kern/subr_pcpu.c
  projects/clang700-import/sys/kern/subr_rtc.c
  projects/clang700-import/sys/kern/uipc_mqueue.c
  projects/clang700-import/sys/kern/uipc_sem.c
  projects/clang700-import/sys/kern/uipc_sockbuf.c
  projects/clang700-import/sys/kern/uipc_syscalls.c
  projects/clang700-import/sys/kern/uipc_usrreq.c
  projects/clang700-import/sys/mips/include/cpuregs.h
  projects/clang700-import/sys/mips/include/vm.h
  projects/clang700-import/sys/mips/ingenic/jz4780_smb.c
  projects/clang700-import/sys/mips/mips/pmap.c
  projects/clang700-import/sys/modules/dtb/am335x/Makefile
  projects/clang700-import/sys/modules/dtb/rpi/Makefile
  projects/clang700-import/sys/modules/i2c/Makefile
  projects/clang700-import/sys/modules/ipmi/Makefile
  projects/clang700-import/sys/net/iflib.c
  projects/clang700-import/sys/net/vnet.c
  projects/clang700-import/sys/net/vnet.h
  projects/clang700-import/sys/netgraph/ng_iface.c
  projects/clang700-import/sys/netgraph/ng_iface.h
  projects/clang700-import/sys/netinet/in_kdtrace.c
  projects/clang700-import/sys/netinet/in_kdtrace.h
  projects/clang700-import/sys/netinet/in_pcb.h
  projects/clang700-import/sys/netinet/ip_input.c
  projects/clang700-import/sys/netinet/tcp_input.c
  projects/clang700-import/sys/netinet/tcp_output.c
  projects/clang700-import/sys/netinet/tcp_stacks/rack.c
  projects/clang700-import/sys/netinet/tcp_syncache.c
  projects/clang700-import/sys/netinet/tcp_timewait.c
  projects/clang700-import/sys/netinet/tcp_usrreq.c
  projects/clang700-import/sys/netinet/udp_usrreq.c
  projects/clang700-import/sys/netinet/udplite.h
  projects/clang700-import/sys/netinet6/in6_proto.c
  projects/clang700-import/sys/netinet6/ip6_input.c
  projects/clang700-import/sys/netinet6/udp6_usrreq.c
  projects/clang700-import/sys/netsmb/smb_iod.c
  projects/clang700-import/sys/netsmb/smb_trantcp.c
  projects/clang700-import/sys/ofed/include/rdma/ib_sa.h
  projects/clang700-import/sys/opencrypto/crypto.c
  projects/clang700-import/sys/powerpc/powerpc/genassym.c
  projects/clang700-import/sys/powerpc/powerpc/pmap_dispatch.c
  projects/clang700-import/sys/powerpc/powerpc/swtch32.S
  projects/clang700-import/sys/riscv/conf/GENERIC
  projects/clang700-import/sys/riscv/riscv/copyinout.S
  projects/clang700-import/sys/riscv/riscv/machdep.c
  projects/clang700-import/sys/riscv/riscv/pmap.c
  projects/clang700-import/sys/riscv/riscv/swtch.S
  projects/clang700-import/sys/riscv/riscv/vm_machdep.c
  projects/clang700-import/sys/security/mac/mac_framework.c
  projects/clang700-import/sys/sparc64/sparc64/pmap.c
  projects/clang700-import/sys/sys/interrupt.h
  projects/clang700-import/sys/sys/mbuf.h
  projects/clang700-import/sys/sys/param.h
  projects/clang700-import/sys/sys/pciio.h
  projects/clang700-import/sys/sys/pcpu.h
  projects/clang700-import/sys/sys/socketvar.h
  projects/clang700-import/sys/sys/time.h
  projects/clang700-import/sys/sys/unpcb.h
  projects/clang700-import/sys/ufs/ffs/ffs_snapshot.c
  projects/clang700-import/sys/ufs/ffs/ffs_suspend.c
  projects/clang700-import/sys/vm/pmap.h
  projects/clang700-import/sys/vm/vm_kern.c
  projects/clang700-import/sys/vm/vm_mmap.c
  projects/clang700-import/sys/vm/vm_object.c
  projects/clang700-import/sys/x86/iommu/intel_dmar.h
  projects/clang700-import/sys/x86/x86/stack_machdep.c
  projects/clang700-import/tests/sys/audit/Makefile
  projects/clang700-import/tests/sys/geom/class/nop/nop_test.sh
  projects/clang700-import/tests/sys/kern/Makefile
  projects/clang700-import/tests/sys/kern/unix_passfd_test.c
  projects/clang700-import/tests/sys/kqueue/libkqueue/timer.c
  projects/clang700-import/tools/regression/posixsem/posixsem.c
  projects/clang700-import/tools/regression/sockets/udp_pingpong/udp_pingpong.c
  projects/clang700-import/tools/regression/sockets/unix_cmsg/uc_check_time.c
  projects/clang700-import/tools/tools/git/HOWTO
  projects/clang700-import/tools/tools/netrate/juggle/juggle.c
  projects/clang700-import/tools/tools/netrate/tcpp/tcpp_client.c
  projects/clang700-import/tools/tools/syscall_timing/syscall_timing.c
  projects/clang700-import/usr.bin/procstat/tests/procstat_test.sh
  projects/clang700-import/usr.bin/sed/Makefile
  projects/clang700-import/usr.bin/sed/extern.h
  projects/clang700-import/usr.bin/sed/process.c
  projects/clang700-import/usr.bin/truss/setup.c
  projects/clang700-import/usr.bin/truss/syscalls.c
  projects/clang700-import/usr.bin/truss/truss.h
  projects/clang700-import/usr.bin/wc/wc.1
  projects/clang700-import/usr.bin/wc/wc.c
  projects/clang700-import/usr.sbin/bhyve/bhyverun.c
  projects/clang700-import/usr.sbin/blacklistd/Makefile
  projects/clang700-import/usr.sbin/camdd/camdd.c
  projects/clang700-import/usr.sbin/config/mkmakefile.c
  projects/clang700-import/usr.sbin/daemon/daemon.8
  projects/clang700-import/usr.sbin/fstyp/Makefile
  projects/clang700-import/usr.sbin/jail/jail.8
  projects/clang700-import/usr.sbin/newsyslog/newsyslog.c
  projects/clang700-import/usr.sbin/newsyslog/tests/legacy_test.sh
  projects/clang700-import/usr.sbin/pciconf/pciconf.8
  projects/clang700-import/usr.sbin/pciconf/pciconf.c
  projects/clang700-import/usr.sbin/pkg/Makefile
Directory Properties:
  projects/clang700-import/   (props changed)
  projects/clang700-import/cddl/   (props changed)
  projects/clang700-import/cddl/contrib/opensolaris/   (props changed)
  projects/clang700-import/cddl/contrib/opensolaris/cmd/zdb/   (props changed)
  projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/   (props changed)
  projects/clang700-import/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  projects/clang700-import/contrib/elftoolchain/   (props changed)
  projects/clang700-import/contrib/llvm/   (props changed)
  projects/clang700-import/contrib/llvm/tools/lld/   (props changed)
  projects/clang700-import/contrib/netbsd-tests/   (props changed)
  projects/clang700-import/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/clang700-import/Makefile.libcompat
==============================================================================
--- projects/clang700-import/Makefile.libcompat	Sat Aug  4 06:40:18 2018	(r337285)
+++ projects/clang700-import/Makefile.libcompat	Sat Aug  4 11:53:41 2018	(r337286)
@@ -126,10 +126,11 @@ LIBCOMPATWMAKE+=	${LIBCOMPATWMAKEENV} ${MAKE} ${LIBCOM
 			MAKEOBJDIRPREFIX= \
 			MK_MAN=no MK_HTML=no
 LIBCOMPATIMAKE+=	${LIBCOMPATWMAKE:NINSTALL=*:NDESTDIR=*} \
-			MK_TOOLCHAIN=no ${IMAKE_INSTALL} \
+			${IMAKE_INSTALL} \
 			-DLIBRARIES_ONLY
 
-_LC_LIBDIRS.yes=		lib gnu/lib
+_LC_LIBDIRS.yes=		lib
+_LC_LIBDIRS.yes+=		gnu/lib
 _LC_LIBDIRS.${MK_CDDL:tl}+=	cddl/lib
 _LC_LIBDIRS.${MK_CRYPT:tl}+=	secure/lib
 _LC_LIBDIRS.${MK_KERBEROS:tl}+=	kerberos5/lib

Modified: projects/clang700-import/UPDATING
==============================================================================
--- projects/clang700-import/UPDATING	Sat Aug  4 06:40:18 2018	(r337285)
+++ projects/clang700-import/UPDATING	Sat Aug  4 11:53:41 2018	(r337286)
@@ -31,6 +31,19 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20180731:
+	The jedec_ts(4) driver has been removed. A superset of its functionality
+	is available in the jedec_dimm(4) driver, and the manpage for that
+	driver includes migration instructions. If you have "device jedec_ts"
+	in your kernel configuration file, it must be removed.
+
+20180730:
+	amd64/GENERIC now has EFI runtime services, EFIRT, enabled by default.
+	This should have no effect if the kernel is booted via BIOS/legacy boot.
+	EFIRT may be disabled via a loader tunable, efi.rt.disabled, if a system
+	has a buggy firmware that prevents a successful boot due to use of
+	runtime services.
+
 20180727:
 	Atmel AT91RM9200 and AT91SAM9, Cavium CNS 11xx and XScale
 	support has been removed from the tree. These ports were
@@ -45,7 +58,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 
 20180720:
 	zfsloader's functionality has now been folded into loader.
-	zfsloader is no longer necesasary once you've updated your
+	zfsloader is no longer necessary once you've updated your
 	boot blocks. For a transition period, we will install a
 	hardlink for zfsloader to loader to allow a smooth transition
 	until the boot blocks can be updated (hard link because old
@@ -180,7 +193,7 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12.x IS SLOW:
 	Support for FDDI networks has been removed.  If you have device
 	fddi or device fpa in your kernel config file they must be
 	removed.
-	
+
 20180406:
 	In addition to supporting RFC 3164 formatted messages, the
 	syslogd(8) service is now capable of parsing RFC 5424 formatted

Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh (from r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh	Sat Aug  4 11:53:41 2018	(r337286, copy of r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh)
@@ -0,0 +1,125 @@
+#!/usr/bin/env ksh
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+#
+
+#
+# Test {ip,udplite}:::{send,receive} of IPv4 UDP-Lite to a local address.
+#
+# This may fail due to:
+#
+# 1. A change to the ip stack breaking expected probe behavior,
+#    which is the reason we are testing.
+# 2. No physical network interface is plumbed and up.
+# 3. No other hosts on this subnet are reachable and listening on rpcbind.
+# 4. An unlikely race causes the unlocked global send/receive
+#    variables to be corrupted.
+#
+# This test sends a UDP-Lite message using perl and checks that at least the
+# following counts were traced:
+#
+# 1 x ip:::send (UDPLite sent to UDP-Lite port 33434)
+# 1 x udplite:::send (UDPLite sent to UDP-Lite port 33434)
+# 1 x ip:::receive (UDP-Lite received)
+# 1 x udplite:::receive (UDP-Lite received)
+# 
+# A udplite:::receive event is expected even if the received UDP-Lite packet
+# elicits an ICMP PORT_UNREACHABLE message since there is no UDP-Lite
+# socket for receiving the packet.
+#
+
+if (( $# != 1 )); then
+	print -u2 "expected one argument: <dtrace-path>"
+	exit 2
+fi
+
+dtrace=$1
+local=127.0.0.1
+port=33434
+DIR=/var/tmp/dtest.$$
+
+mkdir $DIR
+cd $DIR
+
+cat > test.pl <<-EOPERL
+	use IO::Socket;
+	my \$s = IO::Socket::INET->new(
+	    Type => SOCK_DGRAM,
+	    Proto => "udplite",
+	    PeerAddr => "$local",
+	    PeerPort => $port);
+	die "Could not create UDP-Lite socket $local port $port" unless \$s;
+	send \$s, "Hello", 0;
+	close \$s;
+	sleep(2);
+EOPERL
+
+$dtrace -c 'perl test.pl' -qs /dev/stdin <<EODTRACE
+BEGIN
+{
+	ipsend = udplitesend = ipreceive = udplitereceive = 0;
+}
+
+ip:::send
+/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local" &&
+    args[4]->ipv4_protocol == IPPROTO_UDPLITE/
+{
+	ipsend++;
+}
+
+udplite:::send
+/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local"/
+{
+	udplitesend++;
+}
+
+ip:::receive
+/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local" &&
+    args[4]->ipv4_protocol == IPPROTO_UDPLITE/
+{
+	ipreceive++;
+}
+
+udplite:::receive
+/args[2]->ip_saddr == "$local" && args[2]->ip_daddr == "$local"/
+{
+	udplitereceive++;
+}
+
+END
+{
+	printf("Minimum UDP-Lite events seen\n\n");
+	printf("ip:::send - %s\n", ipsend >= 1 ? "yes" : "no");
+	printf("ip:::receive - %s\n", ipreceive >= 1 ? "yes" : "no");
+	printf("udplite:::send - %s\n", udplitesend >= 1 ? "yes" : "no");
+	printf("udplite:::receive - %s\n", udplitereceive >= 1 ? "yes" : "no");
+}
+EODTRACE
+
+status=$?
+
+cd /
+/bin/rm -rf $DIR
+
+exit $status

Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh.out (from r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh.out)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh.out	Sat Aug  4 11:53:41 2018	(r337286, copy of r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4localudplite.ksh.out)
@@ -0,0 +1,7 @@
+Minimum UDP-Lite events seen
+
+ip:::send - yes
+ip:::receive - yes
+udplite:::send - yes
+udplite:::receive - yes
+

Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh (from r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh	Sat Aug  4 11:53:41 2018	(r337286, copy of r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh)
@@ -0,0 +1,113 @@
+#!/usr/bin/env ksh93
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+#
+
+#
+# Test {udplite,ip}:::{send,receive} of IPv4 UDP-Lite to a remote host.
+#
+# This may fail due to:
+#
+# 1. A change to the ip stack breaking expected probe behavior,
+#    which is the reason we are testing.
+# 2. No physical network interface is plumbed and up.
+# 3. No other hosts on this subnet are reachable and listening on rpcbind.
+# 4. An unlikely race causes the unlocked global send/receive
+#    variables to be corrupted.
+#
+# This test sends a UDP-Lite message using perl and checks that at least the
+# following counts were traced:
+#
+# 1 x ip:::send (UDP-Lite sent to UDP-Lite port 33434)
+# 1 x udplite:::send (UDP-Lite sent to UDP-Lite port 33434)
+# 
+
+if (( $# != 1 )); then
+	print -u2 "expected one argument: <dtrace-path>"
+	exit 2
+fi
+
+dtrace=$1
+getaddr=./get.ipv4remote.pl
+port=33434
+DIR=/var/tmp/dtest.$$
+
+if [[ ! -x $getaddr ]]; then
+	print -u2 "could not find or execute sub program: $getaddr"
+	exit 3
+fi
+$getaddr | read source dest
+if (( $? != 0 )); then
+	exit 4
+fi
+
+mkdir $DIR
+cd $DIR
+
+cat > test.pl <<-EOPERL
+	use IO::Socket;
+	my \$s = IO::Socket::INET->new(
+	    Type => SOCK_DGRAM,
+	    Proto => "udplite",
+	    PeerAddr => "$dest",
+	    PeerPort => $port);
+	die "Could not create UDP-Lite socket $dest port $port" unless \$s;
+	send \$s, "Hello", 0;
+	close \$s;
+	sleep(2);
+EOPERL
+
+$dtrace -c 'perl test.pl' -qs /dev/stdin <<EODTRACE
+BEGIN
+{
+	ipsend = udplitesend = 0;
+}
+
+ip:::send
+/args[2]->ip_saddr == "$source" && args[2]->ip_daddr == "$dest" &&
+    args[4]->ipv4_protocol == IPPROTO_UDPLITE/
+{
+	ipsend++;
+}
+
+udplite:::send
+/args[2]->ip_saddr == "$source" && args[2]->ip_daddr == "$dest"/
+{
+	udplitesend++;
+}
+
+END
+{
+	printf("Minimum UDPLite events seen\n\n");
+	printf("ip:::send - %s\n", ipsend >= 1 ? "yes" : "no");
+	printf("udplite:::send - %s\n", udplitesend >= 1 ? "yes" : "no");
+}
+EODTRACE
+
+status=$?
+
+cd /
+/bin/rm -rf $DIR
+
+exit $status

Copied: projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh.out (from r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh.out)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh.out	Sat Aug  4 11:53:41 2018	(r337286, copy of r337285, head/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/ip/tst.ipv4remoteudplite.ksh.out)
@@ -0,0 +1,5 @@
+Minimum UDP-Lite events seen
+
+ip:::send - yes
+udplite:::send - yes
+

Modified: projects/clang700-import/cddl/contrib/opensolaris/cmd/zdb/zdb.c
==============================================================================
--- projects/clang700-import/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Sat Aug  4 06:40:18 2018	(r337285)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Sat Aug  4 11:53:41 2018	(r337286)
@@ -108,6 +108,7 @@ static uint64_t *zopt_object = NULL;
 static unsigned zopt_objects = 0;
 static libzfs_handle_t *g_zfs;
 static uint64_t max_inflight = 1000;
+static int leaked_objects = 0;
 
 static void snprintf_blkptr_compact(char *, size_t, const blkptr_t *);
 
@@ -774,7 +775,6 @@ verify_spacemap_refcounts(spa_t *spa)
 static void
 dump_spacemap(objset_t *os, space_map_t *sm)
 {
-	uint64_t alloc, offset, entry;
 	char *ddata[] = { "ALLOC", "FREE", "CONDENSE", "INVALID",
 	    "INVALID", "INVALID", "INVALID", "INVALID" };
 
@@ -791,41 +791,73 @@ dump_spacemap(objset_t *os, space_map_t *sm)
 	/*
 	 * Print out the freelist entries in both encoded and decoded form.
 	 */
-	alloc = 0;
-	for (offset = 0; offset < space_map_length(sm);
-	    offset += sizeof (entry)) {
-		uint8_t mapshift = sm->sm_shift;
+	uint8_t mapshift = sm->sm_shift;
+	int64_t alloc = 0;
+	uint64_t word;
+	for (uint64_t offset = 0; offset < space_map_length(sm);
+	    offset += sizeof (word)) {
 
 		VERIFY0(dmu_read(os, space_map_object(sm), offset,
-		    sizeof (entry), &entry, DMU_READ_PREFETCH));
-		if (SM_DEBUG_DECODE(entry)) {
+		    sizeof (word), &word, DMU_READ_PREFETCH));
 
+		if (sm_entry_is_debug(word)) {
 			(void) printf("\t    [%6llu] %s: txg %llu, pass %llu\n",
-			    (u_longlong_t)(offset / sizeof (entry)),
-			    ddata[SM_DEBUG_ACTION_DECODE(entry)],
-			    (u_longlong_t)SM_DEBUG_TXG_DECODE(entry),
-			    (u_longlong_t)SM_DEBUG_SYNCPASS_DECODE(entry));
+			    (u_longlong_t)(offset / sizeof (word)),
+			    ddata[SM_DEBUG_ACTION_DECODE(word)],
+			    (u_longlong_t)SM_DEBUG_TXG_DECODE(word),
+			    (u_longlong_t)SM_DEBUG_SYNCPASS_DECODE(word));
+			continue;
+		}
+
+		uint8_t words;
+		char entry_type;
+		uint64_t entry_off, entry_run, entry_vdev = SM_NO_VDEVID;
+
+		if (sm_entry_is_single_word(word)) {
+			entry_type = (SM_TYPE_DECODE(word) == SM_ALLOC) ?
+			    'A' : 'F';
+			entry_off = (SM_OFFSET_DECODE(word) << mapshift) +
+			    sm->sm_start;
+			entry_run = SM_RUN_DECODE(word) << mapshift;
+			words = 1;
 		} else {
-			(void) printf("\t    [%6llu]    %c  range:"
-			    " %010llx-%010llx  size: %06llx\n",
-			    (u_longlong_t)(offset / sizeof (entry)),
-			    SM_TYPE_DECODE(entry) == SM_ALLOC ? 'A' : 'F',
-			    (u_longlong_t)((SM_OFFSET_DECODE(entry) <<
-			    mapshift) + sm->sm_start),
-			    (u_longlong_t)((SM_OFFSET_DECODE(entry) <<
-			    mapshift) + sm->sm_start +
-			    (SM_RUN_DECODE(entry) << mapshift)),
-			    (u_longlong_t)(SM_RUN_DECODE(entry) << mapshift));
-			if (SM_TYPE_DECODE(entry) == SM_ALLOC)
-				alloc += SM_RUN_DECODE(entry) << mapshift;
-			else
-				alloc -= SM_RUN_DECODE(entry) << mapshift;
+			/* it is a two-word entry so we read another word */
+			ASSERT(sm_entry_is_double_word(word));
+
+			uint64_t extra_word;
+			offset += sizeof (extra_word);
+			VERIFY0(dmu_read(os, space_map_object(sm), offset,
+			    sizeof (extra_word), &extra_word,
+			    DMU_READ_PREFETCH));
+
+			ASSERT3U(offset, <=, space_map_length(sm));
+
+			entry_run = SM2_RUN_DECODE(word) << mapshift;
+			entry_vdev = SM2_VDEV_DECODE(word);
+			entry_type = (SM2_TYPE_DECODE(extra_word) == SM_ALLOC) ?
+			    'A' : 'F';
+			entry_off = (SM2_OFFSET_DECODE(extra_word) <<
+			    mapshift) + sm->sm_start;
+			words = 2;
 		}
+
+		(void) printf("\t    [%6llu]    %c  range:"
+		    " %010llx-%010llx  size: %06llx vdev: %06llu words: %u\n",
+		    (u_longlong_t)(offset / sizeof (word)),
+		    entry_type, (u_longlong_t)entry_off,
+		    (u_longlong_t)(entry_off + entry_run),
+		    (u_longlong_t)entry_run,
+		    (u_longlong_t)entry_vdev, words);
+
+		if (entry_type == 'A')
+			alloc += entry_run;
+		else
+			alloc -= entry_run;
 	}
-	if (alloc != space_map_allocated(sm)) {
-		(void) printf("space_map_object alloc (%llu) INCONSISTENT "
-		    "with space map summary (%llu)\n",
-		    (u_longlong_t)space_map_allocated(sm), (u_longlong_t)alloc);
+	if ((uint64_t)alloc != space_map_allocated(sm)) {
+		(void) printf("space_map_object alloc (%lld) INCONSISTENT "
+		    "with space map summary (%lld)\n",
+		    (longlong_t)space_map_allocated(sm), (longlong_t)alloc);
 	}
 }
 
@@ -1155,7 +1187,7 @@ dump_ddt(ddt_t *ddt, enum ddt_type type, enum ddt_clas
 	while ((error = ddt_object_walk(ddt, type, class, &walk, &dde)) == 0)
 		dump_dde(ddt, &dde, walk);
 
-	ASSERT(error == ENOENT);
+	ASSERT3U(error, ==, ENOENT);
 
 	(void) printf("\n");
 }
@@ -1957,9 +1989,12 @@ dump_znode(objset_t *os, uint64_t object, void *data, 
 
 	if (dump_opt['d'] > 4) {
 		error = zfs_obj_to_path(os, object, path, sizeof (path));
-		if (error != 0) {
+		if (error == ESTALE) {
+			(void) snprintf(path, sizeof (path), "on delete queue");
+		} else if (error != 0) {
+			leaked_objects++;
 			(void) snprintf(path, sizeof (path),
-			    "\?\?\?<object#%llu>", (u_longlong_t)object);
+			    "path not found, possibly leaked");
 		}
 		(void) printf("\tpath	%s\n", path);
 	}
@@ -2289,6 +2324,12 @@ dump_dir(objset_t *os)
 	}
 
 	ASSERT3U(object_count, ==, usedobjs);
+
+	if (leaked_objects != 0) {
+		(void) printf("%d potentially leaked objects detected\n",
+		    leaked_objects);
+		leaked_objects = 0;
+	}
 }
 
 static void
@@ -3002,7 +3043,7 @@ zdb_claim_removing(spa_t *spa, zdb_cb_t *zcb)
 	spa_config_enter(spa, SCL_CONFIG, FTAG, RW_READER);
 
 	spa_vdev_removal_t *svr = spa->spa_vdev_removal;
-	vdev_t *vd = svr->svr_vdev;
+	vdev_t *vd = vdev_lookup_top(spa, svr->svr_vdev_id);
 	vdev_indirect_mapping_t *vim = vd->vdev_indirect_mapping;
 
 	for (uint64_t msi = 0; msi < vd->vdev_ms_count; msi++) {
@@ -3018,13 +3059,17 @@ zdb_claim_removing(spa_t *spa, zdb_cb_t *zcb)
 			    svr->svr_allocd_segs, SM_ALLOC));
 
 			/*
-			 * Clear everything past what has been synced,
-			 * because we have not allocated mappings for it yet.
+			 * Clear everything past what has been synced unless
+			 * it's past the spacemap, because we have not allocated
+			 * mappings for it yet.
 			 */
-			range_tree_clear(svr->svr_allocd_segs,
-			    vdev_indirect_mapping_max_offset(vim),
-			    msp->ms_sm->sm_start + msp->ms_sm->sm_size -
-			    vdev_indirect_mapping_max_offset(vim));
+			uint64_t vim_max_offset =
+			    vdev_indirect_mapping_max_offset(vim);
+			uint64_t sm_end = msp->ms_sm->sm_start +
+			    msp->ms_sm->sm_size;
+			if (sm_end > vim_max_offset)
+				range_tree_clear(svr->svr_allocd_segs,
+				    vim_max_offset, sm_end - vim_max_offset);
 		}
 
 		zcb->zcb_removing_size +=
@@ -3097,15 +3142,14 @@ typedef struct checkpoint_sm_exclude_entry_arg {
 } checkpoint_sm_exclude_entry_arg_t;
 
 static int
-checkpoint_sm_exclude_entry_cb(maptype_t type, uint64_t offset, uint64_t size,
-    void *arg)
+checkpoint_sm_exclude_entry_cb(space_map_entry_t *sme, void *arg)
 {
 	checkpoint_sm_exclude_entry_arg_t *cseea = arg;
 	vdev_t *vd = cseea->cseea_vd;
-	metaslab_t *ms = vd->vdev_ms[offset >> vd->vdev_ms_shift];
-	uint64_t end = offset + size;
+	metaslab_t *ms = vd->vdev_ms[sme->sme_offset >> vd->vdev_ms_shift];
+	uint64_t end = sme->sme_offset + sme->sme_run;
 
-	ASSERT(type == SM_FREE);
+	ASSERT(sme->sme_type == SM_FREE);
 
 	/*
 	 * Since the vdev_checkpoint_sm exists in the vdev level
@@ -3123,7 +3167,7 @@ checkpoint_sm_exclude_entry_cb(maptype_t type, uint64_
 	 * metaslab boundaries. So if needed we could add code
 	 * that handles metaslab-crossing segments in the future.
 	 */
-	VERIFY3U(offset, >=, ms->ms_start);
+	VERIFY3U(sme->sme_offset, >=, ms->ms_start);
 	VERIFY3U(end, <=, ms->ms_start + ms->ms_size);
 
 	/*
@@ -3131,10 +3175,10 @@ checkpoint_sm_exclude_entry_cb(maptype_t type, uint64_
 	 * also verify that the entry is there to begin with.
 	 */
 	mutex_enter(&ms->ms_lock);
-	range_tree_remove(ms->ms_allocatable, offset, size);
+	range_tree_remove(ms->ms_allocatable, sme->sme_offset, sme->sme_run);
 	mutex_exit(&ms->ms_lock);
 
-	cseea->cseea_checkpoint_size += size;
+	cseea->cseea_checkpoint_size += sme->sme_run;
 	return (0);
 }
 
@@ -4109,15 +4153,14 @@ typedef struct verify_checkpoint_sm_entry_cb_arg {
 #define	ENTRIES_PER_PROGRESS_UPDATE 10000
 
 static int
-verify_checkpoint_sm_entry_cb(maptype_t type, uint64_t offset, uint64_t size,
-    void *arg)
+verify_checkpoint_sm_entry_cb(space_map_entry_t *sme, void *arg)
 {
 	verify_checkpoint_sm_entry_cb_arg_t *vcsec = arg;
 	vdev_t *vd = vcsec->vcsec_vd;
-	metaslab_t *ms = vd->vdev_ms[offset >> vd->vdev_ms_shift];
-	uint64_t end = offset + size;
+	metaslab_t *ms = vd->vdev_ms[sme->sme_offset >> vd->vdev_ms_shift];
+	uint64_t end = sme->sme_offset + sme->sme_run;
 
-	ASSERT(type == SM_FREE);
+	ASSERT(sme->sme_type == SM_FREE);
 
 	if ((vcsec->vcsec_entryid % ENTRIES_PER_PROGRESS_UPDATE) == 0) {
 		(void) fprintf(stderr,
@@ -4131,7 +4174,7 @@ verify_checkpoint_sm_entry_cb(maptype_t type, uint64_t
 	/*
 	 * See comment in checkpoint_sm_exclude_entry_cb()
 	 */
-	VERIFY3U(offset, >=, ms->ms_start);
+	VERIFY3U(sme->sme_offset, >=, ms->ms_start);
 	VERIFY3U(end, <=, ms->ms_start + ms->ms_size);
 
 	/*
@@ -4140,7 +4183,7 @@ verify_checkpoint_sm_entry_cb(maptype_t type, uint64_t
 	 * their respective ms_allocateable trees should not contain them.
 	 */
 	mutex_enter(&ms->ms_lock);
-	range_tree_verify(ms->ms_allocatable, offset, size);
+	range_tree_verify(ms->ms_allocatable, sme->sme_offset, sme->sme_run);
 	mutex_exit(&ms->ms_lock);
 
 	return (0);
@@ -4386,7 +4429,7 @@ verify_checkpoint(spa_t *spa)
 	    DMU_POOL_ZPOOL_CHECKPOINT, sizeof (uint64_t),
 	    sizeof (uberblock_t) / sizeof (uint64_t), &checkpoint);
 
-	if (error == ENOENT) {
+	if (error == ENOENT && !dump_opt['L']) {
 		/*
 		 * If the feature is active but the uberblock is missing
 		 * then we must be in the middle of discarding the
@@ -4409,7 +4452,7 @@ verify_checkpoint(spa_t *spa)
 		error = 3;
 	}
 
-	if (error == 0)
+	if (error == 0 && !dump_opt['L'])
 		verify_checkpoint_blocks(spa);
 
 	return (error);
@@ -4514,7 +4557,7 @@ dump_zpool(spa_t *spa)
 	if (dump_opt['h'])
 		dump_history(spa);
 
-	if (rc == 0 && !dump_opt['L'])
+	if (rc == 0)
 		rc = verify_checkpoint(spa);
 
 	if (rc != 0) {
@@ -4907,19 +4950,18 @@ zdb_embedded_block(char *thing)
 	    words + 8, words + 9, words + 10, words + 11,
 	    words + 12, words + 13, words + 14, words + 15);
 	if (err != 16) {
-		(void) printf("invalid input format\n");
+		(void) fprintf(stderr, "invalid input format\n");
 		exit(1);
 	}
 	ASSERT3U(BPE_GET_LSIZE(&bp), <=, SPA_MAXBLOCKSIZE);
 	buf = malloc(SPA_MAXBLOCKSIZE);
 	if (buf == NULL) {
-		(void) fprintf(stderr, "%s: failed to allocate %llu bytes\n",
-		    __func__, SPA_MAXBLOCKSIZE);
+		(void) fprintf(stderr, "out of memory\n");
 		exit(1);
 	}
 	err = decode_embedded_bp(&bp, buf, BPE_GET_LSIZE(&bp));
 	if (err != 0) {
-		(void) printf("decode failed: %u\n", err);
+		(void) fprintf(stderr, "decode failed: %u\n", err);
 		free(buf);
 		exit(1);
 	}
@@ -5372,5 +5414,5 @@ main(int argc, char **argv)
 	libzfs_fini(g_zfs);
 	kernel_fini();
 
-	return (0);
+	return (error);
 }

Modified: projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/zfs.8
==============================================================================
--- projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/zfs.8	Sat Aug  4 06:40:18 2018	(r337285)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/zfs.8	Sat Aug  4 11:53:41 2018	(r337286)
@@ -28,6 +28,7 @@
 .\" Copyright (c) 2016 Nexenta Systems, Inc. All Rights Reserved.
 .\" Copyright (c) 2014, Xin LI <delphij at FreeBSD.org>
 .\" Copyright (c) 2014-2015, The FreeBSD Foundation, All Rights Reserved.
+.\" Copyright 2018 Joyent, Inc.
 .\"
 .\" $FreeBSD$
 .\"
@@ -319,7 +320,8 @@ namespace. For example:
 .Pp
 where the maximum length of a dataset name is
 .Dv MAXNAMELEN
-(256 bytes).
+(256 bytes)
+and the maximum amount of nesting allowed in a path is 50 levels deep.
 .Pp
 A dataset can be one of the following:
 .Bl -hang -width 12n
@@ -546,6 +548,13 @@ property. Compression can be turned on by running:
 .Qq Nm Cm set compression=on Ar dataset
 The default value is
 .Cm off .
+.It Sy createtxg
+The transaction group (txg) in which the dataset was created.
+Bookmarks have the same
+.Sy createtxg
+as the snapshot they are initially tied to.
+This property is suitable for ordering a list of snapshots,
+e.g. for incremental send and receive.
 .It Sy creation
 The time this dataset was created.
 .It Sy clones
@@ -573,6 +582,14 @@ This value is only available when a
 .Sy filesystem_limit
 has
 been set somewhere in the tree under which the dataset resides.
+.It Sy guid
+The 64 bit GUID of this dataset or bookmark which does not change over its
+entire lifetime.
+When a snapshot is sent to another pool, the received snapshot has the same
+GUID.
+Thus, the
+.Sy guid
+is suitable to identify a snapshot across pools.
 .It Sy logicalreferenced
 The amount of space that is
 .Qq logically
@@ -1311,7 +1328,7 @@ The default value is
 Limits the amount of space a dataset can consume. This property enforces a hard
 limit on the amount of space used. This hard limit does not include space used
 by descendents, including file systems and snapshots.
-.It Sy refreservation Ns = Ns Ar size | Cm none
+.It Sy refreservation Ns = Ns Ar size | Cm none | Cm auto
 The minimum amount of space guaranteed to a dataset, not including its
 descendents. When the amount of space used is below this value, the dataset is
 treated as if it were taking up the amount of space specified by
@@ -1327,6 +1344,18 @@ is set, a snapshot is only allowed if there is enough 
 of this reservation to accommodate the current number of "referenced" bytes in
 the dataset.
 .Pp
+If
+.Sy refreservation
+is set to
+.Sy auto ,
+a volume is thick provisioned or not sparse.
+.Sy refreservation Ns = Cm auto
+is only supported on volumes.
+See
+.Sy volsize
+in the Native Properties
+section for more information about sparse volumes.
+.Pp
 This property can also be referred to by its shortened column name,
 .Sy refreserv .
 .It Sy reservation Ns = Ns Ar size | Cm none
@@ -1459,18 +1488,33 @@ on how the volume is used. These effects can also occu
 changed while it is in use (particularly when shrinking the size). Extreme care
 should be used when adjusting the volume size.
 .Pp
-Though not recommended, a "sparse volume" (also known as "thin provisioning")
+Though not recommended, a "sparse volume" (also known as "thin provisioned")
 can be created by specifying the
 .Fl s
 option to the
 .Qq Nm Cm create Fl V
-command, or by changing the reservation after the volume has been created. A
-"sparse volume" is a volume where the reservation is less then the volume size.
+command, or by changing the value of the
+.Sy refreservation
+property, or
+.Sy reservation
+property on pool version 8 or earlier
+.Pc
+after the volume has been created.
+A "sparse volume" is a volume where the value of
+.Sy refreservation
+is less then the size of the volume plus the space required to store its
+metadata.
 Consequently, writes to a sparse volume can fail with
 .Sy ENOSPC
 when the pool is low on space. For a sparse volume, changes to
 .Sy volsize
-are not reflected in the reservation.
+are not reflected in the
+.Sy refreservation .
+A volume that is not sparse is said to be "thick provisioned".
+A sparse volume can become thick provisioned by setting
+.Sy refreservation
+to
+.Sy auto .
 .It Sy volmode Ns = Ns Cm default | geom | dev | none
 This property specifies how volumes should be exposed to the OS.
 Setting it to

Modified: projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
==============================================================================
--- projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c	Sat Aug  4 06:40:18 2018	(r337285)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c	Sat Aug  4 11:53:41 2018	(r337286)
@@ -72,6 +72,7 @@
 #include <aclutils.h>
 #include <directory.h>
 #include <idmap.h>
+#include <libshare.h>
 #endif
 
 #include "zfs_iter.h"
@@ -6221,6 +6222,17 @@ share_mount(int op, int argc, char **argv)
 			return (0);
 
 		qsort(dslist, count, sizeof (void *), libzfs_dataset_cmp);
+#ifdef illumos
+		sa_init_selective_arg_t sharearg;
+		sharearg.zhandle_arr = dslist;
+		sharearg.zhandle_len = count;
+		if ((ret = zfs_init_libshare_arg(zfs_get_handle(dslist[0]),
+		    SA_INIT_SHARE_API_SELECTIVE, &sharearg)) != SA_OK) {
+			(void) fprintf(stderr,
+			    gettext("Could not initialize libshare, %d"), ret);
+			return (ret);
+		}
+#endif
 
 		for (i = 0; i < count; i++) {
 			if (verbose)
@@ -7026,11 +7038,28 @@ zfs_do_diff(int argc, char **argv)
 	return (err != 0);
 }
 
+/*
+ * zfs remap <filesystem | volume>
+ *
+ * Remap the indirect blocks in the given fileystem or volume.
+ */
 static int
 zfs_do_remap(int argc, char **argv)
 {
 	const char *fsname;
 	int err = 0;
+	int c;
+
+	/* check options */
+	while ((c = getopt(argc, argv, "")) != -1) {
+		switch (c) {
+		case '?':
+			(void) fprintf(stderr,
+			    gettext("invalid option '%c'\n"), optopt);
+			usage(B_FALSE);
+		}
+	}
+
 	if (argc != 2) {
 		(void) fprintf(stderr, gettext("wrong number of arguments\n"));
 		usage(B_FALSE);

Modified: projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
==============================================================================
--- projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7	Sat Aug  4 06:40:18 2018	(r337285)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7	Sat Aug  4 11:53:41 2018	(r337286)
@@ -482,6 +482,24 @@ This feature becomes
 when the "zpool remove" command is
 used on a top-level vdev, and will never return to being
 .Sy enabled .
+.It Sy spacemap_v2
+.Bl -column "READ\-ONLY COMPATIBLE" "com.delphix:spacemap_v2"
+.It GUID Ta com.delphix:spacemap_v2
+.It READ\-ONLY COMPATIBLE Ta yes
+.It DEPENDENCIES Ta none
+.El
+.Pp
+This feature enables the use of the new space map encoding which
+consists of two words (instead of one) whenever it is advantageous.
+The new encoding allows space maps to represent large regions of
+space more efficiently on-disk while also increasing their maximum
+addressable offset.
+.Pp
+This feature becomes
+.Sy active
+as soon as it is enabled and will
+never return to being
+.Sy enabled .
 .It Sy large_blocks
 .Bl -column "READ\-ONLY COMPATIBLE" "org.open-zfs:large_block"
 .It GUID Ta org.open-zfs:large_block

Modified: projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool.8
==============================================================================
--- projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool.8	Sat Aug  4 06:40:18 2018	(r337285)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool.8	Sat Aug  4 11:53:41 2018	(r337286)
@@ -121,6 +121,11 @@
 .Ar pool | id
 .Op Ar newpool
 .Nm
+.Cm initialize
+.Op Fl cs
+.Ar pool
+.Op Ar device Ns ...
+.Nm
 .Cm iostat
 .Op Fl T Cm d Ns | Ns Cm u
 .Op Fl v
@@ -1434,6 +1439,32 @@ mounting option is enabled.
 In this case, the checkpointed state of the pool is opened and an
 administrator can see how the pool would look like if they were
 to fully rewind.
+.El
+.It Xo
+.Nm
+.Cm initialize
+.Op Fl cs
+.Ar pool
+.Op Ar device Ns ...
+.Xc
+Begins initializing by writing to all unallocated regions on the specified
+devices, or all eligible devices in the pool if no individual devices are
+specified.
+Only leaf data or log devices may be initialized.
+.Bl -tag -width Ds
+.It Fl c, -cancel
+Cancel initializing on the specified devices, or all eligible devices if none
+are specified.
+If one or more target devices are invalid or are not currently being
+initialized, the command will fail and no cancellation will occur on any device.
+.It Fl s -suspend
+Suspend initializing on the specified devices, or all eligible devices if none
+are specified.
+If one or more target devices are invalid or are not currently being
+initialized, the command will fail and no suspension will occur on any device.
+Initializing can then be resumed by running
+.Nm zpool Cm initialize
+with no flags on the relevant target devices.
 .El
 .It Xo
 .Nm

Modified: projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
==============================================================================
--- projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Sat Aug  4 06:40:18 2018	(r337285)
+++ projects/clang700-import/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Sat Aug  4 11:53:41 2018	(r337286)
@@ -87,6 +87,7 @@ static int zpool_do_detach(int, char **);
 static int zpool_do_replace(int, char **);
 static int zpool_do_split(int, char **);
 
+static int zpool_do_initialize(int, char **);
 static int zpool_do_scrub(int, char **);
 
 static int zpool_do_import(int, char **);
@@ -136,6 +137,7 @@ typedef enum {
 	HELP_ONLINE,
 	HELP_REPLACE,
 	HELP_REMOVE,
+	HELP_INITIALIZE,
 	HELP_SCRUB,
 	HELP_STATUS,
 	HELP_UPGRADE,
@@ -187,6 +189,7 @@ static zpool_command_t command_table[] = {
 	{ "replace",	zpool_do_replace,	HELP_REPLACE		},
 	{ "split",	zpool_do_split,		HELP_SPLIT		},
 	{ NULL },
+	{ "initialize",	zpool_do_initialize,	HELP_INITIALIZE		},
 	{ "scrub",	zpool_do_scrub,		HELP_SCRUB		},
 	{ NULL },
 	{ "import",	zpool_do_import,	HELP_IMPORT		},
@@ -261,6 +264,8 @@ get_usage(zpool_help_t idx)
 		return (gettext("\tremove [-nps] <pool> <device> ...\n"));
 	case HELP_REOPEN:
 		return (gettext("\treopen <pool>\n"));
+	case HELP_INITIALIZE:
+		return (gettext("\tinitialize [-cs] <pool> [<device> ...]\n"));
 	case HELP_SCRUB:
 		return (gettext("\tscrub [-s | -p] <pool> ...\n"));
 	case HELP_STATUS:
@@ -1650,6 +1655,43 @@ print_status_config(zpool_handle_t *zhp, const char *n
 		    "resilvering" : "repairing");
 	}
 
+	if ((vs->vs_initialize_state == VDEV_INITIALIZE_ACTIVE ||
+	    vs->vs_initialize_state == VDEV_INITIALIZE_SUSPENDED ||
+	    vs->vs_initialize_state == VDEV_INITIALIZE_COMPLETE) &&
+	    !vs->vs_scan_removing) {
+		char zbuf[1024];
+		char tbuf[256];
+		struct tm zaction_ts;
+
+		time_t t = vs->vs_initialize_action_time;
+		int initialize_pct = 100;
+		if (vs->vs_initialize_state != VDEV_INITIALIZE_COMPLETE) {
+			initialize_pct = (vs->vs_initialize_bytes_done * 100 /
+			    (vs->vs_initialize_bytes_est + 1));
+		}
+
+		(void) localtime_r(&t, &zaction_ts);
+		(void) strftime(tbuf, sizeof (tbuf), "%c", &zaction_ts);
+
+		switch (vs->vs_initialize_state) {
+		case VDEV_INITIALIZE_SUSPENDED:
+			(void) snprintf(zbuf, sizeof (zbuf),
+			    ", suspended, started at %s", tbuf);
+			break;
+		case VDEV_INITIALIZE_ACTIVE:
+			(void) snprintf(zbuf, sizeof (zbuf),
+			    ", started at %s", tbuf);
+			break;
+		case VDEV_INITIALIZE_COMPLETE:
+			(void) snprintf(zbuf, sizeof (zbuf),
+			    ", completed at %s", tbuf);
+			break;
+		}
+
+		(void) printf(gettext("  (%d%% initialized%s)"),
+		    initialize_pct, zbuf);
+	}
+
 	(void) printf("\n");
 
 	for (c = 0; c < children; c++) {
@@ -4236,6 +4278,119 @@ zpool_do_scrub(int argc, char **argv)
 	}
 
 	return (for_each_pool(argc, argv, B_TRUE, NULL, scrub_callback, &cb));
+}
+
+static void
+zpool_collect_leaves(zpool_handle_t *zhp, nvlist_t *nvroot, nvlist_t *res)
+{
+	uint_t children = 0;
+	nvlist_t **child;
+	uint_t i;
+
+	(void) nvlist_lookup_nvlist_array(nvroot, ZPOOL_CONFIG_CHILDREN,
+	    &child, &children);
+
+	if (children == 0) {
+		char *path = zpool_vdev_name(g_zfs, zhp, nvroot, B_FALSE);
+		fnvlist_add_boolean(res, path);
+		free(path);
+		return;
+	}
+
+	for (i = 0; i < children; i++) {
+		zpool_collect_leaves(zhp, child[i], res);
+	}
+}
+
+/*
+ * zpool initialize [-cs] <pool> [<vdev> ...]

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-projects mailing list