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 ...
Ed Maste
emaste at FreeBSD.org
Thu Nov 28 19:55:12 UTC 2013
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 ***
More information about the svn-src-projects
mailing list