Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 28 Nov 2013 19:55:09 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r258721 - in projects/uefi: . bin/sh cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/cmd/ztest cddl/contrib/opensolaris/lib/libzpool/common ...
Message-ID:  <201311281955.rASJt9wl080263@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: emaste
Date: Thu Nov 28 19:55:07 2013
New Revision: 258721
URL: http://svnweb.freebsd.org/changeset/base/258721

Log:
  Merge from HEAD at r258719
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/uefi/contrib/gcc/tree-ssa-alias-warnings.c
     - copied unchanged from r258719, head/contrib/gcc/tree-ssa-alias-warnings.c
  projects/uefi/contrib/gcclibs/libcpp/ChangeLog.gcc43
     - copied unchanged from r258719, head/contrib/gcclibs/libcpp/ChangeLog.gcc43
  projects/uefi/contrib/gcclibs/libcpp/directives-only.c
     - copied unchanged from r258719, head/contrib/gcclibs/libcpp/directives-only.c
  projects/uefi/lib/libc/iconv/__iconv.c
     - copied unchanged from r258719, head/lib/libc/iconv/__iconv.c
  projects/uefi/lib/libc/iconv/__iconv_free_list.c
     - copied unchanged from r258719, head/lib/libc/iconv/__iconv_free_list.c
  projects/uefi/lib/libc/iconv/__iconv_get_list.c
     - copied unchanged from r258719, head/lib/libc/iconv/__iconv_get_list.c
  projects/uefi/lib/libc/iconv/bsd_iconv.c
     - copied unchanged from r258719, head/lib/libc/iconv/bsd_iconv.c
  projects/uefi/lib/libc/iconv/iconv_canonicalize.c
     - copied unchanged from r258719, head/lib/libc/iconv/iconv_canonicalize.c
  projects/uefi/lib/libc/iconv/iconv_close.c
     - copied unchanged from r258719, head/lib/libc/iconv/iconv_close.c
  projects/uefi/lib/libc/iconv/iconv_open.c
     - copied unchanged from r258719, head/lib/libc/iconv/iconv_open.c
  projects/uefi/lib/libc/iconv/iconv_open_into.c
     - copied unchanged from r258719, head/lib/libc/iconv/iconv_open_into.c
  projects/uefi/lib/libc/iconv/iconv_set_relocation_prefix.c
     - copied unchanged from r258719, head/lib/libc/iconv/iconv_set_relocation_prefix.c
  projects/uefi/lib/libc/iconv/iconvctl.c
     - copied unchanged from r258719, head/lib/libc/iconv/iconvctl.c
  projects/uefi/lib/libc/iconv/iconvlist.c
     - copied unchanged from r258719, head/lib/libc/iconv/iconvlist.c
  projects/uefi/lib/libc_nonshared/Makefile.iconv
     - copied unchanged from r258719, head/lib/libc_nonshared/Makefile.iconv
  projects/uefi/share/examples/tests/tests/plain/cp_test.sh
     - copied unchanged from r258719, head/share/examples/tests/tests/plain/cp_test.sh
  projects/uefi/sys/amd64/vmm/io/vhpet.c
     - copied unchanged from r258719, head/sys/amd64/vmm/io/vhpet.c
  projects/uefi/sys/amd64/vmm/io/vhpet.h
     - copied unchanged from r258719, head/sys/amd64/vmm/io/vhpet.h
  projects/uefi/sys/arm/rockchip/rk30xx_wdog.c
     - copied unchanged from r258719, head/sys/arm/rockchip/rk30xx_wdog.c
  projects/uefi/sys/arm/rockchip/rk30xx_wdog.h
     - copied unchanged from r258719, head/sys/arm/rockchip/rk30xx_wdog.h
  projects/uefi/sys/cddl/compat/opensolaris/sys/disp.h
     - copied unchanged from r258719, head/sys/cddl/compat/opensolaris/sys/disp.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c
     - copied unchanged from r258719, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/range_tree.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_reftree.c
     - copied unchanged from r258719, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_reftree.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h
     - copied unchanged from r258719, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/range_tree.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_reftree.h
     - copied unchanged from r258719, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_reftree.h
  projects/uefi/sys/net/sff8472.h
     - copied unchanged from r258719, head/sys/net/sff8472.h
  projects/uefi/tools/regression/bin/sh/execution/bg10.0
     - copied unchanged from r258719, head/tools/regression/bin/sh/execution/bg10.0
  projects/uefi/tools/regression/bin/sh/execution/bg10.0.stdout
     - copied unchanged from r258719, head/tools/regression/bin/sh/execution/bg10.0.stdout
  projects/uefi/tools/regression/bin/sh/execution/bg5.0
     - copied unchanged from r258719, head/tools/regression/bin/sh/execution/bg5.0
  projects/uefi/tools/regression/bin/sh/execution/bg6.0
     - copied unchanged from r258719, head/tools/regression/bin/sh/execution/bg6.0
  projects/uefi/tools/regression/bin/sh/execution/bg6.0.stdout
     - copied unchanged from r258719, head/tools/regression/bin/sh/execution/bg6.0.stdout
  projects/uefi/tools/regression/bin/sh/execution/bg7.0
     - copied unchanged from r258719, head/tools/regression/bin/sh/execution/bg7.0
  projects/uefi/tools/regression/bin/sh/execution/bg8.0
     - copied unchanged from r258719, head/tools/regression/bin/sh/execution/bg8.0
  projects/uefi/tools/regression/bin/sh/execution/bg9.0
     - copied unchanged from r258719, head/tools/regression/bin/sh/execution/bg9.0
Replaced:
  projects/uefi/lib/libc/iconv/iconv.c
     - copied unchanged from r258719, head/lib/libc/iconv/iconv.c
Deleted:
  projects/uefi/contrib/apr-util/test/testssl.c
  projects/uefi/lib/libc/rpc/LICENSE
  projects/uefi/lib/libc_nonshared/__iconv.c
  projects/uefi/lib/libc_nonshared/__iconv_free_list.c
  projects/uefi/lib/libc_nonshared/__iconv_get_list.c
  projects/uefi/lib/libc_nonshared/iconv.c
  projects/uefi/lib/libc_nonshared/iconv_canonicalize.c
  projects/uefi/lib/libc_nonshared/iconv_close.c
  projects/uefi/lib/libc_nonshared/iconv_open.c
  projects/uefi/lib/libc_nonshared/iconv_open_into.c
  projects/uefi/lib/libc_nonshared/iconv_set_relocation_prefix.c
  projects/uefi/lib/libc_nonshared/iconvctl.c
  projects/uefi/lib/libc_nonshared/iconvlist.c
  projects/uefi/share/examples/tests/tests/plain/cp_test
  projects/uefi/sys/cddl/compat/opensolaris/sys/taskq.h
Modified:
  projects/uefi/UPDATING
  projects/uefi/bin/sh/redir.c
  projects/uefi/cddl/contrib/opensolaris/cmd/zdb/zdb.c
  projects/uefi/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
  projects/uefi/cddl/contrib/opensolaris/cmd/ztest/ztest.c
  projects/uefi/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
  projects/uefi/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c
  projects/uefi/contrib/apr-util/CHANGES
  projects/uefi/contrib/apr-util/apr-util.spec
  projects/uefi/contrib/apr-util/configure
  projects/uefi/contrib/apr-util/crypto/apr_crypto.c
  projects/uefi/contrib/apr-util/dbd/apr_dbd.c
  projects/uefi/contrib/apr-util/dbd/apr_dbd_odbc.c
  projects/uefi/contrib/apr-util/dbm/apr_dbm.c
  projects/uefi/contrib/apr-util/include/apr_buckets.h
  projects/uefi/contrib/apr-util/include/apr_dbd.h
  projects/uefi/contrib/apr-util/include/apr_hooks.h
  projects/uefi/contrib/apr-util/include/apr_optional_hooks.h
  projects/uefi/contrib/apr-util/include/apr_queue.h
  projects/uefi/contrib/apr-util/include/apr_reslist.h
  projects/uefi/contrib/apr-util/include/apu.hw
  projects/uefi/contrib/apr-util/include/apu_version.h
  projects/uefi/contrib/apr-util/libaprutil.rc
  projects/uefi/contrib/apr-util/memcache/apr_memcache.c
  projects/uefi/contrib/apr-util/misc/apu_dso.c
  projects/uefi/contrib/apr-util/test/abts.c
  projects/uefi/contrib/apr-util/test/testpass.c
  projects/uefi/contrib/gcc/ChangeLog.gcc43
  projects/uefi/contrib/gcc/c-common.c
  projects/uefi/contrib/gcc/c-common.h
  projects/uefi/contrib/gcc/c-opts.c
  projects/uefi/contrib/gcc/c-ppoutput.c
  projects/uefi/contrib/gcc/c-typeck.c
  projects/uefi/contrib/gcc/c.opt
  projects/uefi/contrib/gcc/common.opt
  projects/uefi/contrib/gcc/config/rs6000/rs6000.c
  projects/uefi/contrib/gcc/coverage.c
  projects/uefi/contrib/gcc/cp/decl.c
  projects/uefi/contrib/gcc/cp/typeck.c
  projects/uefi/contrib/gcc/doc/cppopts.texi
  projects/uefi/contrib/gcc/doc/invoke.texi
  projects/uefi/contrib/gcc/final.c
  projects/uefi/contrib/gcc/flags.h
  projects/uefi/contrib/gcc/gimplify.c
  projects/uefi/contrib/gcc/opts.c
  projects/uefi/contrib/gcc/tree-flow.h
  projects/uefi/contrib/gcc/tree-ssa-alias.c
  projects/uefi/contrib/gcc/tree-vrp.c
  projects/uefi/contrib/gcclibs/libcpp/Makefile.in
  projects/uefi/contrib/gcclibs/libcpp/charset.c
  projects/uefi/contrib/gcclibs/libcpp/directives.c
  projects/uefi/contrib/gcclibs/libcpp/errors.c
  projects/uefi/contrib/gcclibs/libcpp/files.c
  projects/uefi/contrib/gcclibs/libcpp/include/cpplib.h
  projects/uefi/contrib/gcclibs/libcpp/init.c
  projects/uefi/contrib/gcclibs/libcpp/internal.h
  projects/uefi/contrib/gcclibs/libcpp/macro.c
  projects/uefi/contrib/gdb/gdb/amd64fbsd-nat.c
  projects/uefi/contrib/libstdc++/include/ext/hashtable.h
  projects/uefi/contrib/llvm/tools/clang/lib/Headers/emmintrin.h
  projects/uefi/contrib/mtree/compare.c
  projects/uefi/contrib/mtree/create.c
  projects/uefi/contrib/mtree/spec.c
  projects/uefi/contrib/subversion/CHANGES
  projects/uefi/contrib/subversion/Makefile.in
  projects/uefi/contrib/subversion/build-outputs.mk
  projects/uefi/contrib/subversion/build.conf
  projects/uefi/contrib/subversion/configure
  projects/uefi/contrib/subversion/configure.ac
  projects/uefi/contrib/subversion/subversion/include/svn_version.h
  projects/uefi/contrib/subversion/subversion/libsvn_client/externals.c
  projects/uefi/contrib/subversion/subversion/libsvn_fs_fs/fs_fs.c
  projects/uefi/contrib/subversion/subversion/libsvn_fs_fs/rep-cache-db.h
  projects/uefi/contrib/subversion/subversion/libsvn_subr/internal_statements.h
  projects/uefi/contrib/subversion/subversion/libsvn_wc/diff.h
  projects/uefi/contrib/subversion/subversion/libsvn_wc/diff_local.c
  projects/uefi/contrib/subversion/subversion/libsvn_wc/wc-checks.h
  projects/uefi/contrib/subversion/subversion/libsvn_wc/wc-metadata.h
  projects/uefi/contrib/subversion/subversion/libsvn_wc/wc-queries.h
  projects/uefi/contrib/tcpdump/extract.h
  projects/uefi/etc/mtree/BSD.var.dist
  projects/uefi/gnu/usr.bin/cc/Makefile.inc
  projects/uefi/gnu/usr.bin/cc/cc_int/Makefile
  projects/uefi/gnu/usr.bin/cc/cc_tools/freebsd-native.h
  projects/uefi/gnu/usr.bin/cc/libcpp/Makefile
  projects/uefi/include/iconv.h
  projects/uefi/include/rpc/auth.h
  projects/uefi/include/rpc/auth_des.h
  projects/uefi/include/rpc/auth_kerb.h
  projects/uefi/include/rpc/auth_unix.h
  projects/uefi/include/rpc/clnt.h
  projects/uefi/include/rpc/clnt_soc.h
  projects/uefi/include/rpc/des.h
  projects/uefi/include/rpc/des_crypt.h
  projects/uefi/include/rpc/nettype.h
  projects/uefi/include/rpc/pmap_clnt.h
  projects/uefi/include/rpc/pmap_prot.h
  projects/uefi/include/rpc/pmap_rmt.h
  projects/uefi/include/rpc/raw.h
  projects/uefi/include/rpc/rpc.h
  projects/uefi/include/rpc/rpc_com.h
  projects/uefi/include/rpc/rpc_msg.h
  projects/uefi/include/rpc/rpcb_clnt.h
  projects/uefi/include/rpc/rpcb_prot.x
  projects/uefi/include/rpc/rpcent.h
  projects/uefi/include/rpc/svc.h
  projects/uefi/include/rpc/svc_auth.h
  projects/uefi/include/rpc/svc_dg.h
  projects/uefi/include/rpc/svc_soc.h
  projects/uefi/include/rpc/xdr.h
  projects/uefi/lib/libc/Makefile
  projects/uefi/lib/libc/amd64/SYS.h
  projects/uefi/lib/libc/amd64/gen/_setjmp.S
  projects/uefi/lib/libc/amd64/gen/setjmp.S
  projects/uefi/lib/libc/amd64/gen/sigsetjmp.S
  projects/uefi/lib/libc/amd64/sys/getcontext.S
  projects/uefi/lib/libc/amd64/sys/pipe.S
  projects/uefi/lib/libc/amd64/sys/reboot.S
  projects/uefi/lib/libc/amd64/sys/setlogin.S
  projects/uefi/lib/libc/amd64/sys/vfork.S
  projects/uefi/lib/libc/i386/SYS.h
  projects/uefi/lib/libc/i386/gen/_setjmp.S
  projects/uefi/lib/libc/i386/gen/setjmp.S
  projects/uefi/lib/libc/i386/gen/sigsetjmp.S
  projects/uefi/lib/libc/i386/string/strchr.S
  projects/uefi/lib/libc/i386/string/strrchr.S
  projects/uefi/lib/libc/i386/sys/Ovfork.S
  projects/uefi/lib/libc/i386/sys/getcontext.S
  projects/uefi/lib/libc/iconv/Makefile.inc
  projects/uefi/lib/libc/iconv/citrus_iconv_local.h
  projects/uefi/lib/libc/iconv/iconvctl.3
  projects/uefi/lib/libc/powerpc/SYS.h
  projects/uefi/lib/libc/powerpc64/SYS.h
  projects/uefi/lib/libc/rpc/DISCLAIMER
  projects/uefi/lib/libc/rpc/auth_des.c
  projects/uefi/lib/libc/rpc/auth_none.c
  projects/uefi/lib/libc/rpc/auth_unix.c
  projects/uefi/lib/libc/rpc/authdes_prot.c
  projects/uefi/lib/libc/rpc/authunix_prot.c
  projects/uefi/lib/libc/rpc/bindresvport.c
  projects/uefi/lib/libc/rpc/clnt_bcast.c
  projects/uefi/lib/libc/rpc/clnt_dg.c
  projects/uefi/lib/libc/rpc/clnt_generic.c
  projects/uefi/lib/libc/rpc/clnt_perror.c
  projects/uefi/lib/libc/rpc/clnt_raw.c
  projects/uefi/lib/libc/rpc/clnt_simple.c
  projects/uefi/lib/libc/rpc/clnt_vc.c
  projects/uefi/lib/libc/rpc/des_crypt.c
  projects/uefi/lib/libc/rpc/des_soft.c
  projects/uefi/lib/libc/rpc/getnetconfig.c
  projects/uefi/lib/libc/rpc/getnetpath.c
  projects/uefi/lib/libc/rpc/getpublickey.c
  projects/uefi/lib/libc/rpc/getrpcent.c
  projects/uefi/lib/libc/rpc/getrpcport.c
  projects/uefi/lib/libc/rpc/key_call.c
  projects/uefi/lib/libc/rpc/key_prot_xdr.c
  projects/uefi/lib/libc/rpc/netname.c
  projects/uefi/lib/libc/rpc/netnamer.c
  projects/uefi/lib/libc/rpc/pmap_clnt.c
  projects/uefi/lib/libc/rpc/pmap_getmaps.c
  projects/uefi/lib/libc/rpc/pmap_getport.c
  projects/uefi/lib/libc/rpc/pmap_prot.c
  projects/uefi/lib/libc/rpc/pmap_prot2.c
  projects/uefi/lib/libc/rpc/pmap_rmt.c
  projects/uefi/lib/libc/rpc/rpc_callmsg.c
  projects/uefi/lib/libc/rpc/rpc_com.h
  projects/uefi/lib/libc/rpc/rpc_commondata.c
  projects/uefi/lib/libc/rpc/rpc_dtablesize.c
  projects/uefi/lib/libc/rpc/rpc_generic.c
  projects/uefi/lib/libc/rpc/rpc_prot.c
  projects/uefi/lib/libc/rpc/rpc_soc.c
  projects/uefi/lib/libc/rpc/rpcb_clnt.c
  projects/uefi/lib/libc/rpc/rpcb_prot.c
  projects/uefi/lib/libc/rpc/rpcb_st_xdr.c
  projects/uefi/lib/libc/rpc/rpcdname.c
  projects/uefi/lib/libc/rpc/rtime.c
  projects/uefi/lib/libc/rpc/svc.c
  projects/uefi/lib/libc/rpc/svc_auth.c
  projects/uefi/lib/libc/rpc/svc_auth_des.c
  projects/uefi/lib/libc/rpc/svc_auth_unix.c
  projects/uefi/lib/libc/rpc/svc_dg.c
  projects/uefi/lib/libc/rpc/svc_generic.c
  projects/uefi/lib/libc/rpc/svc_raw.c
  projects/uefi/lib/libc/rpc/svc_run.c
  projects/uefi/lib/libc/rpc/svc_simple.c
  projects/uefi/lib/libc/rpc/svc_vc.c
  projects/uefi/lib/libc_nonshared/Makefile
  projects/uefi/lib/libiconv_modules/iconv_std/citrus_iconv_std.c
  projects/uefi/lib/libkse/arch/i386/i386/thr_getcontext.S
  projects/uefi/lib/libnetgraph/netgraph.3
  projects/uefi/lib/libnv/nvpair.c
  projects/uefi/lib/libpam/libpam/Makefile
  projects/uefi/lib/libpmc/pmc.h
  projects/uefi/lib/libthr/thread/thr_private.h
  projects/uefi/lib/libthr/thread/thr_sig.c
  projects/uefi/lib/libvmmapi/vmmapi.c
  projects/uefi/lib/libvmmapi/vmmapi.h
  projects/uefi/release/Makefile
  projects/uefi/release/doc/de_DE.ISO8859-1/readme/article.xml
  projects/uefi/release/doc/en_US.ISO8859-1/hardware/article.xml
  projects/uefi/release/doc/en_US.ISO8859-1/readme/article.xml
  projects/uefi/release/doc/ru_RU.KOI8-R/readme/article.xml
  projects/uefi/release/doc/zh_CN.GB2312/readme/article.xml
  projects/uefi/sbin/fdisk/fdisk.c
  projects/uefi/sbin/growfs/growfs.8
  projects/uefi/sbin/ipfw/ipfw2.c
  projects/uefi/sbin/ipfw/ipfw2.h
  projects/uefi/sbin/pfctl/pfctl.c
  projects/uefi/sbin/swapon/swapon.8
  projects/uefi/sbin/sysctl/sysctl.c
  projects/uefi/share/man/man4/Makefile
  projects/uefi/share/man/man4/axge.4
  projects/uefi/share/man/man4/iwn.4
  projects/uefi/share/man/man4/netgraph.4
  projects/uefi/share/man/man4/u3g.4
  projects/uefi/share/man/man4/usb.4
  projects/uefi/share/man/man5/rc.conf.5
  projects/uefi/share/man/man9/SDT.9
  projects/uefi/share/misc/bsd-family-tree
  projects/uefi/share/misc/committers-src.dot   (contents, props changed)
  projects/uefi/share/mk/Makefile
  projects/uefi/share/mk/plain.test.mk
  projects/uefi/sys/amd64/amd64/exception.S
  projects/uefi/sys/amd64/amd64/machdep.c
  projects/uefi/sys/amd64/amd64/trap.c
  projects/uefi/sys/amd64/include/asm.h
  projects/uefi/sys/amd64/include/pcb.h
  projects/uefi/sys/amd64/include/segments.h
  projects/uefi/sys/amd64/include/vmm.h   (contents, props changed)
  projects/uefi/sys/amd64/include/vmm_dev.h   (contents, props changed)
  projects/uefi/sys/amd64/linux32/linux32_dummy.c
  projects/uefi/sys/amd64/vmm/io/ppt.c
  projects/uefi/sys/amd64/vmm/io/vioapic.c
  projects/uefi/sys/amd64/vmm/io/vioapic.h
  projects/uefi/sys/amd64/vmm/io/vlapic.c
  projects/uefi/sys/amd64/vmm/io/vlapic.h
  projects/uefi/sys/amd64/vmm/vmm.c
  projects/uefi/sys/amd64/vmm/vmm_dev.c
  projects/uefi/sys/amd64/vmm/vmm_ktr.h
  projects/uefi/sys/amd64/vmm/vmm_lapic.c
  projects/uefi/sys/amd64/vmm/vmm_lapic.h
  projects/uefi/sys/arm/include/machdep.h
  projects/uefi/sys/arm/mv/mv_machdep.c
  projects/uefi/sys/arm/rockchip/files.rk30xx
  projects/uefi/sys/arm/rockchip/rk30xx_machdep.c
  projects/uefi/sys/arm/s3c2xx0/s3c24x0_machdep.c
  projects/uefi/sys/boot/arm/uboot/start.S
  projects/uefi/sys/boot/fdt/dts/rk3188.dtsi
  projects/uefi/sys/boot/fdt/dts/rpi.dts
  projects/uefi/sys/cam/ctl/ctl_backend_block.c
  projects/uefi/sys/cddl/compat/opensolaris/kern/opensolaris_taskq.c
  projects/uefi/sys/cddl/compat/opensolaris/sys/sdt.h
  projects/uefi/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c
  projects/uefi/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/arc.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_objset.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu_tx.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dir.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/metaslab_impl.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/sa_impl.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/space_map.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/txg_impl.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zio.h
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_mirror.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_queue.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
  projects/uefi/sys/cddl/contrib/opensolaris/uts/common/sys/taskq.h
  projects/uefi/sys/cddl/dev/dtrace/dtrace_test.c
  projects/uefi/sys/cddl/dev/lockstat/lockstat.c
  projects/uefi/sys/cddl/dev/sdt/sdt.c
  projects/uefi/sys/compat/freebsd32/freebsd32.h
  projects/uefi/sys/compat/freebsd32/freebsd32_misc.c
  projects/uefi/sys/compat/linux/linux_dtrace.h
  projects/uefi/sys/compat/linux/linux_emul.c
  projects/uefi/sys/compat/linux/linux_fork.c
  projects/uefi/sys/compat/linux/linux_futex.c
  projects/uefi/sys/compat/linux/linux_mib.c
  projects/uefi/sys/compat/linux/linux_misc.c
  projects/uefi/sys/compat/linux/linux_sysctl.c
  projects/uefi/sys/compat/linux/linux_time.c
  projects/uefi/sys/compat/linux/linux_uid16.c
  projects/uefi/sys/compat/linux/linux_util.c
  projects/uefi/sys/conf/files
  projects/uefi/sys/conf/options
  projects/uefi/sys/conf/options.arm
  projects/uefi/sys/crypto/aesni/aesni.c
  projects/uefi/sys/dev/cxgbe/t4_main.c
  projects/uefi/sys/dev/cxgbe/t4_sge.c
  projects/uefi/sys/dev/drm2/drm_linux_list_sort.c
  projects/uefi/sys/dev/iwi/if_iwi.c
  projects/uefi/sys/dev/iwn/if_iwn_debug.h
  projects/uefi/sys/dev/iwn/if_iwnreg.h
  projects/uefi/sys/dev/sfxge/common/efsys.h
  projects/uefi/sys/dev/sfxge/common/siena_nic.c
  projects/uefi/sys/dev/usb/controller/xhci.c
  projects/uefi/sys/dev/usb/wlan/if_run.c
  projects/uefi/sys/dev/xen/blkback/blkback.c
  projects/uefi/sys/fs/nfs/nfs_commonkrpc.c
  projects/uefi/sys/fs/nfsclient/nfs_clbio.c
  projects/uefi/sys/fs/nfsclient/nfs_clkdtrace.c
  projects/uefi/sys/fs/nfsclient/nfs_clnode.c
  projects/uefi/sys/fs/nfsclient/nfs_clport.c
  projects/uefi/sys/fs/nfsclient/nfs_clsubs.c
  projects/uefi/sys/fs/nfsclient/nfs_clvnops.c
  projects/uefi/sys/fs/nfsclient/nfs_kdtrace.h
  projects/uefi/sys/geom/geom_disk.c
  projects/uefi/sys/geom/geom_dump.c
  projects/uefi/sys/geom/geom_int.h
  projects/uefi/sys/geom/part/g_part_gpt.c
  projects/uefi/sys/i386/i386/exception.s
  projects/uefi/sys/i386/i386/machdep.c
  projects/uefi/sys/i386/i386/trap.c
  projects/uefi/sys/i386/include/asm.h
  projects/uefi/sys/i386/linux/linux_dummy.c
  projects/uefi/sys/kern/kern_clock.c
  projects/uefi/sys/kern/kern_clocksource.c
  projects/uefi/sys/kern/kern_exec.c
  projects/uefi/sys/kern/kern_exit.c
  projects/uefi/sys/kern/kern_fork.c
  projects/uefi/sys/kern/kern_jail.c
  projects/uefi/sys/kern/kern_lock.c
  projects/uefi/sys/kern/kern_lockstat.c
  projects/uefi/sys/kern/kern_malloc.c
  projects/uefi/sys/kern/kern_mutex.c
  projects/uefi/sys/kern/kern_priv.c
  projects/uefi/sys/kern/kern_proc.c
  projects/uefi/sys/kern/kern_racct.c
  projects/uefi/sys/kern/kern_rmlock.c
  projects/uefi/sys/kern/kern_rwlock.c
  projects/uefi/sys/kern/kern_sdt.c
  projects/uefi/sys/kern/kern_sig.c
  projects/uefi/sys/kern/kern_sx.c
  projects/uefi/sys/kern/kern_synch.c
  projects/uefi/sys/kern/kern_thread.c
  projects/uefi/sys/kern/kern_timeout.c
  projects/uefi/sys/kern/sched_4bsd.c
  projects/uefi/sys/kern/sched_ule.c
  projects/uefi/sys/kern/subr_devstat.c
  projects/uefi/sys/kern/subr_sleepqueue.c
  projects/uefi/sys/kern/subr_syscall.c
  projects/uefi/sys/kern/subr_taskqueue.c
  projects/uefi/sys/kern/subr_trap.c
  projects/uefi/sys/kern/subr_turnstile.c
  projects/uefi/sys/kern/uipc_syscalls.c
  projects/uefi/sys/kern/vfs_cache.c
  projects/uefi/sys/kern/vfs_lookup.c
  projects/uefi/sys/kern/vfs_syscalls.c
  projects/uefi/sys/mips/mips/exception.S
  projects/uefi/sys/mips/mips/trap.c
  projects/uefi/sys/modules/crypto/Makefile
  projects/uefi/sys/modules/ctl/Makefile
  projects/uefi/sys/modules/dtrace/dtrace_test/Makefile
  projects/uefi/sys/modules/dtrace/lockstat/Makefile
  projects/uefi/sys/modules/dtrace/sdt/Makefile
  projects/uefi/sys/modules/ip6_mroute_mod/Makefile
  projects/uefi/sys/modules/linux/Makefile
  projects/uefi/sys/modules/nfscl/Makefile
  projects/uefi/sys/modules/nfsclient/Makefile
  projects/uefi/sys/modules/nfscommon/Makefile
  projects/uefi/sys/modules/send/Makefile
  projects/uefi/sys/modules/vmm/Makefile
  projects/uefi/sys/net/netisr.c
  projects/uefi/sys/net/pfvar.h
  projects/uefi/sys/net/route.c
  projects/uefi/sys/net/vnet.c
  projects/uefi/sys/netinet/in_kdtrace.c
  projects/uefi/sys/netinet/in_kdtrace.h
  projects/uefi/sys/netinet/ip_fastfwd.c
  projects/uefi/sys/netinet/ip_input.c
  projects/uefi/sys/netinet/ip_output.c
  projects/uefi/sys/netinet/sctp_dtrace_declare.h
  projects/uefi/sys/netinet/sctp_dtrace_define.h
  projects/uefi/sys/netinet/sctp_pcb.c
  projects/uefi/sys/netinet/tcp_input.c
  projects/uefi/sys/netinet/tcp_output.c
  projects/uefi/sys/netinet/tcp_subr.c
  projects/uefi/sys/netinet/udp_usrreq.c
  projects/uefi/sys/netinet6/ip6_input.c
  projects/uefi/sys/netinet6/ip6_mroute.c
  projects/uefi/sys/netinet6/nd6.c
  projects/uefi/sys/netinet6/send.c
  projects/uefi/sys/netinet6/udp6_usrreq.c
  projects/uefi/sys/netpfil/ipfw/dn_sched.h
  projects/uefi/sys/netpfil/ipfw/ip_dn_io.c
  projects/uefi/sys/netpfil/ipfw/ip_dn_private.h
  projects/uefi/sys/netpfil/ipfw/ip_fw2.c
  projects/uefi/sys/netpfil/ipfw/ip_fw_dynamic.c
  projects/uefi/sys/netpfil/ipfw/ip_fw_log.c
  projects/uefi/sys/netpfil/ipfw/ip_fw_nat.c
  projects/uefi/sys/netpfil/ipfw/ip_fw_pfil.c
  projects/uefi/sys/netpfil/ipfw/ip_fw_sockopt.c
  projects/uefi/sys/netpfil/pf/pf.c
  projects/uefi/sys/netpfil/pf/pf_ioctl.c
  projects/uefi/sys/nfsclient/nfs_bio.c
  projects/uefi/sys/nfsclient/nfs_krpc.c
  projects/uefi/sys/nfsclient/nfs_subs.c
  projects/uefi/sys/nfsclient/nfs_vnops.c
  projects/uefi/sys/opencrypto/crypto.c
  projects/uefi/sys/opencrypto/deflate.c
  projects/uefi/sys/pc98/pc98/machdep.c
  projects/uefi/sys/powerpc/aim/locore32.S
  projects/uefi/sys/powerpc/aim/locore64.S
  projects/uefi/sys/powerpc/aim/machdep.c
  projects/uefi/sys/powerpc/aim/trap.c
  projects/uefi/sys/powerpc/booke/trap.c
  projects/uefi/sys/powerpc/include/ofw_machdep.h
  projects/uefi/sys/powerpc/ofw/ofw_machdep.c
  projects/uefi/sys/powerpc/ofw/rtas.c
  projects/uefi/sys/powerpc/powermac/grackle.c
  projects/uefi/sys/powerpc/pseries/mmu_phyp.c
  projects/uefi/sys/powerpc/pseries/phyp_console.c
  projects/uefi/sys/rpc/auth.h
  projects/uefi/sys/rpc/auth_none.c
  projects/uefi/sys/rpc/auth_unix.c
  projects/uefi/sys/rpc/authunix_prot.c
  projects/uefi/sys/rpc/clnt.h
  projects/uefi/sys/rpc/clnt_dg.c
  projects/uefi/sys/rpc/clnt_vc.c
  projects/uefi/sys/rpc/krpc.h
  projects/uefi/sys/rpc/nettype.h
  projects/uefi/sys/rpc/pmap_prot.h
  projects/uefi/sys/rpc/rpc.h
  projects/uefi/sys/rpc/rpc_callmsg.c
  projects/uefi/sys/rpc/rpc_com.h
  projects/uefi/sys/rpc/rpc_generic.c
  projects/uefi/sys/rpc/rpc_msg.h
  projects/uefi/sys/rpc/rpc_prot.c
  projects/uefi/sys/rpc/rpcb_clnt.c
  projects/uefi/sys/rpc/rpcb_clnt.h
  projects/uefi/sys/rpc/rpcb_prot.c
  projects/uefi/sys/rpc/rpcb_prot.h
  projects/uefi/sys/rpc/svc.c
  projects/uefi/sys/rpc/svc.h
  projects/uefi/sys/rpc/svc_auth.c
  projects/uefi/sys/rpc/svc_auth.h
  projects/uefi/sys/rpc/svc_auth_unix.c
  projects/uefi/sys/rpc/svc_dg.c
  projects/uefi/sys/rpc/svc_generic.c
  projects/uefi/sys/rpc/svc_vc.c
  projects/uefi/sys/rpc/types.h
  projects/uefi/sys/rpc/xdr.h
  projects/uefi/sys/security/mac/mac_audit.c
  projects/uefi/sys/security/mac/mac_cred.c
  projects/uefi/sys/security/mac/mac_framework.c
  projects/uefi/sys/security/mac/mac_inet.c
  projects/uefi/sys/security/mac/mac_internal.h
  projects/uefi/sys/security/mac/mac_net.c
  projects/uefi/sys/security/mac/mac_pipe.c
  projects/uefi/sys/security/mac/mac_posix_sem.c
  projects/uefi/sys/security/mac/mac_posix_shm.c
  projects/uefi/sys/security/mac/mac_priv.c
  projects/uefi/sys/security/mac/mac_process.c
  projects/uefi/sys/security/mac/mac_socket.c
  projects/uefi/sys/security/mac/mac_system.c
  projects/uefi/sys/security/mac/mac_sysv_msg.c
  projects/uefi/sys/security/mac/mac_sysv_sem.c
  projects/uefi/sys/security/mac/mac_sysv_shm.c
  projects/uefi/sys/security/mac/mac_vfs.c
  projects/uefi/sys/sys/mutex.h
  projects/uefi/sys/sys/rwlock.h
  projects/uefi/sys/sys/sdt.h
  projects/uefi/sys/sys/sx.h
  projects/uefi/sys/sys/sysctl.h
  projects/uefi/sys/sys/taskqueue.h
  projects/uefi/sys/sys/user.h
  projects/uefi/sys/tools/vnode_if.awk
  projects/uefi/sys/vm/uma_core.c
  projects/uefi/sys/x86/x86/local_apic.c
  projects/uefi/tools/tools/cxgbetool/Makefile
  projects/uefi/tools/tools/cxgbetool/cxgbetool.c
  projects/uefi/tools/tools/nanobsd/nanobsd.sh
  projects/uefi/tools/tools/zfsboottest/Makefile
  projects/uefi/usr.bin/from/from.c
  projects/uefi/usr.bin/svn/svn_private_config.h
  projects/uefi/usr.sbin/acpi/acpidump/acpi.c
  projects/uefi/usr.sbin/bhyve/acpi.c
  projects/uefi/usr.sbin/bhyve/mptbl.c
  projects/uefi/usr.sbin/bhyve/pci_ahci.c
  projects/uefi/usr.sbin/bhyve/pci_emul.c
  projects/uefi/usr.sbin/bhyve/pci_emul.h
  projects/uefi/usr.sbin/bhyve/pci_lpc.c
  projects/uefi/usr.sbin/bhyve/pit_8254.c
  projects/uefi/usr.sbin/bhyve/uart_emul.c
  projects/uefi/usr.sbin/bhyveload/bhyveload.8
  projects/uefi/usr.sbin/bhyveload/bhyveload.c
  projects/uefi/usr.sbin/bsdconfig/console/include/messages.subr
  projects/uefi/usr.sbin/bsdconfig/console/ttys
  projects/uefi/usr.sbin/bsdconfig/dot/dot
  projects/uefi/usr.sbin/bsdconfig/include/messages.subr
  projects/uefi/usr.sbin/bsdconfig/includes/includes
  projects/uefi/usr.sbin/bsdconfig/mouse/include/messages.subr
  projects/uefi/usr.sbin/bsdconfig/networking/devices
  projects/uefi/usr.sbin/bsdconfig/networking/include/messages.subr
  projects/uefi/usr.sbin/bsdconfig/networking/share/device.subr
  projects/uefi/usr.sbin/bsdconfig/share/device.subr
  projects/uefi/usr.sbin/bsdconfig/startup/include/messages.subr
  projects/uefi/usr.sbin/bsdconfig/usermgmt/include/messages.subr
  projects/uefi/usr.sbin/iostat/iostat.c
  projects/uefi/usr.sbin/makefs/ffs.c
  projects/uefi/usr.sbin/mergemaster/mergemaster.sh
  projects/uefi/usr.sbin/pkg/pkg.c
  projects/uefi/usr.sbin/rpcbind/check_bound.c
  projects/uefi/usr.sbin/rpcbind/pmap_svc.c
  projects/uefi/usr.sbin/rpcbind/rpcb_stat.c
  projects/uefi/usr.sbin/rpcbind/rpcb_svc.c
  projects/uefi/usr.sbin/rpcbind/rpcb_svc_4.c
  projects/uefi/usr.sbin/rpcbind/rpcb_svc_com.c
  projects/uefi/usr.sbin/rpcbind/rpcbind.c
  projects/uefi/usr.sbin/rpcbind/rpcbind.h
  projects/uefi/usr.sbin/rpcbind/warmstart.c
  projects/uefi/usr.sbin/wpa/ndis_events/ndis_events.8
Directory Properties:
  projects/uefi/   (props changed)
  projects/uefi/cddl/   (props changed)
  projects/uefi/cddl/contrib/opensolaris/   (props changed)
  projects/uefi/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/print/   (props changed)
  projects/uefi/cddl/contrib/opensolaris/cmd/zfs/   (props changed)
  projects/uefi/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  projects/uefi/contrib/apr-util/   (props changed)
  projects/uefi/contrib/gcc/   (props changed)
  projects/uefi/contrib/gdb/   (props changed)
  projects/uefi/contrib/libstdc++/   (props changed)
  projects/uefi/contrib/llvm/   (props changed)
  projects/uefi/contrib/llvm/tools/clang/   (props changed)
  projects/uefi/contrib/mtree/   (props changed)
  projects/uefi/contrib/subversion/   (props changed)
  projects/uefi/contrib/tcpdump/   (props changed)
  projects/uefi/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/uefi/lib/libc/   (props changed)
  projects/uefi/lib/libvmmapi/   (props changed)
  projects/uefi/sbin/   (props changed)
  projects/uefi/sbin/ipfw/   (props changed)
  projects/uefi/share/man/man4/   (props changed)
  projects/uefi/sys/   (props changed)
  projects/uefi/sys/amd64/vmm/   (props changed)
  projects/uefi/sys/boot/   (props changed)
  projects/uefi/sys/cddl/contrib/opensolaris/   (props changed)
  projects/uefi/sys/conf/   (props changed)
  projects/uefi/sys/modules/vmm/   (props changed)
  projects/uefi/usr.sbin/bhyve/   (props changed)
  projects/uefi/usr.sbin/bhyveload/   (props changed)

Modified: projects/uefi/UPDATING
==============================================================================
--- projects/uefi/UPDATING	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/UPDATING	Thu Nov 28 19:55:07 2013	(r258721)
@@ -76,7 +76,12 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
 	BIND has been removed from the base system.  If all you need
 	is a local resolver, simply enable and start the local_unbound
 	service instead.  Otherwise, several versions of BIND are
-	available in the ports tree.
+	available in the ports tree.   The dns/bind99 port is one example.
+
+	With this change, nslookup(1) and dig(1) are no longer in the base
+	system.  Users should instead use host(1) which is still
+	in the base system.  Alternatively, nslookup and dig can
+	be obtained by installing the dns/bind-tools port.
 
 20130916:
 	With the addition of unbound(8), a new unbound user is now

Modified: projects/uefi/bin/sh/redir.c
==============================================================================
--- projects/uefi/bin/sh/redir.c	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/bin/sh/redir.c	Thu Nov 28 19:55:07 2013	(r258721)
@@ -69,6 +69,7 @@ __FBSDID("$FreeBSD$");
 struct redirtab {
 	struct redirtab *next;
 	int renamed[10];
+	int fd0_redirected;
 };
 
 
@@ -109,11 +110,14 @@ redirect(union node *redir, int flags)
 		sv = ckmalloc(sizeof (struct redirtab));
 		for (i = 0 ; i < 10 ; i++)
 			sv->renamed[i] = EMPTY;
+		sv->fd0_redirected = fd0_redirected;
 		sv->next = redirlist;
 		redirlist = sv;
 	}
 	for (n = redir ; n ; n = n->nfile.next) {
 		fd = n->nfile.fd;
+		if (fd == 0)
+			fd0_redirected = 1;
 		if ((n->nfile.type == NTOFD || n->nfile.type == NFROMFD) &&
 		    n->ndup.dupfd == fd)
 			continue; /* redirect from/to same file descriptor */
@@ -134,8 +138,6 @@ redirect(union node *redir, int flags)
 			sv->renamed[fd] = i;
 			INTON;
 		}
-		if (fd == 0)
-			fd0_redirected++;
 		openredirect(n, memory);
 	}
 	if (memory[1])
@@ -303,8 +305,6 @@ popredir(void)
 
 	for (i = 0 ; i < 10 ; i++) {
 		if (rp->renamed[i] != EMPTY) {
-                        if (i == 0)
-                                fd0_redirected--;
 			if (rp->renamed[i] >= 0) {
 				dup2(rp->renamed[i], i);
 				close(rp->renamed[i]);
@@ -314,6 +314,7 @@ popredir(void)
 		}
 	}
 	INTOFF;
+	fd0_redirected = rp->fd0_redirected;
 	redirlist = rp->next;
 	ckfree(rp);
 	INTON;

Modified: projects/uefi/cddl/contrib/opensolaris/cmd/zdb/zdb.c
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/cddl/contrib/opensolaris/cmd/zdb/zdb.c	Thu Nov 28 19:55:07 2013	(r258721)
@@ -242,7 +242,7 @@ const char histo_stars[] = "************
 const int histo_width = sizeof (histo_stars) - 1;
 
 static void
-dump_histogram(const uint64_t *histo, int size)
+dump_histogram(const uint64_t *histo, int size, int offset)
 {
 	int i;
 	int minidx = size - 1;
@@ -263,7 +263,7 @@ dump_histogram(const uint64_t *histo, in
 
 	for (i = minidx; i <= maxidx; i++) {
 		(void) printf("\t\t\t%3u: %6llu %s\n",
-		    i, (u_longlong_t)histo[i],
+		    i + offset, (u_longlong_t)histo[i],
 		    &histo_stars[(max - histo[i]) * histo_width / max]);
 	}
 }
@@ -316,19 +316,19 @@ dump_zap_stats(objset_t *os, uint64_t ob
 	    (u_longlong_t)zs.zs_salt);
 
 	(void) printf("\t\tLeafs with 2^n pointers:\n");
-	dump_histogram(zs.zs_leafs_with_2n_pointers, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_leafs_with_2n_pointers, ZAP_HISTOGRAM_SIZE, 0);
 
 	(void) printf("\t\tBlocks with n*5 entries:\n");
-	dump_histogram(zs.zs_blocks_with_n5_entries, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_blocks_with_n5_entries, ZAP_HISTOGRAM_SIZE, 0);
 
 	(void) printf("\t\tBlocks n/10 full:\n");
-	dump_histogram(zs.zs_blocks_n_tenths_full, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_blocks_n_tenths_full, ZAP_HISTOGRAM_SIZE, 0);
 
 	(void) printf("\t\tEntries with n chunks:\n");
-	dump_histogram(zs.zs_entries_using_n_chunks, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_entries_using_n_chunks, ZAP_HISTOGRAM_SIZE, 0);
 
 	(void) printf("\t\tBuckets with n entries:\n");
-	dump_histogram(zs.zs_buckets_with_n_entries, ZAP_HISTOGRAM_SIZE);
+	dump_histogram(zs.zs_buckets_with_n_entries, ZAP_HISTOGRAM_SIZE, 0);
 }
 
 /*ARGSUSED*/
@@ -517,26 +517,85 @@ dump_zpldir(objset_t *os, uint64_t objec
 	zap_cursor_fini(&zc);
 }
 
+int
+get_dtl_refcount(vdev_t *vd)
+{
+	int refcount = 0;
+
+	if (vd->vdev_ops->vdev_op_leaf) {
+		space_map_t *sm = vd->vdev_dtl_sm;
+
+		if (sm != NULL &&
+		    sm->sm_dbuf->db_size == sizeof (space_map_phys_t))
+			return (1);
+		return (0);
+	}
+
+	for (int c = 0; c < vd->vdev_children; c++)
+		refcount += get_dtl_refcount(vd->vdev_child[c]);
+	return (refcount);
+}
+
+int
+get_metaslab_refcount(vdev_t *vd)
+{
+	int refcount = 0;
+
+	if (vd->vdev_top == vd) {
+		for (int m = 0; m < vd->vdev_ms_count; m++) {
+			space_map_t *sm = vd->vdev_ms[m]->ms_sm;
+
+			if (sm != NULL &&
+			    sm->sm_dbuf->db_size == sizeof (space_map_phys_t))
+				refcount++;
+		}
+	}
+	for (int c = 0; c < vd->vdev_children; c++)
+		refcount += get_metaslab_refcount(vd->vdev_child[c]);
+
+	return (refcount);
+}
+
+static int
+verify_spacemap_refcounts(spa_t *spa)
+{
+	int expected_refcount, actual_refcount;
+
+	expected_refcount = spa_feature_get_refcount(spa,
+	    &spa_feature_table[SPA_FEATURE_SPACEMAP_HISTOGRAM]);
+	actual_refcount = get_dtl_refcount(spa->spa_root_vdev);
+	actual_refcount += get_metaslab_refcount(spa->spa_root_vdev);
+
+	if (expected_refcount != actual_refcount) {
+		(void) printf("space map refcount mismatch: expected %d != "
+		    "actual %d\n", expected_refcount, actual_refcount);
+		return (2);
+	}
+	return (0);
+}
+
 static void
-dump_spacemap(objset_t *os, space_map_obj_t *smo, space_map_t *sm)
+dump_spacemap(objset_t *os, space_map_t *sm)
 {
 	uint64_t alloc, offset, entry;
-	uint8_t mapshift = sm->sm_shift;
-	uint64_t mapstart = sm->sm_start;
 	char *ddata[] = { "ALLOC", "FREE", "CONDENSE", "INVALID",
 			    "INVALID", "INVALID", "INVALID", "INVALID" };
 
-	if (smo->smo_object == 0)
+	if (sm == NULL)
 		return;
 
 	/*
 	 * Print out the freelist entries in both encoded and decoded form.
 	 */
 	alloc = 0;
-	for (offset = 0; offset < smo->smo_objsize; offset += sizeof (entry)) {
-		VERIFY3U(0, ==, dmu_read(os, smo->smo_object, offset,
+	for (offset = 0; offset < space_map_length(sm);
+	    offset += sizeof (entry)) {
+		uint8_t mapshift = sm->sm_shift;
+
+		VERIFY0(dmu_read(os, space_map_object(sm), offset,
 		    sizeof (entry), &entry, DMU_READ_PREFETCH));
 		if (SM_DEBUG_DECODE(entry)) {
+
 			(void) printf("\t    [%6llu] %s: txg %llu, pass %llu\n",
 			    (u_longlong_t)(offset / sizeof (entry)),
 			    ddata[SM_DEBUG_ACTION_DECODE(entry)],
@@ -548,10 +607,10 @@ dump_spacemap(objset_t *os, space_map_ob
 			    (u_longlong_t)(offset / sizeof (entry)),
 			    SM_TYPE_DECODE(entry) == SM_ALLOC ? 'A' : 'F',
 			    (u_longlong_t)((SM_OFFSET_DECODE(entry) <<
-			    mapshift) + mapstart),
+			    mapshift) + sm->sm_start),
 			    (u_longlong_t)((SM_OFFSET_DECODE(entry) <<
-			    mapshift) + mapstart + (SM_RUN_DECODE(entry) <<
-			    mapshift)),
+			    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;
@@ -559,10 +618,10 @@ dump_spacemap(objset_t *os, space_map_ob
 				alloc -= SM_RUN_DECODE(entry) << mapshift;
 		}
 	}
-	if (alloc != smo->smo_alloc) {
+	if (alloc != space_map_allocated(sm)) {
 		(void) printf("space_map_object alloc (%llu) INCONSISTENT "
 		    "with space map summary (%llu)\n",
-		    (u_longlong_t)smo->smo_alloc, (u_longlong_t)alloc);
+		    (u_longlong_t)space_map_allocated(sm), (u_longlong_t)alloc);
 	}
 }
 
@@ -570,15 +629,17 @@ static void
 dump_metaslab_stats(metaslab_t *msp)
 {
 	char maxbuf[32];
-	space_map_t *sm = msp->ms_map;
-	avl_tree_t *t = sm->sm_pp_root;
-	int free_pct = sm->sm_space * 100 / sm->sm_size;
+	range_tree_t *rt = msp->ms_tree;
+	avl_tree_t *t = &msp->ms_size_tree;
+	int free_pct = range_tree_space(rt) * 100 / msp->ms_size;
 
-	zdb_nicenum(space_map_maxsize(sm), maxbuf);
+	zdb_nicenum(metaslab_block_maxsize(msp), maxbuf);
 
 	(void) printf("\t %25s %10lu   %7s  %6s   %4s %4d%%\n",
 	    "segments", avl_numnodes(t), "maxsize", maxbuf,
 	    "freepct", free_pct);
+	(void) printf("\tIn-memory histogram:\n");
+	dump_histogram(rt->rt_histogram, RANGE_TREE_HISTOGRAM_SIZE, 0);
 }
 
 static void
@@ -586,33 +647,45 @@ dump_metaslab(metaslab_t *msp)
 {
 	vdev_t *vd = msp->ms_group->mg_vd;
 	spa_t *spa = vd->vdev_spa;
-	space_map_t *sm = msp->ms_map;
-	space_map_obj_t *smo = &msp->ms_smo;
+	space_map_t *sm = msp->ms_sm;
 	char freebuf[32];
 
-	zdb_nicenum(sm->sm_size - smo->smo_alloc, freebuf);
+	zdb_nicenum(msp->ms_size - space_map_allocated(sm), freebuf);
 
 	(void) printf(
 	    "\tmetaslab %6llu   offset %12llx   spacemap %6llu   free    %5s\n",
-	    (u_longlong_t)(sm->sm_start / sm->sm_size),
-	    (u_longlong_t)sm->sm_start, (u_longlong_t)smo->smo_object, freebuf);
+	    (u_longlong_t)msp->ms_id, (u_longlong_t)msp->ms_start,
+	    (u_longlong_t)space_map_object(sm), freebuf);
 
-	if (dump_opt['m'] > 1 && !dump_opt['L']) {
+	if (dump_opt['m'] > 2 && !dump_opt['L']) {
 		mutex_enter(&msp->ms_lock);
-		space_map_load_wait(sm);
-		if (!sm->sm_loaded)
-			VERIFY(space_map_load(sm, zfs_metaslab_ops,
-			    SM_FREE, smo, spa->spa_meta_objset) == 0);
+		metaslab_load_wait(msp);
+		if (!msp->ms_loaded) {
+			VERIFY0(metaslab_load(msp));
+			range_tree_stat_verify(msp->ms_tree);
+		}
 		dump_metaslab_stats(msp);
-		space_map_unload(sm);
+		metaslab_unload(msp);
 		mutex_exit(&msp->ms_lock);
 	}
 
-	if (dump_opt['d'] > 5 || dump_opt['m'] > 2) {
-		ASSERT(sm->sm_size == (1ULL << vd->vdev_ms_shift));
+	if (dump_opt['m'] > 1 && sm != NULL &&
+	    spa_feature_is_active(spa,
+	    &spa_feature_table[SPA_FEATURE_SPACEMAP_HISTOGRAM])) {
+		/*
+		 * The space map histogram represents free space in chunks
+		 * of sm_shift (i.e. bucket 0 refers to 2^sm_shift).
+		 */
+		(void) printf("\tOn-disk histogram:\n");
+		dump_histogram(sm->sm_phys->smp_histogram,
+		    SPACE_MAP_HISTOGRAM_SIZE(sm), sm->sm_shift);
+	}
+
+	if (dump_opt['d'] > 5 || dump_opt['m'] > 3) {
+		ASSERT(msp->ms_size == (1ULL << vd->vdev_ms_shift));
 
 		mutex_enter(&msp->ms_lock);
-		dump_spacemap(spa->spa_meta_objset, smo, sm);
+		dump_spacemap(spa->spa_meta_objset, msp->ms_sm);
 		mutex_exit(&msp->ms_lock);
 	}
 }
@@ -801,9 +874,9 @@ dump_all_ddts(spa_t *spa)
 }
 
 static void
-dump_dtl_seg(space_map_t *sm, uint64_t start, uint64_t size)
+dump_dtl_seg(void *arg, uint64_t start, uint64_t size)
 {
-	char *prefix = (void *)sm;
+	char *prefix = arg;
 
 	(void) printf("%s [%llu,%llu) length %llu\n",
 	    prefix,
@@ -833,17 +906,16 @@ dump_dtl(vdev_t *vd, int indent)
 	    required ? "DTL-required" : "DTL-expendable");
 
 	for (int t = 0; t < DTL_TYPES; t++) {
-		space_map_t *sm = &vd->vdev_dtl[t];
-		if (sm->sm_space == 0)
+		range_tree_t *rt = vd->vdev_dtl[t];
+		if (range_tree_space(rt) == 0)
 			continue;
 		(void) snprintf(prefix, sizeof (prefix), "\t%*s%s",
 		    indent + 2, "", name[t]);
-		mutex_enter(sm->sm_lock);
-		space_map_walk(sm, dump_dtl_seg, (void *)prefix);
-		mutex_exit(sm->sm_lock);
+		mutex_enter(rt->rt_lock);
+		range_tree_walk(rt, dump_dtl_seg, prefix);
+		mutex_exit(rt->rt_lock);
 		if (dump_opt['d'] > 5 && vd->vdev_children == 0)
-			dump_spacemap(spa->spa_meta_objset,
-			    &vd->vdev_dtl_smo, sm);
+			dump_spacemap(spa->spa_meta_objset, vd->vdev_dtl_sm);
 	}
 
 	for (int c = 0; c < vd->vdev_children; c++)
@@ -2172,39 +2244,17 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog
 }
 
 static void
-zdb_leak(space_map_t *sm, uint64_t start, uint64_t size)
+zdb_leak(void *arg, uint64_t start, uint64_t size)
 {
-	vdev_t *vd = sm->sm_ppd;
+	vdev_t *vd = arg;
 
 	(void) printf("leaked space: vdev %llu, offset 0x%llx, size %llu\n",
 	    (u_longlong_t)vd->vdev_id, (u_longlong_t)start, (u_longlong_t)size);
 }
 
-/* ARGSUSED */
-static void
-zdb_space_map_load(space_map_t *sm)
-{
-}
-
-static void
-zdb_space_map_unload(space_map_t *sm)
-{
-	space_map_vacate(sm, zdb_leak, sm);
-}
-
-/* ARGSUSED */
-static void
-zdb_space_map_claim(space_map_t *sm, uint64_t start, uint64_t size)
-{
-}
-
-static space_map_ops_t zdb_space_map_ops = {
-	zdb_space_map_load,
-	zdb_space_map_unload,
+static metaslab_ops_t zdb_metaslab_ops = {
 	NULL,	/* alloc */
-	zdb_space_map_claim,
-	NULL,	/* free */
-	NULL	/* maxsize */
+	NULL	/* fragmented */
 };
 
 static void
@@ -2259,11 +2309,21 @@ zdb_leak_init(spa_t *spa, zdb_cb_t *zcb)
 			for (int m = 0; m < vd->vdev_ms_count; m++) {
 				metaslab_t *msp = vd->vdev_ms[m];
 				mutex_enter(&msp->ms_lock);
-				space_map_unload(msp->ms_map);
-				VERIFY(space_map_load(msp->ms_map,
-				    &zdb_space_map_ops, SM_ALLOC, &msp->ms_smo,
-				    spa->spa_meta_objset) == 0);
-				msp->ms_map->sm_ppd = vd;
+				metaslab_unload(msp);
+
+				/*
+				 * For leak detection, we overload the metaslab
+				 * ms_tree to contain allocated segments
+				 * instead of free segments. As a result,
+				 * we can't use the normal metaslab_load/unload
+				 * interfaces.
+				 */
+				if (msp->ms_sm != NULL) {
+					msp->ms_ops = &zdb_metaslab_ops;
+					VERIFY0(space_map_load(msp->ms_sm,
+					    msp->ms_tree, SM_ALLOC));
+					msp->ms_loaded = B_TRUE;
+				}
 				mutex_exit(&msp->ms_lock);
 			}
 		}
@@ -2286,7 +2346,20 @@ zdb_leak_fini(spa_t *spa)
 			for (int m = 0; m < vd->vdev_ms_count; m++) {
 				metaslab_t *msp = vd->vdev_ms[m];
 				mutex_enter(&msp->ms_lock);
-				space_map_unload(msp->ms_map);
+
+				/*
+				 * The ms_tree has been overloaded to
+				 * contain allocated segments. Now that we
+				 * finished traversing all blocks, any
+				 * block that remains in the ms_tree
+				 * represents an allocated block that we
+				 * did not claim during the traversal.
+				 * Claimed blocks would have been removed
+				 * from the ms_tree.
+				 */
+				range_tree_vacate(msp->ms_tree, zdb_leak, vd);
+				msp->ms_loaded = B_FALSE;
+
 				mutex_exit(&msp->ms_lock);
 			}
 		}
@@ -2489,7 +2562,7 @@ dump_block_stats(spa_t *spa)
 					    "(in 512-byte sectors): "
 					    "number of blocks\n");
 					dump_histogram(zb->zb_psize_histogram,
-					    PSIZE_HISTO_SIZE);
+					    PSIZE_HISTO_SIZE, 0);
 				}
 			}
 		}
@@ -2659,6 +2732,9 @@ dump_zpool(spa_t *spa)
 	if (dump_opt['b'] || dump_opt['c'])
 		rc = dump_block_stats(spa);
 
+	if (rc == 0)
+		rc = verify_spacemap_refcounts(spa);
+
 	if (dump_opt['s'])
 		show_pool_stats(spa);
 

Modified: projects/uefi/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7	Thu Nov 28 19:55:07 2013	(r258721)
@@ -23,7 +23,7 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd September 20, 2013
+.Dd October 08, 2013
 .Dt ZPOOL-FEATURES 7
 .Os
 .Sh NAME
@@ -251,6 +251,24 @@ configuration.
 .\" .Xr dumpon 8
 .\" command to configure a
 .\" dump device on a pool comprised of multiple vdevs.
+.It Sy spacemap_histogram
+.Bl -column "READ\-ONLY COMPATIBLE" "com.delphix:spacemap_histogram"
+.It GUID Ta com.delphix:spacemap_histogram
+.It READ\-ONLY COMPATIBLE Ta yes
+.It DEPENDENCIES Ta none
+.El
+.Pp
+This features allows ZFS to maintain more information about how free space
+is organized within the pool. If this feature is 
+.Sy enabled ,
+ZFS will
+set this feature to
+.Sy active
+when a new space map object is created or
+an existing space map is upgraded to the new format.
+Once the feature is
+.Sy active ,
+it will remain in that state until the pool is destroyed.
 .El
 .Sh SEE ALSO
 .Xr zpool 8

Modified: projects/uefi/cddl/contrib/opensolaris/cmd/ztest/ztest.c
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/cmd/ztest/ztest.c	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/cddl/contrib/opensolaris/cmd/ztest/ztest.c	Thu Nov 28 19:55:07 2013	(r258721)
@@ -186,7 +186,7 @@ static const ztest_shared_opts_t ztest_o
 
 extern uint64_t metaslab_gang_bang;
 extern uint64_t metaslab_df_alloc_threshold;
-extern uint64_t zfs_deadman_synctime;
+extern uint64_t zfs_deadman_synctime_ms;
 
 static ztest_shared_opts_t *ztest_shared_opts;
 static ztest_shared_opts_t ztest_opts;
@@ -5328,10 +5328,10 @@ ztest_deadman_thread(void *arg)
 	hrtime_t delta, total = 0;
 
 	for (;;) {
-		delta = (zs->zs_thread_stop - zs->zs_thread_start) /
-		    NANOSEC + zfs_deadman_synctime;
+		delta = zs->zs_thread_stop - zs->zs_thread_start +
+		    MSEC2NSEC(zfs_deadman_synctime_ms);
 
-		(void) poll(NULL, 0, (int)(1000 * delta));
+		(void) poll(NULL, 0, (int)NSEC2MSEC(delta));
 
 		/*
 		 * If the pool is suspended then fail immediately. Otherwise,
@@ -5339,15 +5339,15 @@ ztest_deadman_thread(void *arg)
 		 * vdev_deadman() discovers that there hasn't been any recent
 		 * I/Os then it will end up aborting the tests.
 		 */
-		if (spa_suspended(spa)) {
+		if (spa_suspended(spa) || spa->spa_root_vdev == NULL) {
 			fatal(0, "aborting test after %llu seconds because "
 			    "pool has transitioned to a suspended state.",
-			    zfs_deadman_synctime);
+			    zfs_deadman_synctime_ms / 1000);
 			return (NULL);
 		}
 		vdev_deadman(spa->spa_root_vdev);
 
-		total += zfs_deadman_synctime;
+		total += zfs_deadman_synctime_ms/1000;
 		(void) printf("ztest has been running for %lld seconds\n",
 		    total);
 	}
@@ -6080,7 +6080,7 @@ main(int argc, char **argv)
 	(void) setvbuf(stdout, NULL, _IOLBF, 0);
 
 	dprintf_setup(&argc, argv);
-	zfs_deadman_synctime = 300;
+	zfs_deadman_synctime_ms = 300000;
 
 	ztest_fd_rand = open("/dev/urandom", O_RDONLY);
 	ASSERT3S(ztest_fd_rand, >=, 0);

Modified: projects/uefi/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h	Thu Nov 28 19:55:07 2013	(r258721)
@@ -23,6 +23,9 @@
  * Copyright (c) 2013 by Delphix. All rights reserved.
  * Copyright (c) 2012, Joyent, Inc. All rights reserved.
  */
+/*
+ * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
+ */
 
 #ifndef _SYS_ZFS_CONTEXT_H
 #define	_SYS_ZFS_CONTEXT_H
@@ -62,6 +65,7 @@ extern "C" {
 #include <inttypes.h>
 #include <fsshare.h>
 #include <pthread.h>
+#include <sched.h>
 #include <sys/debug.h>
 #include <sys/note.h>
 #include <sys/types.h>
@@ -201,6 +205,8 @@ extern int aok;
  */
 #define	curthread	((void *)(uintptr_t)thr_self())
 
+#define	kpreempt(x)	sched_yield()
+
 typedef struct kthread kthread_t;
 
 #define	thread_create(stk, stksize, func, arg, len, pp, state, pri)	\
@@ -367,6 +373,16 @@ typedef struct taskq taskq_t;
 typedef uintptr_t taskqid_t;
 typedef void (task_func_t)(void *);
 
+typedef struct taskq_ent {
+	struct taskq_ent	*tqent_next;
+	struct taskq_ent	*tqent_prev;
+	task_func_t		*tqent_func;
+	void			*tqent_arg;
+	uintptr_t		tqent_flags;
+} taskq_ent_t;
+
+#define	TQENT_FLAG_PREALLOC	0x1	/* taskq_dispatch_ent used */
+
 #define	TASKQ_PREPOPULATE	0x0001
 #define	TASKQ_CPR_SAFE		0x0002	/* Use CPR safe protocol */
 #define	TASKQ_DYNAMIC		0x0004	/* Use dynamic thread scheduling */
@@ -378,6 +394,7 @@ typedef void (task_func_t)(void *);
 #define	TQ_NOQUEUE	0x02		/* Do not enqueue if can't dispatch */
 #define	TQ_FRONT	0x08		/* Queue in front */
 
+
 extern taskq_t *system_taskq;
 
 extern taskq_t	*taskq_create(const char *, int, pri_t, int, int, uint_t);
@@ -386,6 +403,8 @@ extern taskq_t	*taskq_create(const char 
 #define	taskq_create_sysdc(a, b, d, e, p, dc, f) \
 	    (taskq_create(a, b, maxclsyspri, d, e, f))
 extern taskqid_t taskq_dispatch(taskq_t *, task_func_t, void *, uint_t);
+extern void	taskq_dispatch_ent(taskq_t *, task_func_t, void *, uint_t,
+    taskq_ent_t *);
 extern void	taskq_destroy(taskq_t *);
 extern void	taskq_wait(taskq_t *);
 extern int	taskq_member(taskq_t *, void *);

Modified: projects/uefi/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c
==============================================================================
--- projects/uefi/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/cddl/contrib/opensolaris/lib/libzpool/common/taskq.c	Thu Nov 28 19:55:07 2013	(r258721)
@@ -22,19 +22,15 @@
  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
  * Use is subject to license terms.
  */
+/*
+ * Copyright 2011 Nexenta Systems, Inc.  All rights reserved.
+ */
 
 #include <sys/zfs_context.h>
 
 int taskq_now;
 taskq_t *system_taskq;
 
-typedef struct task {
-	struct task	*task_next;
-	struct task	*task_prev;
-	task_func_t	*task_func;
-	void		*task_arg;
-} task_t;
-
 #define	TASKQ_ACTIVE	0x00010000
 
 struct taskq {
@@ -51,18 +47,18 @@ struct taskq {
 	int		tq_maxalloc;
 	kcondvar_t	tq_maxalloc_cv;
 	int		tq_maxalloc_wait;
-	task_t		*tq_freelist;
-	task_t		tq_task;
+	taskq_ent_t	*tq_freelist;
+	taskq_ent_t	tq_task;
 };
 
-static task_t *
+static taskq_ent_t *
 task_alloc(taskq_t *tq, int tqflags)
 {
-	task_t *t;
+	taskq_ent_t *t;
 	int rv;
 
 again:	if ((t = tq->tq_freelist) != NULL && tq->tq_nalloc >= tq->tq_minalloc) {
-		tq->tq_freelist = t->task_next;
+		tq->tq_freelist = t->tqent_next;
 	} else {
 		if (tq->tq_nalloc >= tq->tq_maxalloc) {
 			if (!(tqflags & KM_SLEEP))
@@ -87,7 +83,7 @@ again:	if ((t = tq->tq_freelist) != NULL
 		}
 		mutex_exit(&tq->tq_lock);
 
-		t = kmem_alloc(sizeof (task_t), tqflags & KM_SLEEP);
+		t = kmem_alloc(sizeof (taskq_ent_t), tqflags & KM_SLEEP);
 
 		mutex_enter(&tq->tq_lock);
 		if (t != NULL)
@@ -97,15 +93,15 @@ again:	if ((t = tq->tq_freelist) != NULL
 }
 
 static void
-task_free(taskq_t *tq, task_t *t)
+task_free(taskq_t *tq, taskq_ent_t *t)
 {
 	if (tq->tq_nalloc <= tq->tq_minalloc) {
-		t->task_next = tq->tq_freelist;
+		t->tqent_next = tq->tq_freelist;
 		tq->tq_freelist = t;
 	} else {
 		tq->tq_nalloc--;
 		mutex_exit(&tq->tq_lock);
-		kmem_free(t, sizeof (task_t));
+		kmem_free(t, sizeof (taskq_ent_t));
 		mutex_enter(&tq->tq_lock);
 	}
 
@@ -116,7 +112,7 @@ task_free(taskq_t *tq, task_t *t)
 taskqid_t
 taskq_dispatch(taskq_t *tq, task_func_t func, void *arg, uint_t tqflags)
 {
-	task_t *t;
+	taskq_ent_t *t;
 
 	if (taskq_now) {
 		func(arg);
@@ -130,26 +126,58 @@ taskq_dispatch(taskq_t *tq, task_func_t 
 		return (0);
 	}
 	if (tqflags & TQ_FRONT) {
-		t->task_next = tq->tq_task.task_next;
-		t->task_prev = &tq->tq_task;
+		t->tqent_next = tq->tq_task.tqent_next;
+		t->tqent_prev = &tq->tq_task;
 	} else {
-		t->task_next = &tq->tq_task;
-		t->task_prev = tq->tq_task.task_prev;
+		t->tqent_next = &tq->tq_task;
+		t->tqent_prev = tq->tq_task.tqent_prev;
 	}
-	t->task_next->task_prev = t;
-	t->task_prev->task_next = t;
-	t->task_func = func;
-	t->task_arg = arg;
+	t->tqent_next->tqent_prev = t;
+	t->tqent_prev->tqent_next = t;
+	t->tqent_func = func;
+	t->tqent_arg = arg;
 	cv_signal(&tq->tq_dispatch_cv);
 	mutex_exit(&tq->tq_lock);
 	return (1);
 }
 
 void
+taskq_dispatch_ent(taskq_t *tq, task_func_t func, void *arg, uint_t flags,
+    taskq_ent_t *t)
+{
+	ASSERT(func != NULL);
+	ASSERT(!(tq->tq_flags & TASKQ_DYNAMIC));
+
+	/*
+	 * Mark it as a prealloc'd task.  This is important
+	 * to ensure that we don't free it later.
+	 */
+	t->tqent_flags |= TQENT_FLAG_PREALLOC;
+	/*
+	 * Enqueue the task to the underlying queue.
+	 */
+	mutex_enter(&tq->tq_lock);
+
+	if (flags & TQ_FRONT) {
+		t->tqent_next = tq->tq_task.tqent_next;
+		t->tqent_prev = &tq->tq_task;
+	} else {
+		t->tqent_next = &tq->tq_task;
+		t->tqent_prev = tq->tq_task.tqent_prev;
+	}
+	t->tqent_next->tqent_prev = t;
+	t->tqent_prev->tqent_next = t;
+	t->tqent_func = func;
+	t->tqent_arg = arg;
+	cv_signal(&tq->tq_dispatch_cv);
+	mutex_exit(&tq->tq_lock);
+}
+
+void
 taskq_wait(taskq_t *tq)
 {
 	mutex_enter(&tq->tq_lock);
-	while (tq->tq_task.task_next != &tq->tq_task || tq->tq_active != 0)
+	while (tq->tq_task.tqent_next != &tq->tq_task || tq->tq_active != 0)
 		cv_wait(&tq->tq_wait_cv, &tq->tq_lock);
 	mutex_exit(&tq->tq_lock);
 }
@@ -158,27 +186,32 @@ static void *
 taskq_thread(void *arg)
 {
 	taskq_t *tq = arg;
-	task_t *t;
+	taskq_ent_t *t;
+	boolean_t prealloc;
 
 	mutex_enter(&tq->tq_lock);
 	while (tq->tq_flags & TASKQ_ACTIVE) {
-		if ((t = tq->tq_task.task_next) == &tq->tq_task) {
+		if ((t = tq->tq_task.tqent_next) == &tq->tq_task) {
 			if (--tq->tq_active == 0)
 				cv_broadcast(&tq->tq_wait_cv);
 			cv_wait(&tq->tq_dispatch_cv, &tq->tq_lock);
 			tq->tq_active++;
 			continue;
 		}
-		t->task_prev->task_next = t->task_next;
-		t->task_next->task_prev = t->task_prev;
+		t->tqent_prev->tqent_next = t->tqent_next;
+		t->tqent_next->tqent_prev = t->tqent_prev;
+		t->tqent_next = NULL;
+		t->tqent_prev = NULL;
+		prealloc = t->tqent_flags & TQENT_FLAG_PREALLOC;
 		mutex_exit(&tq->tq_lock);
 
 		rw_enter(&tq->tq_threadlock, RW_READER);
-		t->task_func(t->task_arg);
+		t->tqent_func(t->tqent_arg);
 		rw_exit(&tq->tq_threadlock);
 
 		mutex_enter(&tq->tq_lock);
-		task_free(tq, t);
+		if (!prealloc)
+			task_free(tq, t);
 	}
 	tq->tq_nthreads--;
 	cv_broadcast(&tq->tq_wait_cv);
@@ -217,8 +250,8 @@ taskq_create(const char *name, int nthre
 	tq->tq_nthreads = nthreads;
 	tq->tq_minalloc = minalloc;
 	tq->tq_maxalloc = maxalloc;
-	tq->tq_task.task_next = &tq->tq_task;
-	tq->tq_task.task_prev = &tq->tq_task;
+	tq->tq_task.tqent_next = &tq->tq_task;
+	tq->tq_task.tqent_prev = &tq->tq_task;
 	tq->tq_threadlist = kmem_alloc(nthreads * sizeof (thread_t), KM_SLEEP);
 
 	if (flags & TASKQ_PREPOPULATE) {

Modified: projects/uefi/contrib/apr-util/CHANGES
==============================================================================
--- projects/uefi/contrib/apr-util/CHANGES	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/contrib/apr-util/CHANGES	Thu Nov 28 19:55:07 2013	(r258721)
@@ -1,4 +1,23 @@
                                                      -*- coding: utf-8 -*-
+Changes with APR-util 1.5.3
+
+  *) Cygwin: Use correct file extension when loading APR DSOs.  PR 55587.
+     [Carlo Bramini <carlo.bramix libero.it>]
+
+  *) Add experimental cmake-based build system for Windows.  Refer to
+     README.cmake for more information.  [Jeff Trawick, Tom Donovan]
+
+  *) Fix warnings in odbc driver on 64bit systems.
+     PR 55197  [Tom Donovan]
+
+  *) Add support to apr_memcache for unix domain sockets. PR 54573 [Remi
+     Gacogne <rgacogne+asf aquaray.com>]
+
+  *) Add support for Berkeley DB 6.0. [Rainer Jung]
+
+  *) Improve platform detection for bundled expat by updating
+     config.guess and config.sub. [Rainer Jung]
+
 Changes with APR-util 1.5.2
 
   *) Windows: Add command line makefiles. [Gregg Smith]

Modified: projects/uefi/contrib/apr-util/apr-util.spec
==============================================================================
--- projects/uefi/contrib/apr-util/apr-util.spec	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/contrib/apr-util/apr-util.spec	Thu Nov 28 19:55:07 2013	(r258721)
@@ -3,7 +3,7 @@
 
 Summary: Apache Portable Runtime Utility library
 Name: apr-util
-Version: 1.5.2
+Version: 1.5.3
 Release: 1
 License: Apache Software License
 Group: System Environment/Libraries

Modified: projects/uefi/contrib/apr-util/configure
==============================================================================
--- projects/uefi/contrib/apr-util/configure	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/contrib/apr-util/configure	Thu Nov 28 19:55:07 2013	(r258721)
@@ -1440,7 +1440,7 @@ Optional Packages:
   --with-ldap-lib=path    path to ldap lib file
   --with-ldap=library     ldap library to use
   --with-dbm=DBM          choose the DBM type to use.
-                          DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db4X,db5X}
+                          DBM={sdbm,gdbm,ndbm,db,db1,db185,db2,db3,db4,db4X,db5X,db6X}
                           for some X=0,...,9
   --with-gdbm=DIR         enable GDBM support
   --with-ndbm=PATH        Find the NDBM header and library in `PATH/include'
@@ -11218,8 +11218,10 @@ fi
 
       fi
 
-      test ${apu_has_ldap} != "1" && as_fn_error $? "could not find an LDAP library" "$LINENO" 5
-      test ${apu_has_ldap} == "1" &&
+      if test ${apu_has_ldap} != "1"; then
+        as_fn_error $? "could not find an LDAP library" "$LINENO" 5
+      else
+
   if test "x$LDADD_ldap" = "x"; then
     test "x$silent" != "xyes" && echo "  setting LDADD_ldap to \"$LDADD_ldap_found\""
     LDADD_ldap="$LDADD_ldap_found"
@@ -11240,6 +11242,7 @@ fi
     done
   fi
 
+      fi
       as_ac_Lib=`$as_echo "ac_cv_lib_$apu_liblber_name''_ber_init" | $as_tr_sh`
 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ber_init in -l$apu_liblber_name" >&5
 $as_echo_n "checking for ber_init in -l$apu_liblber_name... " >&6; }
@@ -11617,6 +11620,7 @@ fi
     dbm_list="$dbm_list, db$db_version"
     db_version=`expr $db_version + 1`
   done
+  dbm_list="$dbm_list, db60"
 
 
 # Check whether --with-dbm was given.
@@ -15708,7 +15712,7 @@ fi
       as_fn_error $? "Berkeley db3 not found" "$LINENO" 5
     fi
     ;;
-  db[45][0-9])
+  db[456][0-9])
     db_major=`echo "$requested" | sed -e 's/db//' -e 's/.$//'`
     db_minor=`echo "$requested" | sed -e 's/db//' -e 's/.//'`
 
@@ -16113,7 +16117,7 @@ fi
       as_fn_error $? "Berkeley db$db_major not found" "$LINENO" 5
     fi
     ;;
-  db[45])
+  db[456])
     db_major=`echo "$requested" | sed -e 's/db//'`
     # Start version search at version x.9
     db_minor=9
@@ -18561,11 +18565,11 @@ fi
       eval "apu_use_$requested=1"
       apu_default_dbm=$requested
       ;;
-    db185 | db[12345])
+    db185 | db[123456])
       apu_use_db=1
       apu_default_dbm=$requested
       ;;
-    db[45][0-9])
+    db[456][0-9])
       apu_use_db=1
       apu_default_dbm=`echo $requested | sed -e 's/.$//'`
       ;;

Modified: projects/uefi/contrib/apr-util/crypto/apr_crypto.c
==============================================================================
--- projects/uefi/contrib/apr-util/crypto/apr_crypto.c	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/contrib/apr-util/crypto/apr_crypto.c	Thu Nov 28 19:55:07 2013	(r258721)
@@ -100,7 +100,9 @@ APU_DECLARE(apr_status_t) apr_crypto_ini
     }
 
     /* Top level pool scope, need process-scope lifetime */
-    for (parent = pool; parent; parent = apr_pool_parent_get(pool))
+    for (parent = apr_pool_parent_get(pool);
+         parent && parent != pool;
+         parent = apr_pool_parent_get(pool))
         pool = parent;
 #if APU_DSO_BUILD
     /* deprecate in 2.0 - permit implicit initialization */
@@ -176,7 +178,7 @@ APU_DECLARE(apr_status_t) apr_crypto_get
 
 #if defined(NETWARE)
     apr_snprintf(modname, sizeof(modname), "crypto%s.nlm", name);
-#elif defined(WIN32)
+#elif defined(WIN32) || defined(__CYGWIN__)
     apr_snprintf(modname, sizeof(modname),
             "apr_crypto_%s-" APU_STRINGIFY(APU_MAJOR_VERSION) ".dll", name);
 #else

Modified: projects/uefi/contrib/apr-util/dbd/apr_dbd.c
==============================================================================
--- projects/uefi/contrib/apr-util/dbd/apr_dbd.c	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/contrib/apr-util/dbd/apr_dbd.c	Thu Nov 28 19:55:07 2013	(r258721)
@@ -102,8 +102,10 @@ APU_DECLARE(apr_status_t) apr_dbd_init(a
     }
 
     /* Top level pool scope, need process-scope lifetime */
-    for (parent = pool;  parent; parent = apr_pool_parent_get(pool))
-         pool = parent;
+    for (parent = apr_pool_parent_get(pool);
+        parent && parent != pool;
+        parent = apr_pool_parent_get(pool))
+       pool = parent;
 #if APU_DSO_BUILD
     /* deprecate in 2.0 - permit implicit initialization */
     apu_dso_init(pool);
@@ -184,7 +186,7 @@ APU_DECLARE(apr_status_t) apr_dbd_get_dr
 
 #if defined(NETWARE)
     apr_snprintf(modname, sizeof(modname), "dbd%s.nlm", name);
-#elif defined(WIN32)
+#elif defined(WIN32) || defined(__CYGWIN__)
     apr_snprintf(modname, sizeof(modname),
                  "apr_dbd_%s-" APU_STRINGIFY(APU_MAJOR_VERSION) ".dll", name);
 #else
@@ -204,7 +206,7 @@ APU_DECLARE(apr_status_t) apr_dbd_get_dr
     }
     apu_dso_mutex_unlock();
 
-#else /* not builtin and !APR_HAS_DSO => not implemented */
+#else /* not builtin and !APU_DSO_BUILD => not implemented */
     rv = APR_ENOTIMPL;
 #endif
 

Modified: projects/uefi/contrib/apr-util/dbd/apr_dbd_odbc.c
==============================================================================
--- projects/uefi/contrib/apr-util/dbd/apr_dbd_odbc.c	Thu Nov 28 19:44:36 2013	(r258720)
+++ projects/uefi/contrib/apr-util/dbd/apr_dbd_odbc.c	Thu Nov 28 19:55:07 2013	(r258721)
@@ -114,9 +114,9 @@ struct apr_dbd_t
     char lastError[MAX_ERROR_STRING];
     int defaultBufferSize;      /* used for CLOBs in text mode, 
                                  * and when fld size is indeterminate */
-    int transaction_mode;
-    int dboptions;              /* driver options re SQLGetData */
-    int default_transaction_mode;
+    intptr_t transaction_mode;
+    intptr_t dboptions;         /* driver options re SQLGetData */
+    intptr_t default_transaction_mode;
     int can_commit;             /* controls end_trans behavior */
 };
 
@@ -359,7 +359,7 @@ static SQLRETURN odbc_set_result_column(
                                         SQLHANDLE stmt)
 {
     SQLRETURN rc;

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201311281955.rASJt9wl080263>