svn commit: r260487 - in user/gjb/hacking/release-embedded: . bin/sh cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zhack cddl/contrib/opensolaris/cm...
Glen Barber
gjb at FreeBSD.org
Thu Jan 9 17:27:04 UTC 2014
Author: gjb
Date: Thu Jan 9 17:27:00 2014
New Revision: 260487
URL: http://svnweb.freebsd.org/changeset/base/260487
Log:
MFH: tracking commit (head at r260486)
Sponsored by: The FreeBSD Foundation
Added:
user/gjb/hacking/release-embedded/lib/msun/ld128/k_expl.h
- copied unchanged from r260486, head/lib/msun/ld128/k_expl.h
user/gjb/hacking/release-embedded/lib/msun/ld80/k_expl.h
- copied unchanged from r260486, head/lib/msun/ld80/k_expl.h
user/gjb/hacking/release-embedded/lib/msun/src/e_coshl.c
- copied unchanged from r260486, head/lib/msun/src/e_coshl.c
user/gjb/hacking/release-embedded/lib/msun/src/e_sinhl.c
- copied unchanged from r260486, head/lib/msun/src/e_sinhl.c
user/gjb/hacking/release-embedded/lib/msun/src/s_tanhl.c
- copied unchanged from r260486, head/lib/msun/src/s_tanhl.c
user/gjb/hacking/release-embedded/sbin/fsck_ffs/globs.c
- copied unchanged from r260486, head/sbin/fsck_ffs/globs.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c
- copied unchanged from r260486, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_bookmark.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_bookmark.h
- copied unchanged from r260486, head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_bookmark.h
user/gjb/hacking/release-embedded/sys/contrib/dev/iwn/iwlwifi-135-6-18.168.6.1.fw.uu
- copied unchanged from r260486, head/sys/contrib/dev/iwn/iwlwifi-135-6-18.168.6.1.fw.uu
user/gjb/hacking/release-embedded/sys/dev/aic7xxx/aic79xx_reg.h
- copied unchanged from r260486, head/sys/dev/aic7xxx/aic79xx_reg.h
user/gjb/hacking/release-embedded/sys/dev/aic7xxx/aic79xx_reg_print.c
- copied unchanged from r260486, head/sys/dev/aic7xxx/aic79xx_reg_print.c
user/gjb/hacking/release-embedded/sys/dev/aic7xxx/aic79xx_seq.h
- copied unchanged from r260486, head/sys/dev/aic7xxx/aic79xx_seq.h
user/gjb/hacking/release-embedded/sys/dev/aic7xxx/aic7xxx_reg.h
- copied unchanged from r260486, head/sys/dev/aic7xxx/aic7xxx_reg.h
user/gjb/hacking/release-embedded/sys/dev/aic7xxx/aic7xxx_reg_print.c
- copied unchanged from r260486, head/sys/dev/aic7xxx/aic7xxx_reg_print.c
user/gjb/hacking/release-embedded/sys/dev/aic7xxx/aic7xxx_seq.h
- copied unchanged from r260486, head/sys/dev/aic7xxx/aic7xxx_seq.h
user/gjb/hacking/release-embedded/sys/modules/iwnfw/iwn135/
- copied from r260486, head/sys/modules/iwnfw/iwn135/
user/gjb/hacking/release-embedded/sys/sys/sf_base.h
- copied unchanged from r260486, head/sys/sys/sf_base.h
Deleted:
user/gjb/hacking/release-embedded/sys/arm/tegra/bus_space.c
user/gjb/hacking/release-embedded/sys/dev/fdt/fdt_pci.c
user/gjb/hacking/release-embedded/sys/powerpc/include/fdt.h
Modified:
user/gjb/hacking/release-embedded/COPYRIGHT
user/gjb/hacking/release-embedded/Makefile.inc1
user/gjb/hacking/release-embedded/bin/sh/sh.1
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.8
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb_il.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs.8
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zhack/zhack.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zpool/zpool-features.7
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zpool/zpool.8
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.1
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zstreamdump/zstreamdump.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libdtrace/common/dt_link.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_impl.h
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_iter.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_sendrecv.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzfs_core/common/libzfs_core.h
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzpool/common/kernel.c
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h
user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/lib/pyzfs/common/allow.py
user/gjb/hacking/release-embedded/contrib/binutils/gas/config/tc-ia64.c
user/gjb/hacking/release-embedded/contrib/binutils/opcodes/ia64-asmtab.c
user/gjb/hacking/release-embedded/contrib/byacc/CHANGES
user/gjb/hacking/release-embedded/contrib/byacc/VERSION
user/gjb/hacking/release-embedded/contrib/byacc/aclocal.m4
user/gjb/hacking/release-embedded/contrib/byacc/config.guess
user/gjb/hacking/release-embedded/contrib/byacc/config.sub
user/gjb/hacking/release-embedded/contrib/byacc/configure
user/gjb/hacking/release-embedded/contrib/byacc/configure.in
user/gjb/hacking/release-embedded/contrib/byacc/defs.h
user/gjb/hacking/release-embedded/contrib/byacc/main.c
user/gjb/hacking/release-embedded/contrib/byacc/makefile.in
user/gjb/hacking/release-embedded/contrib/byacc/output.c
user/gjb/hacking/release-embedded/contrib/byacc/package/byacc.spec
user/gjb/hacking/release-embedded/contrib/byacc/package/debian/changelog
user/gjb/hacking/release-embedded/contrib/byacc/reader.c
user/gjb/hacking/release-embedded/contrib/byacc/skeleton.c
user/gjb/hacking/release-embedded/contrib/byacc/test/calc.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/calc1.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/calc2.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/calc3.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/code_calc.code.c
user/gjb/hacking/release-embedded/contrib/byacc/test/code_calc.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/code_error.code.c
user/gjb/hacking/release-embedded/contrib/byacc/test/code_error.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/error.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/ftp.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/grammar.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/pure_calc.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/pure_error.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/quote_calc-s.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/quote_calc.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/quote_calc2-s.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/quote_calc2.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/quote_calc3-s.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/quote_calc3.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/quote_calc4-s.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/test/quote_calc4.tab.c
user/gjb/hacking/release-embedded/contrib/byacc/yacc.1
user/gjb/hacking/release-embedded/contrib/diff/man/diff3.1
user/gjb/hacking/release-embedded/contrib/gcc/ChangeLog.apple
user/gjb/hacking/release-embedded/contrib/gcc/attribs.c
user/gjb/hacking/release-embedded/contrib/gcc/c-common.c
user/gjb/hacking/release-embedded/contrib/gcc/c-common.h
user/gjb/hacking/release-embedded/contrib/gcc/c-convert.c
user/gjb/hacking/release-embedded/contrib/gcc/c-cppbuiltin.c
user/gjb/hacking/release-embedded/contrib/gcc/c-decl.c
user/gjb/hacking/release-embedded/contrib/gcc/c-objc-common.h
user/gjb/hacking/release-embedded/contrib/gcc/c-opts.c
user/gjb/hacking/release-embedded/contrib/gcc/c-parser.c
user/gjb/hacking/release-embedded/contrib/gcc/c-pretty-print.c
user/gjb/hacking/release-embedded/contrib/gcc/c-pretty-print.h
user/gjb/hacking/release-embedded/contrib/gcc/c-tree.h
user/gjb/hacking/release-embedded/contrib/gcc/c-typeck.c
user/gjb/hacking/release-embedded/contrib/gcc/c.opt
user/gjb/hacking/release-embedded/contrib/gcc/calls.c
user/gjb/hacking/release-embedded/contrib/gcc/cgraph.h
user/gjb/hacking/release-embedded/contrib/gcc/cgraphunit.c
user/gjb/hacking/release-embedded/contrib/gcc/combine.c
user/gjb/hacking/release-embedded/contrib/gcc/config/darwin.h
user/gjb/hacking/release-embedded/contrib/gcc/convert.c
user/gjb/hacking/release-embedded/contrib/gcc/convert.h
user/gjb/hacking/release-embedded/contrib/gcc/cp/ChangeLog.apple
user/gjb/hacking/release-embedded/contrib/gcc/cp/ChangeLog.gcc43
user/gjb/hacking/release-embedded/contrib/gcc/cp/call.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/class.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/cp-gimplify.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/cp-objcp-common.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/cp-objcp-common.h
user/gjb/hacking/release-embedded/contrib/gcc/cp/cp-tree.h
user/gjb/hacking/release-embedded/contrib/gcc/cp/decl.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/decl.h
user/gjb/hacking/release-embedded/contrib/gcc/cp/decl2.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/error.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/init.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/mangle.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/name-lookup.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/name-lookup.h
user/gjb/hacking/release-embedded/contrib/gcc/cp/parser.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/pt.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/semantics.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/tree.c
user/gjb/hacking/release-embedded/contrib/gcc/cp/typeck.c
user/gjb/hacking/release-embedded/contrib/gcc/dbxout.c
user/gjb/hacking/release-embedded/contrib/gcc/doc/extend.texi
user/gjb/hacking/release-embedded/contrib/gcc/doc/invoke.texi
user/gjb/hacking/release-embedded/contrib/gcc/dwarf2.h
user/gjb/hacking/release-embedded/contrib/gcc/dwarf2out.c
user/gjb/hacking/release-embedded/contrib/gcc/expmed.c
user/gjb/hacking/release-embedded/contrib/gcc/expr.c
user/gjb/hacking/release-embedded/contrib/gcc/fold-const.c
user/gjb/hacking/release-embedded/contrib/gcc/function.c
user/gjb/hacking/release-embedded/contrib/gcc/function.h
user/gjb/hacking/release-embedded/contrib/gcc/ggc-common.c
user/gjb/hacking/release-embedded/contrib/gcc/ggc.h
user/gjb/hacking/release-embedded/contrib/gcc/langhooks-def.h
user/gjb/hacking/release-embedded/contrib/gcc/langhooks.c
user/gjb/hacking/release-embedded/contrib/gcc/langhooks.h
user/gjb/hacking/release-embedded/contrib/gcc/stor-layout.c
user/gjb/hacking/release-embedded/contrib/gcc/stub-objc.c
user/gjb/hacking/release-embedded/contrib/gcc/targhooks.c
user/gjb/hacking/release-embedded/contrib/gcc/toplev.c
user/gjb/hacking/release-embedded/contrib/gcc/tree-gimple.h
user/gjb/hacking/release-embedded/contrib/gcc/tree-nested.c
user/gjb/hacking/release-embedded/contrib/gcc/tree.c
user/gjb/hacking/release-embedded/contrib/gcc/tree.def
user/gjb/hacking/release-embedded/contrib/gcc/tree.h
user/gjb/hacking/release-embedded/contrib/gcc/varasm.c
user/gjb/hacking/release-embedded/contrib/gcclibs/include/libiberty.h
user/gjb/hacking/release-embedded/contrib/gcclibs/libcpp/ChangeLog.apple
user/gjb/hacking/release-embedded/contrib/gcclibs/libcpp/charset.c
user/gjb/hacking/release-embedded/contrib/gcclibs/libcpp/directives.c
user/gjb/hacking/release-embedded/contrib/gcclibs/libcpp/internal.h
user/gjb/hacking/release-embedded/contrib/gcclibs/libcpp/lex.c
user/gjb/hacking/release-embedded/contrib/gcclibs/libiberty/physmem.c
user/gjb/hacking/release-embedded/contrib/gperf/doc/gperf.1
user/gjb/hacking/release-embedded/contrib/gperf/src/options.cc
user/gjb/hacking/release-embedded/contrib/gperf/src/options.h
user/gjb/hacking/release-embedded/contrib/gperf/src/options.icc
user/gjb/hacking/release-embedded/contrib/gperf/src/output.cc
user/gjb/hacking/release-embedded/contrib/libpcap/ieee80211.h
user/gjb/hacking/release-embedded/crypto/openssl/ssl/d1_both.c
user/gjb/hacking/release-embedded/crypto/openssl/ssl/s3_both.c
user/gjb/hacking/release-embedded/crypto/openssl/ssl/s3_lib.c
user/gjb/hacking/release-embedded/crypto/openssl/ssl/ssl_locl.h
user/gjb/hacking/release-embedded/crypto/openssl/ssl/t1_enc.c
user/gjb/hacking/release-embedded/etc/defaults/rc.conf
user/gjb/hacking/release-embedded/etc/devd/usb.conf
user/gjb/hacking/release-embedded/gnu/usr.bin/gdb/kgdb/Makefile
user/gjb/hacking/release-embedded/gnu/usr.bin/gdb/kgdb/main.c
user/gjb/hacking/release-embedded/lib/libc/net/sctp_sys_calls.c
user/gjb/hacking/release-embedded/lib/libcasper/libcasper.c
user/gjb/hacking/release-embedded/lib/libiconv/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/BIG5/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/EUC/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/EUCTW/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/GBK2K/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/ISO2022/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/JOHAB/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/UES/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/UTF1632/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/UTF7/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/iconv_std/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/mapper_parallel/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/mapper_serial/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/mapper_std/Makefile
user/gjb/hacking/release-embedded/lib/libiconv_modules/mapper_zone/Makefile
user/gjb/hacking/release-embedded/lib/libkvm/kvm.c
user/gjb/hacking/release-embedded/lib/libkvm/kvm_ia64.c
user/gjb/hacking/release-embedded/lib/libnetgraph/sock.c
user/gjb/hacking/release-embedded/lib/libnv/nvlist.c
user/gjb/hacking/release-embedded/lib/libprocstat/zfs/Makefile
user/gjb/hacking/release-embedded/lib/libusb/Makefile
user/gjb/hacking/release-embedded/lib/libusb/libusb.3
user/gjb/hacking/release-embedded/lib/libusb/libusb.h
user/gjb/hacking/release-embedded/lib/libusb/libusb10_io.c
user/gjb/hacking/release-embedded/lib/msun/Makefile
user/gjb/hacking/release-embedded/lib/msun/Symbol.map
user/gjb/hacking/release-embedded/lib/msun/ld128/s_expl.c
user/gjb/hacking/release-embedded/lib/msun/ld80/s_expl.c
user/gjb/hacking/release-embedded/lib/msun/man/cosh.3
user/gjb/hacking/release-embedded/lib/msun/man/sinh.3
user/gjb/hacking/release-embedded/lib/msun/man/tanh.3
user/gjb/hacking/release-embedded/lib/msun/src/e_cosh.c
user/gjb/hacking/release-embedded/lib/msun/src/e_sinh.c
user/gjb/hacking/release-embedded/lib/msun/src/imprecise.c
user/gjb/hacking/release-embedded/lib/msun/src/math.h
user/gjb/hacking/release-embedded/lib/msun/src/s_tanh.c
user/gjb/hacking/release-embedded/release/picobsd/build/picobsd
user/gjb/hacking/release-embedded/sbin/camcontrol/camcontrol.8
user/gjb/hacking/release-embedded/sbin/camcontrol/camcontrol.c
user/gjb/hacking/release-embedded/sbin/casperd/casperd.c
user/gjb/hacking/release-embedded/sbin/fsck_ffs/Makefile
user/gjb/hacking/release-embedded/sbin/fsck_ffs/dir.c
user/gjb/hacking/release-embedded/sbin/fsck_ffs/fsck.h
user/gjb/hacking/release-embedded/sbin/fsck_ffs/fsck_ffs.8
user/gjb/hacking/release-embedded/sbin/fsck_ffs/fsutil.c
user/gjb/hacking/release-embedded/sbin/fsck_ffs/main.c
user/gjb/hacking/release-embedded/sbin/fsck_ffs/pass1.c
user/gjb/hacking/release-embedded/sbin/fsck_ffs/pass1b.c
user/gjb/hacking/release-embedded/sbin/fsck_ffs/suj.c
user/gjb/hacking/release-embedded/sbin/fsck_ffs/utilities.c
user/gjb/hacking/release-embedded/sbin/fsdb/Makefile
user/gjb/hacking/release-embedded/sbin/geom/class/eli/geom_eli.c
user/gjb/hacking/release-embedded/sbin/kldload/kldload.c
user/gjb/hacking/release-embedded/sbin/nvmecontrol/devlist.c
user/gjb/hacking/release-embedded/sbin/route/route.c
user/gjb/hacking/release-embedded/share/i18n/esdb/UTF/UTF.alias
user/gjb/hacking/release-embedded/share/man/man4/netmap.4
user/gjb/hacking/release-embedded/share/man/man4/run.4
user/gjb/hacking/release-embedded/share/man/man9/ieee80211_crypto.9
user/gjb/hacking/release-embedded/share/mk/bsd.sys.mk
user/gjb/hacking/release-embedded/sys/Makefile
user/gjb/hacking/release-embedded/sys/amd64/amd64/pmap.c
user/gjb/hacking/release-embedded/sys/amd64/conf/NOTES
user/gjb/hacking/release-embedded/sys/amd64/include/vmm.h
user/gjb/hacking/release-embedded/sys/amd64/vmm/amd/amdv.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/ept.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/ept.h
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmcs.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmcs.h
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx.h
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx_controls.h
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx_genassym.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/intel/vmx_support.S
user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vhpet.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic.h
user/gjb/hacking/release-embedded/sys/amd64/vmm/io/vlapic_priv.h
user/gjb/hacking/release-embedded/sys/amd64/vmm/vmm.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/vmm_ipi.c
user/gjb/hacking/release-embedded/sys/amd64/vmm/vmm_ipi.h
user/gjb/hacking/release-embedded/sys/amd64/vmm/vmm_lapic.c
user/gjb/hacking/release-embedded/sys/arm/allwinner/a10_machdep.c
user/gjb/hacking/release-embedded/sys/arm/arm/bus_space_generic.c
user/gjb/hacking/release-embedded/sys/arm/arm/devmap.c
user/gjb/hacking/release-embedded/sys/arm/arm/gic.c
user/gjb/hacking/release-embedded/sys/arm/arm/intr.c
user/gjb/hacking/release-embedded/sys/arm/arm/machdep.c
user/gjb/hacking/release-embedded/sys/arm/arm/nexus.c
user/gjb/hacking/release-embedded/sys/arm/arm/trap.c
user/gjb/hacking/release-embedded/sys/arm/at91/at91.c
user/gjb/hacking/release-embedded/sys/arm/broadcom/bcm2835/bcm2835_fbd.c
user/gjb/hacking/release-embedded/sys/arm/broadcom/bcm2835/bcm2835_machdep.c
user/gjb/hacking/release-embedded/sys/arm/conf/AC100
user/gjb/hacking/release-embedded/sys/arm/conf/ARMADAXP
user/gjb/hacking/release-embedded/sys/arm/conf/ARNDALE
user/gjb/hacking/release-embedded/sys/arm/conf/ATMEL
user/gjb/hacking/release-embedded/sys/arm/conf/AVILA
user/gjb/hacking/release-embedded/sys/arm/conf/BWCT
user/gjb/hacking/release-embedded/sys/arm/conf/CAMBRIA
user/gjb/hacking/release-embedded/sys/arm/conf/CNS11XXNAS
user/gjb/hacking/release-embedded/sys/arm/conf/COSMIC
user/gjb/hacking/release-embedded/sys/arm/conf/CUBIEBOARD
user/gjb/hacking/release-embedded/sys/arm/conf/CUBIEBOARD2
user/gjb/hacking/release-embedded/sys/arm/conf/DB-78XXX
user/gjb/hacking/release-embedded/sys/arm/conf/DB-88F5XXX
user/gjb/hacking/release-embedded/sys/arm/conf/DB-88F6XXX
user/gjb/hacking/release-embedded/sys/arm/conf/DIGI-CCWMX53
user/gjb/hacking/release-embedded/sys/arm/conf/DOCKSTAR
user/gjb/hacking/release-embedded/sys/arm/conf/EA3250
user/gjb/hacking/release-embedded/sys/arm/conf/EB9200
user/gjb/hacking/release-embedded/sys/arm/conf/EFIKA_MX
user/gjb/hacking/release-embedded/sys/arm/conf/ETHERNUT5
user/gjb/hacking/release-embedded/sys/arm/conf/HL200
user/gjb/hacking/release-embedded/sys/arm/conf/HL201
user/gjb/hacking/release-embedded/sys/arm/conf/IMX53-QSB
user/gjb/hacking/release-embedded/sys/arm/conf/KB920X
user/gjb/hacking/release-embedded/sys/arm/conf/LN2410SBC
user/gjb/hacking/release-embedded/sys/arm/conf/NSLU
user/gjb/hacking/release-embedded/sys/arm/conf/PANDABOARD
user/gjb/hacking/release-embedded/sys/arm/conf/QILA9G20
user/gjb/hacking/release-embedded/sys/arm/conf/RADXA
user/gjb/hacking/release-embedded/sys/arm/conf/RPI-B
user/gjb/hacking/release-embedded/sys/arm/conf/SAM9260EK
user/gjb/hacking/release-embedded/sys/arm/conf/SAM9G20EK
user/gjb/hacking/release-embedded/sys/arm/conf/SAM9X25EK
user/gjb/hacking/release-embedded/sys/arm/conf/SHEEVAPLUG
user/gjb/hacking/release-embedded/sys/arm/conf/SN9G45
user/gjb/hacking/release-embedded/sys/arm/conf/TS7800
user/gjb/hacking/release-embedded/sys/arm/conf/ZEDBOARD
user/gjb/hacking/release-embedded/sys/arm/freescale/imx/imx51_ipuv3.c
user/gjb/hacking/release-embedded/sys/arm/include/fdt.h
user/gjb/hacking/release-embedded/sys/arm/include/intr.h
user/gjb/hacking/release-embedded/sys/arm/include/ofw_machdep.h
user/gjb/hacking/release-embedded/sys/arm/include/psl.h
user/gjb/hacking/release-embedded/sys/arm/lpc/lpc_gpio.c
user/gjb/hacking/release-embedded/sys/arm/lpc/lpc_machdep.c
user/gjb/hacking/release-embedded/sys/arm/lpc/lpc_mmc.c
user/gjb/hacking/release-embedded/sys/arm/lpc/lpcreg.h
user/gjb/hacking/release-embedded/sys/arm/mv/mv_machdep.c
user/gjb/hacking/release-embedded/sys/arm/mv/mv_pci.c
user/gjb/hacking/release-embedded/sys/arm/mv/mvvar.h
user/gjb/hacking/release-embedded/sys/arm/tegra/files.tegra2
user/gjb/hacking/release-embedded/sys/arm/tegra/tegra2_machdep.c
user/gjb/hacking/release-embedded/sys/arm/ti/am335x/am335x_dmtimer.c
user/gjb/hacking/release-embedded/sys/arm/ti/ti_machdep.c
user/gjb/hacking/release-embedded/sys/arm/versatile/sp804.c
user/gjb/hacking/release-embedded/sys/boot/fdt/dts/cubieboard.dts
user/gjb/hacking/release-embedded/sys/boot/fdt/dts/cubieboard2.dts
user/gjb/hacking/release-embedded/sys/boot/fdt/dts/dockstar.dts
user/gjb/hacking/release-embedded/sys/boot/i386/Makefile.inc
user/gjb/hacking/release-embedded/sys/boot/i386/boot2/Makefile
user/gjb/hacking/release-embedded/sys/boot/i386/gptboot/Makefile
user/gjb/hacking/release-embedded/sys/boot/i386/gptzfsboot/Makefile
user/gjb/hacking/release-embedded/sys/boot/i386/zfsboot/Makefile
user/gjb/hacking/release-embedded/sys/boot/pc98/boot2/Makefile
user/gjb/hacking/release-embedded/sys/boot/zfs/zfsimpl.c
user/gjb/hacking/release-embedded/sys/cam/scsi/scsi_da.c
user/gjb/hacking/release-embedded/sys/cddl/boot/zfs/zfsimpl.h
user/gjb/hacking/release-embedded/sys/cddl/compat/opensolaris/sys/time.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/atomic/ia64/opensolaris_atomic.S
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/zfs/zfeature_common.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/zfs/zfs_deleg.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/zfs/zfs_ioctl_compat.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/zfs/zfs_namecheck.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/common/zfs/zfs_prop.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/Makefile.files
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/ddt.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_diff.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_zfetch.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_destroy.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dbuf.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dmu.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_dataset.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_deleg.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/spa_impl.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_disk.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev_impl.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_debug.h
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_cache.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_disk.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ctldir.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c
user/gjb/hacking/release-embedded/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
user/gjb/hacking/release-embedded/sys/cddl/dev/dtrace/dtrace_load.c
user/gjb/hacking/release-embedded/sys/compat/freebsd32/freebsd32_misc.c
user/gjb/hacking/release-embedded/sys/conf/files
user/gjb/hacking/release-embedded/sys/conf/kern.pre.mk
user/gjb/hacking/release-embedded/sys/conf/options
user/gjb/hacking/release-embedded/sys/conf/options.arm
user/gjb/hacking/release-embedded/sys/dev/aac/aac.c
user/gjb/hacking/release-embedded/sys/dev/aacraid/aacraid.c
user/gjb/hacking/release-embedded/sys/dev/ahci/ahci.c
user/gjb/hacking/release-embedded/sys/dev/ale/if_ale.c
user/gjb/hacking/release-embedded/sys/dev/ath/if_ath_rx_edma.c
user/gjb/hacking/release-embedded/sys/dev/ath/if_ath_tx.c
user/gjb/hacking/release-embedded/sys/dev/bge/if_bge.c
user/gjb/hacking/release-embedded/sys/dev/bwi/if_bwi.c
user/gjb/hacking/release-embedded/sys/dev/bwn/if_bwn.c
user/gjb/hacking/release-embedded/sys/dev/bxe/bxe.c
user/gjb/hacking/release-embedded/sys/dev/bxe/ecore_hsi.h
user/gjb/hacking/release-embedded/sys/dev/bxe/ecore_sp.c
user/gjb/hacking/release-embedded/sys/dev/cxgbe/adapter.h
user/gjb/hacking/release-embedded/sys/dev/cxgbe/t4_main.c
user/gjb/hacking/release-embedded/sys/dev/cxgbe/t4_sge.c
user/gjb/hacking/release-embedded/sys/dev/e1000/if_em.c
user/gjb/hacking/release-embedded/sys/dev/e1000/if_igb.c
user/gjb/hacking/release-embedded/sys/dev/e1000/if_lem.c
user/gjb/hacking/release-embedded/sys/dev/ed/if_ed.c
user/gjb/hacking/release-embedded/sys/dev/ed/if_ed_3c503.c
user/gjb/hacking/release-embedded/sys/dev/ed/if_ed_pccard.c
user/gjb/hacking/release-embedded/sys/dev/ed/if_ed_rtl80x9.c
user/gjb/hacking/release-embedded/sys/dev/ed/if_edreg.h
user/gjb/hacking/release-embedded/sys/dev/ed/if_edvar.h
user/gjb/hacking/release-embedded/sys/dev/ed/tc5299jreg.h
user/gjb/hacking/release-embedded/sys/dev/en/midway.c
user/gjb/hacking/release-embedded/sys/dev/fb/boot_font.c
user/gjb/hacking/release-embedded/sys/dev/fb/gallant12x22.c
user/gjb/hacking/release-embedded/sys/dev/fdt/fdt_common.c
user/gjb/hacking/release-embedded/sys/dev/fdt/fdt_common.h
user/gjb/hacking/release-embedded/sys/dev/fdt/fdt_mips.c
user/gjb/hacking/release-embedded/sys/dev/fdt/fdt_powerpc.c
user/gjb/hacking/release-embedded/sys/dev/fdt/fdt_x86.c
user/gjb/hacking/release-embedded/sys/dev/fdt/fdtbus.c
user/gjb/hacking/release-embedded/sys/dev/fdt/simplebus.c
user/gjb/hacking/release-embedded/sys/dev/ffec/if_ffec.c
user/gjb/hacking/release-embedded/sys/dev/firewire/if_fwe.c
user/gjb/hacking/release-embedded/sys/dev/ipw/if_ipw.c
user/gjb/hacking/release-embedded/sys/dev/ipw/if_ipwvar.h
user/gjb/hacking/release-embedded/sys/dev/iscsi/icl.c
user/gjb/hacking/release-embedded/sys/dev/iwi/if_iwi.c
user/gjb/hacking/release-embedded/sys/dev/iwi/if_iwivar.h
user/gjb/hacking/release-embedded/sys/dev/iwn/if_iwn.c
user/gjb/hacking/release-embedded/sys/dev/iwn/if_iwn_devid.h
user/gjb/hacking/release-embedded/sys/dev/iwn/if_iwnvar.h
user/gjb/hacking/release-embedded/sys/dev/ixgbe/ixgbe.c
user/gjb/hacking/release-embedded/sys/dev/malo/if_malo.c
user/gjb/hacking/release-embedded/sys/dev/mcd/mcd.c
user/gjb/hacking/release-embedded/sys/dev/mpt/mpt.h
user/gjb/hacking/release-embedded/sys/dev/mpt/mpt_cam.c
user/gjb/hacking/release-embedded/sys/dev/mpt/mpt_pci.c
user/gjb/hacking/release-embedded/sys/dev/mpt/mpt_raid.c
user/gjb/hacking/release-embedded/sys/dev/mwl/if_mwl.c
user/gjb/hacking/release-embedded/sys/dev/my/if_my.c
user/gjb/hacking/release-embedded/sys/dev/nand/nand_id.c
user/gjb/hacking/release-embedded/sys/dev/nand/nandbus.c
user/gjb/hacking/release-embedded/sys/dev/netmap/if_em_netmap.h
user/gjb/hacking/release-embedded/sys/dev/netmap/if_igb_netmap.h
user/gjb/hacking/release-embedded/sys/dev/netmap/if_lem_netmap.h
user/gjb/hacking/release-embedded/sys/dev/netmap/if_re_netmap.h
user/gjb/hacking/release-embedded/sys/dev/netmap/ixgbe_netmap.h
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap.c
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_freebsd.c
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_generic.c
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_kern.h
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_mbq.c
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_mbq.h
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_mem2.c
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_mem2.h
user/gjb/hacking/release-embedded/sys/dev/netmap/netmap_vale.c
user/gjb/hacking/release-embedded/sys/dev/nvme/nvme_ctrlr.c
user/gjb/hacking/release-embedded/sys/dev/oce/oce_if.c
user/gjb/hacking/release-embedded/sys/dev/ral/if_ral_pci.c
user/gjb/hacking/release-embedded/sys/dev/ral/rt2560.c
user/gjb/hacking/release-embedded/sys/dev/ral/rt2661.c
user/gjb/hacking/release-embedded/sys/dev/ral/rt2860.c
user/gjb/hacking/release-embedded/sys/dev/scc/scc_dev_z8530.c
user/gjb/hacking/release-embedded/sys/dev/sound/pci/maestro.c
user/gjb/hacking/release-embedded/sys/dev/tpm/tpm.c
user/gjb/hacking/release-embedded/sys/dev/uart/uart_bus_fdt.c
user/gjb/hacking/release-embedded/sys/dev/uart/uart_dev_lpc.c
user/gjb/hacking/release-embedded/sys/dev/usb/controller/xhci.c
user/gjb/hacking/release-embedded/sys/dev/usb/usbdevs
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_rsu.c
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_rum.c
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_run.c
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_runreg.h
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_runvar.h
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_uath.c
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_upgt.c
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_ural.c
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_urtw.c
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_urtwn.c
user/gjb/hacking/release-embedded/sys/dev/usb/wlan/if_zyd.c
user/gjb/hacking/release-embedded/sys/dev/vt/hw/vga/vga.c
user/gjb/hacking/release-embedded/sys/dev/vt/hw/xboxfb/xboxfb.c
user/gjb/hacking/release-embedded/sys/dev/vt/vt_font.c
user/gjb/hacking/release-embedded/sys/dev/vxge/vxgehal/vxgehal-ring.c
user/gjb/hacking/release-embedded/sys/dev/wi/if_wi.c
user/gjb/hacking/release-embedded/sys/dev/wpi/if_wpi.c
user/gjb/hacking/release-embedded/sys/dev/wpi/if_wpivar.h
user/gjb/hacking/release-embedded/sys/fs/nfs/nfs_var.h
user/gjb/hacking/release-embedded/sys/fs/nfs/nfsrvcache.h
user/gjb/hacking/release-embedded/sys/fs/nfsserver/nfs_nfsdcache.c
user/gjb/hacking/release-embedded/sys/fs/nfsserver/nfs_nfsdkrpc.c
user/gjb/hacking/release-embedded/sys/fs/nfsserver/nfs_nfsdport.c
user/gjb/hacking/release-embedded/sys/fs/nfsserver/nfs_nfsdsubs.c
user/gjb/hacking/release-embedded/sys/ia64/include/atomic.h
user/gjb/hacking/release-embedded/sys/kern/kern_cons.c
user/gjb/hacking/release-embedded/sys/kern/kern_descrip.c
user/gjb/hacking/release-embedded/sys/kern/kern_event.c
user/gjb/hacking/release-embedded/sys/kern/sched_4bsd.c
user/gjb/hacking/release-embedded/sys/kern/uipc_syscalls.c
user/gjb/hacking/release-embedded/sys/mips/conf/TP-WN1043ND.hints
user/gjb/hacking/release-embedded/sys/mips/include/fdt.h
user/gjb/hacking/release-embedded/sys/modules/aic7xxx/Makefile
user/gjb/hacking/release-embedded/sys/modules/aic7xxx/ahc/Makefile
user/gjb/hacking/release-embedded/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile
user/gjb/hacking/release-embedded/sys/modules/aic7xxx/ahc/ahc_isa/Makefile
user/gjb/hacking/release-embedded/sys/modules/aic7xxx/ahc/ahc_pci/Makefile
user/gjb/hacking/release-embedded/sys/modules/aic7xxx/ahd/Makefile
user/gjb/hacking/release-embedded/sys/modules/ath/Makefile
user/gjb/hacking/release-embedded/sys/modules/drm2/i915kms/Makefile
user/gjb/hacking/release-embedded/sys/modules/drm2/radeonkms/Makefile
user/gjb/hacking/release-embedded/sys/modules/ibcore/Makefile
user/gjb/hacking/release-embedded/sys/modules/ipfilter/Makefile
user/gjb/hacking/release-embedded/sys/modules/ipoib/Makefile
user/gjb/hacking/release-embedded/sys/modules/iwnfw/Makefile
user/gjb/hacking/release-embedded/sys/modules/mlx4/Makefile
user/gjb/hacking/release-embedded/sys/modules/mlx4ib/Makefile
user/gjb/hacking/release-embedded/sys/modules/mlxen/Makefile
user/gjb/hacking/release-embedded/sys/modules/mthca/Makefile
user/gjb/hacking/release-embedded/sys/modules/wlan/Makefile
user/gjb/hacking/release-embedded/sys/net/ieee8023ad_lacp.c
user/gjb/hacking/release-embedded/sys/net/if.c
user/gjb/hacking/release-embedded/sys/net/if_lagg.c
user/gjb/hacking/release-embedded/sys/net/if_lagg.h
user/gjb/hacking/release-embedded/sys/net/if_tap.c
user/gjb/hacking/release-embedded/sys/net/if_tun.c
user/gjb/hacking/release-embedded/sys/net/netmap.h
user/gjb/hacking/release-embedded/sys/net/netmap_user.h
user/gjb/hacking/release-embedded/sys/net/radix.c
user/gjb/hacking/release-embedded/sys/net/radix.h
user/gjb/hacking/release-embedded/sys/net/radix_mpath.c
user/gjb/hacking/release-embedded/sys/net/route.c
user/gjb/hacking/release-embedded/sys/net/route.h
user/gjb/hacking/release-embedded/sys/net/rtsock.c
user/gjb/hacking/release-embedded/sys/net/sff8472.h
user/gjb/hacking/release-embedded/sys/net80211/ieee80211.h
user/gjb/hacking/release-embedded/sys/net80211/ieee80211_adhoc.c
user/gjb/hacking/release-embedded/sys/net80211/ieee80211_hostap.c
user/gjb/hacking/release-embedded/sys/net80211/ieee80211_mesh.c
user/gjb/hacking/release-embedded/sys/net80211/ieee80211_output.c
user/gjb/hacking/release-embedded/sys/net80211/ieee80211_proto.c
user/gjb/hacking/release-embedded/sys/net80211/ieee80211_sta.c
user/gjb/hacking/release-embedded/sys/net80211/ieee80211_wds.c
user/gjb/hacking/release-embedded/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
user/gjb/hacking/release-embedded/sys/netgraph/netflow/netflow.c
user/gjb/hacking/release-embedded/sys/netgraph/netflow/netflow_v9.c
user/gjb/hacking/release-embedded/sys/netgraph/netflow/ng_netflow.c
user/gjb/hacking/release-embedded/sys/netgraph/netflow/ng_netflow.h
user/gjb/hacking/release-embedded/sys/netgraph/ng_base.c
user/gjb/hacking/release-embedded/sys/netgraph/ng_l2tp.c
user/gjb/hacking/release-embedded/sys/netinet/if_ether.c
user/gjb/hacking/release-embedded/sys/netinet/in.c
user/gjb/hacking/release-embedded/sys/netinet/ip_carp.c
user/gjb/hacking/release-embedded/sys/netinet/ip_output.c
user/gjb/hacking/release-embedded/sys/netinet6/in6.c
user/gjb/hacking/release-embedded/sys/netinet6/in6_ifattach.c
user/gjb/hacking/release-embedded/sys/netinet6/in6_src.c
user/gjb/hacking/release-embedded/sys/netinet6/in6_var.h
user/gjb/hacking/release-embedded/sys/netinet6/ip6_mroute.c
user/gjb/hacking/release-embedded/sys/netinet6/ip6_mroute.h
user/gjb/hacking/release-embedded/sys/netinet6/nd6.c
user/gjb/hacking/release-embedded/sys/netinet6/nd6_nbr.c
user/gjb/hacking/release-embedded/sys/netinet6/nd6_rtr.c
user/gjb/hacking/release-embedded/sys/netpfil/ipfw/ip_fw_table.c
user/gjb/hacking/release-embedded/sys/netpfil/pf/pf_lb.c
user/gjb/hacking/release-embedded/sys/nfs/nfs_fha.c
user/gjb/hacking/release-embedded/sys/nfs/nfs_fha.h
user/gjb/hacking/release-embedded/sys/ofed/drivers/infiniband/hw/mlx4/Makefile
user/gjb/hacking/release-embedded/sys/ofed/drivers/net/mlx4/Makefile
user/gjb/hacking/release-embedded/sys/powerpc/powerpc/bus_machdep.c
user/gjb/hacking/release-embedded/sys/rpc/svc.c
user/gjb/hacking/release-embedded/sys/rpc/svc.h
user/gjb/hacking/release-embedded/sys/rpc/svc_dg.c
user/gjb/hacking/release-embedded/sys/rpc/svc_vc.c
user/gjb/hacking/release-embedded/sys/sys/copyright.h
user/gjb/hacking/release-embedded/sys/sys/event.h
user/gjb/hacking/release-embedded/sys/sys/pmckern.h
user/gjb/hacking/release-embedded/sys/sys/user.h
user/gjb/hacking/release-embedded/sys/ufs/ffs/ffs_alloc.c
user/gjb/hacking/release-embedded/sys/ufs/ufs/ufs_quota.c
user/gjb/hacking/release-embedded/sys/vm/vm_page.c
user/gjb/hacking/release-embedded/sys/vm/vm_page.h
user/gjb/hacking/release-embedded/sys/vm/vm_phys.c
user/gjb/hacking/release-embedded/sys/vm/vm_reserv.c
user/gjb/hacking/release-embedded/sys/x86/include/fdt.h
user/gjb/hacking/release-embedded/sys/x86/include/ofw_machdep.h
user/gjb/hacking/release-embedded/sys/x86/x86/mca.c
user/gjb/hacking/release-embedded/tools/regression/capsicum/libcapsicum/Makefile
user/gjb/hacking/release-embedded/tools/regression/capsicum/libcapsicum/dns.c
user/gjb/hacking/release-embedded/tools/regression/capsicum/libcapsicum/grp.c
user/gjb/hacking/release-embedded/tools/regression/capsicum/libcapsicum/pwd.c
user/gjb/hacking/release-embedded/tools/regression/capsicum/libcapsicum/sysctl.c
user/gjb/hacking/release-embedded/tools/test/dtrace/Makefile
user/gjb/hacking/release-embedded/tools/tools/net80211/stumbler/stumbler.c
user/gjb/hacking/release-embedded/tools/tools/net80211/w00t/ap/ap.c
user/gjb/hacking/release-embedded/tools/tools/net80211/w00t/assoc/assoc.c
user/gjb/hacking/release-embedded/tools/tools/net80211/w00t/expand/expand.c
user/gjb/hacking/release-embedded/tools/tools/net80211/w00t/prga/prga.c
user/gjb/hacking/release-embedded/tools/tools/net80211/w00t/redir/redir.c
user/gjb/hacking/release-embedded/tools/tools/net80211/wesside/wesside/wesside.c
user/gjb/hacking/release-embedded/tools/tools/net80211/wlaninject/wlaninject.c
user/gjb/hacking/release-embedded/tools/tools/netmap/bridge.c
user/gjb/hacking/release-embedded/tools/tools/netmap/nm_util.c
user/gjb/hacking/release-embedded/tools/tools/netmap/nm_util.h
user/gjb/hacking/release-embedded/tools/tools/netmap/pcap.c
user/gjb/hacking/release-embedded/tools/tools/netmap/pkt-gen.c
user/gjb/hacking/release-embedded/tools/tools/netmap/vale-ctl.c
user/gjb/hacking/release-embedded/usr.bin/find/find.1
user/gjb/hacking/release-embedded/usr.bin/find/function.c
user/gjb/hacking/release-embedded/usr.bin/iscsictl/iscsictl.8
user/gjb/hacking/release-embedded/usr.bin/netstat/if.c
user/gjb/hacking/release-embedded/usr.bin/netstat/route.c
user/gjb/hacking/release-embedded/usr.bin/whois/whois.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/Makefile
user/gjb/hacking/release-embedded/usr.sbin/bhyve/acpi.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/acpi.h
user/gjb/hacking/release-embedded/usr.sbin/bhyve/atpic.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/bhyve.8
user/gjb/hacking/release-embedded/usr.sbin/bhyve/bhyverun.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/elcr.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/pci_emul.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/pci_emul.h
user/gjb/hacking/release-embedded/usr.sbin/bhyve/pci_lpc.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/pci_lpc.h
user/gjb/hacking/release-embedded/usr.sbin/bhyve/pit_8254.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/pm.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/post.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/rtc.c
user/gjb/hacking/release-embedded/usr.sbin/bhyve/virtio.c
user/gjb/hacking/release-embedded/usr.sbin/bhyvectl/bhyvectl.c
user/gjb/hacking/release-embedded/usr.sbin/bsdinstall/scripts/wlanconfig
user/gjb/hacking/release-embedded/usr.sbin/bsnmpd/modules/snmp_hast/BEGEMOT-HAST-MIB.txt
user/gjb/hacking/release-embedded/usr.sbin/bsnmpd/modules/snmp_hast/hast_snmp.c
user/gjb/hacking/release-embedded/usr.sbin/bsnmpd/modules/snmp_hast/hast_tree.def
user/gjb/hacking/release-embedded/usr.sbin/makefs/cd9660/iso9660_rrip.c
user/gjb/hacking/release-embedded/usr.sbin/makefs/cd9660/iso9660_rrip.h
user/gjb/hacking/release-embedded/usr.sbin/mfiutil/Makefile
user/gjb/hacking/release-embedded/usr.sbin/rpc.lockd/kern.c
user/gjb/hacking/release-embedded/usr.sbin/rpc.lockd/lock_proc.c
user/gjb/hacking/release-embedded/usr.sbin/rpc.lockd/lockd.c
Directory Properties:
user/gjb/hacking/release-embedded/ (props changed)
Modified: user/gjb/hacking/release-embedded/COPYRIGHT
==============================================================================
--- user/gjb/hacking/release-embedded/COPYRIGHT Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/COPYRIGHT Thu Jan 9 17:27:00 2014 (r260487)
@@ -4,7 +4,7 @@
The compilation of software known as FreeBSD is distributed under the
following terms:
-Copyright (c) 1992-2013 The FreeBSD Project. All rights reserved.
+Copyright (c) 1992-2014 The FreeBSD Project. All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
Modified: user/gjb/hacking/release-embedded/Makefile.inc1
==============================================================================
--- user/gjb/hacking/release-embedded/Makefile.inc1 Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/Makefile.inc1 Thu Jan 9 17:27:00 2014 (r260487)
@@ -1369,15 +1369,6 @@ kernel-tools: .MAKE
mkdir -p ${MAKEOBJDIRPREFIX}/usr
mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
-p ${MAKEOBJDIRPREFIX}/usr >/dev/null
-.for _tool in \
- sys/dev/aic7xxx/aicasm
- ${_+_}@${ECHODIR} "===> ${_tool} (obj,depend,all,install)"; \
- cd ${.CURDIR}/${_tool} && \
- ${MAKE} DIRPRFX=${_tool}/ obj && \
- ${MAKE} DIRPRFX=${_tool}/ depend && \
- ${MAKE} DIRPRFX=${_tool}/ all && \
- ${MAKE} DIRPRFX=${_tool}/ DESTDIR=${MAKEOBJDIRPREFIX} install
-.endfor
#
# cross-tools: Build cross-building tools
Modified: user/gjb/hacking/release-embedded/bin/sh/sh.1
==============================================================================
--- user/gjb/hacking/release-embedded/bin/sh/sh.1 Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/bin/sh/sh.1 Thu Jan 9 17:27:00 2014 (r260487)
@@ -32,7 +32,7 @@
.\" from: @(#)sh.1 8.6 (Berkeley) 5/4/95
.\" $FreeBSD$
.\"
-.Dd November 1, 2013
+.Dd January 3, 2014
.Dt SH 1
.Os
.Sh NAME
@@ -235,10 +235,16 @@ or
.Dq Li ||
operator; or if the command is a pipeline preceded by the
.Ic !\&
-operator.
+keyword.
If a shell function is executed and its exit status is explicitly
tested, all commands of the function are considered to be tested as
well.
+.Pp
+It is recommended to check for failures explicitly
+instead of relying on
+.Fl e
+because it tends to behave in unexpected ways,
+particularly in larger scripts.
.It Fl f Li noglob
Disable pathname expansion.
.It Fl h Li trackall
Modified: user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.8
==============================================================================
--- user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.8 Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.8 Thu Jan 9 17:27:00 2014 (r260487)
@@ -14,11 +14,12 @@
.\"
.\" Copyright 2012, Richard Lowe.
.\" Copyright (c) 2012, Marcelo Araujo <araujo at FreeBSD.org>.
+.\" Copyright (c) 2012 by Delphix. All rights reserved.
.\" All Rights Reserved.
.\"
.\" $FreeBSD$
.\"
-.Dd May 10, 2012
+.Dd December 31, 2013
.Dt ZDB 8
.Os
.Sh NAME
@@ -29,27 +30,35 @@
.Op Fl CumdibcsDvhLXFPA
.Op Fl e Op Fl p Ar path...
.Op Fl t Ar txg
+.Op Fl U Ar cache
+.Op Fl M Ar inflight I/Os
.Ar poolname
.Op Ar object ...
.Nm
.Op Fl divPA
.Op Fl e Op Fl p Ar path...
+.Op Fl U Ar cache
.Ar dataset
.Op Ar object ...
.Nm
.Fl m Op Fl LXFPA
.Op Fl t Ar txg
.Op Fl e Op Fl p Ar path...
+.Op Fl U Ar cache
.Ar poolname
.Nm
.Fl R Op Fl A
.Op Fl e Op Fl p Ar path...
+.Op Fl U Ar cache
+.Ar poolname
.Ar poolname
.Ar vdev Ns : Ns Ar offset Ns : Ns Ar size Ns Op Ns : Ns Ar flags
.Nm
.Fl S
.Op Fl AP
.Op Fl e Op Fl p Ar path...
+.Op Fl U Ar cache
+.Ar poolname
.Ar poolname
.Nm
.Fl l
@@ -205,6 +214,11 @@ flag specifies the path under which devi
.It Fl F
Attempt to make an unreadable pool readable by trying progressively older
transactions.
+.It Fl M Ar inflight I/Os
+Limit the number of outstanding checksum I/Os to the specified value.
+The default value is 200. This option affects the performance of the
+.Fl c
+option.
.It Fl P
Print numbers in an unscaled form more amenable to parsing, eg. 1000000 rather
than 1M.
@@ -218,9 +232,7 @@ options for a means to see the available
transaction numbers.
.It Fl U Ar cachefile
Use a cache file other than
-.Pa /etc/zfs/zpool.cache .
-This option is only valid with
-.Fl C
+.Pa /boot/zfs/zpool.cache .
.It Fl v
Enable verbosity.
Specify multiple times for increased verbosity.
Modified: user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.c
==============================================================================
--- user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb.c Thu Jan 9 17:27:00 2014 (r260487)
@@ -89,6 +89,7 @@ extern void dump_intent_log(zilog_t *);
uint64_t *zopt_object = NULL;
int zopt_objects = 0;
libzfs_handle_t *g_zfs;
+uint64_t max_inflight = 200;
/*
* These libumem hooks provide a reasonable set of defaults for the allocator's
@@ -110,16 +111,17 @@ static void
usage(void)
{
(void) fprintf(stderr,
- "Usage: %s [-CumdibcsDvhLXFPA] [-t txg] [-e [-p path...]]"
- "poolname [object...]\n"
- " %s [-divPA] [-e -p path...] dataset [object...]\n"
- " %s -m [-LXFPA] [-t txg] [-e [-p path...]]"
- "poolname [vdev [metaslab...]]\n"
- " %s -R [-A] [-e [-p path...]] poolname "
- "vdev:offset:size[:flags]\n"
- " %s -S [-PA] [-e [-p path...]] poolname\n"
- " %s -l [-uA] device\n"
- " %s -C [-A] [-U config]\n\n",
+ "Usage: %s [-CumdibcsDvhLXFPA] [-t txg] [-e [-p path...]] "
+ "[-U config] [-M inflight I/Os] poolname [object...]\n"
+ " %s [-divPA] [-e -p path...] [-U config] dataset "
+ "[object...]\n"
+ " %s -m [-LXFPA] [-t txg] [-e [-p path...]] [-U config] "
+ "poolname [vdev [metaslab...]]\n"
+ " %s -R [-A] [-e [-p path...]] poolname "
+ "vdev:offset:size[:flags]\n"
+ " %s -S [-PA] [-e [-p path...]] [-U config] poolname\n"
+ " %s -l [-uA] device\n"
+ " %s -C [-A] [-U config]\n\n",
cmdname, cmdname, cmdname, cmdname, cmdname, cmdname, cmdname);
(void) fprintf(stderr, " Dataset name must include at least one "
@@ -164,6 +166,8 @@ usage(void)
(void) fprintf(stderr, " -P print numbers in parseable form\n");
(void) fprintf(stderr, " -t <txg> -- highest txg to use when "
"searching for uberblocks\n");
+ (void) fprintf(stderr, " -M <number of inflight I/Os> -- "
+ "specify the maximum number of checksumming I/Os [default is 200]");
(void) fprintf(stderr, "Specify an option more than once (e.g. -bb) "
"to make only that option verbose\n");
(void) fprintf(stderr, "Default is to dump everything non-verbosely\n");
@@ -760,7 +764,7 @@ dump_dde(const ddt_t *ddt, const ddt_ent
if (ddp->ddp_phys_birth == 0)
continue;
ddt_bp_create(ddt->ddt_checksum, ddk, ddp, &blk);
- sprintf_blkptr(blkbuf, &blk);
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), &blk);
(void) printf("index %llx refcnt %llu %s %s\n",
(u_longlong_t)index, (u_longlong_t)ddp->ddp_refcnt,
types[p], blkbuf);
@@ -1020,31 +1024,39 @@ blkid2offset(const dnode_phys_t *dnp, co
}
static void
-sprintf_blkptr_compact(char *blkbuf, const blkptr_t *bp)
+snprintf_blkptr_compact(char *blkbuf, size_t buflen, const blkptr_t *bp)
{
const dva_t *dva = bp->blk_dva;
int ndvas = dump_opt['d'] > 5 ? BP_GET_NDVAS(bp) : 1;
if (dump_opt['b'] >= 6) {
- sprintf_blkptr(blkbuf, bp);
+ snprintf_blkptr(blkbuf, buflen, bp);
return;
}
blkbuf[0] = '\0';
for (int i = 0; i < ndvas; i++)
- (void) sprintf(blkbuf + strlen(blkbuf), "%llu:%llx:%llx ",
+ (void) snprintf(blkbuf + strlen(blkbuf),
+ buflen - strlen(blkbuf), "%llu:%llx:%llx ",
(u_longlong_t)DVA_GET_VDEV(&dva[i]),
(u_longlong_t)DVA_GET_OFFSET(&dva[i]),
(u_longlong_t)DVA_GET_ASIZE(&dva[i]));
- (void) sprintf(blkbuf + strlen(blkbuf),
- "%llxL/%llxP F=%llu B=%llu/%llu",
- (u_longlong_t)BP_GET_LSIZE(bp),
- (u_longlong_t)BP_GET_PSIZE(bp),
- (u_longlong_t)bp->blk_fill,
- (u_longlong_t)bp->blk_birth,
- (u_longlong_t)BP_PHYSICAL_BIRTH(bp));
+ if (BP_IS_HOLE(bp)) {
+ (void) snprintf(blkbuf + strlen(blkbuf),
+ buflen - strlen(blkbuf), "B=%llu",
+ (u_longlong_t)bp->blk_birth);
+ } else {
+ (void) snprintf(blkbuf + strlen(blkbuf),
+ buflen - strlen(blkbuf),
+ "%llxL/%llxP F=%llu B=%llu/%llu",
+ (u_longlong_t)BP_GET_LSIZE(bp),
+ (u_longlong_t)BP_GET_PSIZE(bp),
+ (u_longlong_t)bp->blk_fill,
+ (u_longlong_t)bp->blk_birth,
+ (u_longlong_t)BP_PHYSICAL_BIRTH(bp));
+ }
}
static void
@@ -1069,7 +1081,7 @@ print_indirect(blkptr_t *bp, const zbook
}
}
- sprintf_blkptr_compact(blkbuf, bp);
+ snprintf_blkptr_compact(blkbuf, sizeof (blkbuf), bp);
(void) printf("%s\n", blkbuf);
}
@@ -1084,7 +1096,7 @@ visit_indirect(spa_t *spa, const dnode_p
print_indirect(bp, zb, dnp);
- if (BP_GET_LEVEL(bp) > 0) {
+ if (BP_GET_LEVEL(bp) > 0 && !BP_IS_HOLE(bp)) {
uint32_t flags = ARC_WAIT;
int i;
blkptr_t *cbp;
@@ -1209,7 +1221,7 @@ dump_dsl_dataset(objset_t *os, uint64_t
zdb_nicenum(ds->ds_compressed_bytes, compressed);
zdb_nicenum(ds->ds_uncompressed_bytes, uncompressed);
zdb_nicenum(ds->ds_unique_bytes, unique);
- sprintf_blkptr(blkbuf, &ds->ds_bp);
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), &ds->ds_bp);
(void) printf("\t\tdir_obj = %llu\n",
(u_longlong_t)ds->ds_dir_obj);
@@ -1254,7 +1266,7 @@ dump_bptree_cb(void *arg, const blkptr_t
char blkbuf[BP_SPRINTF_LEN];
if (bp->blk_birth != 0) {
- sprintf_blkptr(blkbuf, bp);
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), bp);
(void) printf("\t%s\n", blkbuf);
}
return (0);
@@ -1292,7 +1304,7 @@ dump_bpobj_cb(void *arg, const blkptr_t
char blkbuf[BP_SPRINTF_LEN];
ASSERT(bp->blk_birth != 0);
- sprintf_blkptr_compact(blkbuf, bp);
+ snprintf_blkptr_compact(blkbuf, sizeof (blkbuf), bp);
(void) printf("\t%s\n", blkbuf);
return (0);
}
@@ -1791,8 +1803,9 @@ dump_dir(objset_t *os)
zdb_nicenum(refdbytes, numbuf);
if (verbosity >= 4) {
- (void) sprintf(blkbuf, ", rootbp ");
- (void) sprintf_blkptr(blkbuf + strlen(blkbuf), os->os_rootbp);
+ (void) snprintf(blkbuf, sizeof (blkbuf), ", rootbp ");
+ (void) snprintf_blkptr(blkbuf + strlen(blkbuf),
+ sizeof (blkbuf) - strlen(blkbuf), os->os_rootbp);
} else {
blkbuf[0] = '\0';
}
@@ -1822,7 +1835,7 @@ dump_dir(objset_t *os)
if (verbosity < 2)
return;
- if (os->os_rootbp->blk_birth == 0)
+ if (BP_IS_HOLE(os->os_rootbp))
return;
dump_object(os, 0, verbosity, &print_header);
@@ -1863,7 +1876,7 @@ dump_uberblock(uberblock_t *ub, const ch
(u_longlong_t)ub->ub_timestamp, asctime(localtime(×tamp)));
if (dump_opt['u'] >= 3) {
char blkbuf[BP_SPRINTF_LEN];
- sprintf_blkptr(blkbuf, &ub->ub_rootbp);
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), &ub->ub_rootbp);
(void) printf("\trootbp = %s\n", blkbuf);
}
(void) printf(footer ? footer : "");
@@ -2154,16 +2167,68 @@ zdb_count_block(zdb_cb_t *zcb, zilog_t *
bp, NULL, NULL, ZIO_FLAG_CANFAIL)), ==, 0);
}
+/* ARGSUSED */
+static void
+zdb_blkptr_done(zio_t *zio)
+{
+ spa_t *spa = zio->io_spa;
+ blkptr_t *bp = zio->io_bp;
+ int ioerr = zio->io_error;
+ zdb_cb_t *zcb = zio->io_private;
+ zbookmark_t *zb = &zio->io_bookmark;
+
+ zio_data_buf_free(zio->io_data, zio->io_size);
+
+ mutex_enter(&spa->spa_scrub_lock);
+ spa->spa_scrub_inflight--;
+ cv_broadcast(&spa->spa_scrub_io_cv);
+
+ if (ioerr && !(zio->io_flags & ZIO_FLAG_SPECULATIVE)) {
+ char blkbuf[BP_SPRINTF_LEN];
+
+ zcb->zcb_haderrors = 1;
+ zcb->zcb_errors[ioerr]++;
+
+ if (dump_opt['b'] >= 2)
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), bp);
+ else
+ blkbuf[0] = '\0';
+
+ (void) printf("zdb_blkptr_cb: "
+ "Got error %d reading "
+ "<%llu, %llu, %lld, %llx> %s -- skipping\n",
+ ioerr,
+ (u_longlong_t)zb->zb_objset,
+ (u_longlong_t)zb->zb_object,
+ (u_longlong_t)zb->zb_level,
+ (u_longlong_t)zb->zb_blkid,
+ blkbuf);
+ }
+ mutex_exit(&spa->spa_scrub_lock);
+}
+
+/* ARGSUSED */
static int
zdb_blkptr_cb(spa_t *spa, zilog_t *zilog, const blkptr_t *bp,
const zbookmark_t *zb, const dnode_phys_t *dnp, void *arg)
{
zdb_cb_t *zcb = arg;
- char blkbuf[BP_SPRINTF_LEN];
dmu_object_type_t type;
boolean_t is_metadata;
- if (bp == NULL)
+ if (dump_opt['b'] >= 5 && bp->blk_birth > 0) {
+ char blkbuf[BP_SPRINTF_LEN];
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), bp);
+ (void) printf("objset %llu object %llu "
+ "level %lld offset 0x%llx %s\n",
+ (u_longlong_t)zb->zb_objset,
+ (u_longlong_t)zb->zb_object,
+ (longlong_t)zb->zb_level,
+ (u_longlong_t)blkid2offset(dnp, bp, zb),
+ blkbuf);
+ }
+
+ if (BP_IS_HOLE(bp))
return (0);
type = BP_GET_TYPE(bp);
@@ -2174,53 +2239,26 @@ zdb_blkptr_cb(spa_t *spa, zilog_t *zilog
is_metadata = (BP_GET_LEVEL(bp) != 0 || DMU_OT_IS_METADATA(type));
if (dump_opt['c'] > 1 || (dump_opt['c'] && is_metadata)) {
- int ioerr;
size_t size = BP_GET_PSIZE(bp);
- void *data = malloc(size);
+ void *data = zio_data_buf_alloc(size);
int flags = ZIO_FLAG_CANFAIL | ZIO_FLAG_SCRUB | ZIO_FLAG_RAW;
/* If it's an intent log block, failure is expected. */
if (zb->zb_level == ZB_ZIL_LEVEL)
flags |= ZIO_FLAG_SPECULATIVE;
- ioerr = zio_wait(zio_read(NULL, spa, bp, data, size,
- NULL, NULL, ZIO_PRIORITY_ASYNC_READ, flags, zb));
-
- free(data);
- if (ioerr && !(flags & ZIO_FLAG_SPECULATIVE)) {
- zcb->zcb_haderrors = 1;
- zcb->zcb_errors[ioerr]++;
+ mutex_enter(&spa->spa_scrub_lock);
+ while (spa->spa_scrub_inflight > max_inflight)
+ cv_wait(&spa->spa_scrub_io_cv, &spa->spa_scrub_lock);
+ spa->spa_scrub_inflight++;
+ mutex_exit(&spa->spa_scrub_lock);
- if (dump_opt['b'] >= 2)
- sprintf_blkptr(blkbuf, bp);
- else
- blkbuf[0] = '\0';
-
- (void) printf("zdb_blkptr_cb: "
- "Got error %d reading "
- "<%llu, %llu, %lld, %llx> %s -- skipping\n",
- ioerr,
- (u_longlong_t)zb->zb_objset,
- (u_longlong_t)zb->zb_object,
- (u_longlong_t)zb->zb_level,
- (u_longlong_t)zb->zb_blkid,
- blkbuf);
- }
+ zio_nowait(zio_read(NULL, spa, bp, data, size,
+ zdb_blkptr_done, zcb, ZIO_PRIORITY_ASYNC_READ, flags, zb));
}
zcb->zcb_readfails = 0;
- if (dump_opt['b'] >= 5) {
- sprintf_blkptr(blkbuf, bp);
- (void) printf("objset %llu object %llu "
- "level %lld offset 0x%llx %s\n",
- (u_longlong_t)zb->zb_objset,
- (u_longlong_t)zb->zb_object,
- (longlong_t)zb->zb_level,
- (u_longlong_t)blkid2offset(dnp, bp, zb),
- blkbuf);
- }
-
if (dump_opt['b'] < 5 && isatty(STDERR_FILENO) &&
gethrtime() > zcb->zcb_lastprint + NANOSEC) {
uint64_t now = gethrtime();
@@ -2377,7 +2415,7 @@ count_block_cb(void *arg, const blkptr_t
if (dump_opt['b'] >= 5) {
char blkbuf[BP_SPRINTF_LEN];
- sprintf_blkptr(blkbuf, bp);
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), bp);
(void) printf("[%s] %s\n",
"deferred free", blkbuf);
}
@@ -2433,6 +2471,18 @@ dump_block_stats(spa_t *spa)
zcb.zcb_start = zcb.zcb_lastprint = gethrtime();
zcb.zcb_haderrors |= traverse_pool(spa, 0, flags, zdb_blkptr_cb, &zcb);
+ /*
+ * If we've traversed the data blocks then we need to wait for those
+ * I/Os to complete. We leverage "The Godfather" zio to wait on
+ * all async I/Os to complete.
+ */
+ if (dump_opt['c']) {
+ (void) zio_wait(spa->spa_async_zio_root);
+ spa->spa_async_zio_root = zio_root(spa, NULL, NULL,
+ ZIO_FLAG_CANFAIL | ZIO_FLAG_SPECULATIVE |
+ ZIO_FLAG_GODFATHER);
+ }
+
if (zcb.zcb_haderrors) {
(void) printf("\nError counts:\n\n");
(void) printf("\t%5s %s\n", "errno", "count");
@@ -2599,7 +2649,7 @@ zdb_ddt_add_cb(spa_t *spa, zilog_t *zilo
avl_index_t where;
zdb_ddt_entry_t *zdde, zdde_search;
- if (bp == NULL)
+ if (BP_IS_HOLE(bp))
return (0);
if (dump_opt['S'] > 1 && zb->zb_level == ZB_ROOT_LEVEL) {
@@ -2766,7 +2816,7 @@ zdb_print_blkptr(blkptr_t *bp, int flags
if (flags & ZDB_FLAG_BSWAP)
byteswap_uint64_array((void *)bp, sizeof (blkptr_t));
- sprintf_blkptr(blkbuf, bp);
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), bp);
(void) printf("%s\n", blkbuf);
}
@@ -3202,7 +3252,7 @@ main(int argc, char **argv)
dprintf_setup(&argc, argv);
- while ((c = getopt(argc, argv, "bcdhilmsuCDRSAFLXevp:t:U:P")) != -1) {
+ while ((c = getopt(argc, argv, "bcdhilmM:suCDRSAFLXevp:t:U:P")) != -1) {
switch (c) {
case 'b':
case 'c':
@@ -3231,6 +3281,15 @@ main(int argc, char **argv)
case 'v':
verbose++;
break;
+ case 'M':
+ max_inflight = strtoull(optarg, NULL, 0);
+ if (max_inflight == 0) {
+ (void) fprintf(stderr, "maximum number "
+ "of inflight I/Os must be greater "
+ "than 0\n");
+ usage();
+ }
+ break;
case 'p':
if (searchdirs == NULL) {
searchdirs = umem_alloc(sizeof (char *),
Modified: user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb_il.c
==============================================================================
--- user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb_il.c Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zdb/zdb_il.c Thu Jan 9 17:27:00 2014 (r260487)
@@ -24,6 +24,10 @@
*/
/*
+ * Copyright (c) 2013 by Delphix. All rights reserved.
+ */
+
+/*
* Print intent log header and statistics.
*/
@@ -47,7 +51,7 @@ print_log_bp(const blkptr_t *bp, const c
{
char blkbuf[BP_SPRINTF_LEN];
- sprintf_blkptr(blkbuf, bp);
+ snprintf_blkptr(blkbuf, sizeof (blkbuf), bp);
(void) printf("%s%s\n", prefix, blkbuf);
}
@@ -132,6 +136,7 @@ zil_prt_rec_write(zilog_t *zilog, int tx
if (lr->lr_common.lrc_reclen == sizeof (lr_write_t)) {
(void) printf("%shas blkptr, %s\n", prefix,
+ !BP_IS_HOLE(bp) &&
bp->blk_birth >= spa_first_txg(zilog->zl_spa) ?
"will claim" : "won't claim");
print_log_bp(bp, prefix);
@@ -139,8 +144,6 @@ zil_prt_rec_write(zilog_t *zilog, int tx
if (BP_IS_HOLE(bp)) {
(void) printf("\t\t\tLSIZE 0x%llx\n",
(u_longlong_t)BP_GET_LSIZE(bp));
- }
- if (bp->blk_birth == 0) {
bzero(buf, sizeof (buf));
(void) printf("%s<hole>\n", prefix);
return;
@@ -313,7 +316,8 @@ print_log_block(zilog_t *zilog, blkptr_t
if (verbose >= 5) {
(void) strcpy(blkbuf, ", ");
- sprintf_blkptr(blkbuf + strlen(blkbuf), bp);
+ snprintf_blkptr(blkbuf + strlen(blkbuf),
+ sizeof (blkbuf) - strlen(blkbuf), bp);
} else {
blkbuf[0] = '\0';
}
@@ -361,7 +365,7 @@ dump_intent_log(zilog_t *zilog)
int verbose = MAX(dump_opt['d'], dump_opt['i']);
int i;
- if (zh->zh_log.blk_birth == 0 || verbose < 1)
+ if (BP_IS_HOLE(&zh->zh_log) || verbose < 1)
return;
(void) printf("\n ZIL header: claim_txg %llu, "
Modified: user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs.8
==============================================================================
--- user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Thu Jan 9 17:27:00 2014 (r260487)
@@ -18,7 +18,7 @@
.\" information: Portions Copyright [yyyy] [name of copyright owner]
.\"
.\" Copyright (c) 2010, Sun Microsystems, Inc. All Rights Reserved.
-.\" Copyright (c) 2012 by Delphix. All rights reserved.
+.\" Copyright (c) 2013 by Delphix. All rights reserved.
.\" Copyright (c) 2011, Pawel Jakub Dawidek <pjd at FreeBSD.org>
.\" Copyright (c) 2012, Glen Barber <gjb at FreeBSD.org>
.\" Copyright (c) 2012, Bryan Drewery <bdrewery at FreeBSD.org>
@@ -26,10 +26,11 @@
.\" Copyright (c) 2013 Nexenta Systems, Inc. All Rights Reserved.
.\" Copyright (c) 2013, Joyent, Inc. All rights reserved.
.\" Copyright (c) 2013, Steven Hartland <smh at FreeBSD.org>
+.\" Copyright (c) 2014, Xin LI <delphij at FreeBSD.org>
.\"
.\" $FreeBSD$
.\"
-.Dd December 24, 2013
+.Dd January 2, 2014
.Dt ZFS 8
.Os
.Sh NAME
@@ -57,11 +58,16 @@
.Cm destroy
.Op Fl dnpRrv
.Sm off
-.Ar snapshot
-.Op % Ns Ar snapname
+.Ar filesystem Ns | Ns volume
+.Ns @snap
+.Op % Ns Ar snap
+.Op , Ns Ar snap Op % Ns Ar snap
.Op , Ns ...
.Sm on
.Nm
+.Cm destroy
+.Ar filesystem Ns | Ns Ar volume Ns # Ns Ar bookmark
+.Nm
.Cm snapshot Ns | Ns Cm snap
.Op Fl r
.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ...
@@ -168,11 +174,19 @@
.Cm unshare
.Fl a | Ar filesystem Ns | Ns Ar mountpoint
.Nm
+.Cm bookmark
+.Ar snapshot
+.Ar bookmark
+.Nm
.Cm send
.Op Fl DnPpRv
.Op Fl i Ar snapshot | Fl I Ar snapshot
.Ar snapshot
.Nm
+.Cm send
+.Op Fl i Ar snapshot Ns | Ns bookmark
+.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
+.Nm
.Cm receive Ns | Ns Cm recv
.Op Fl vnFu
.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
@@ -1654,6 +1668,13 @@ options, as they can destroy large porti
behavior for mounted file systems in use.
.It Xo
.Nm
+.Cm destroy
+.Ar filesystem Ns | Ns Ar volume Ns # Ns Ar bookmark
+.Xc
+.Pp
+The given bookmark is destroyed.
+.It Xo
+.Nm
.Cm snapshot Ns | Ns Cm snap
.Op Fl r
.Oo Fl o Ar property Ns = Ns Ar value Oc Ns ...
@@ -1686,14 +1707,24 @@ Roll back the given dataset to a previou
back, all data that has changed since the snapshot is discarded, and the
dataset reverts to the state at the time of the snapshot. By default, the
command refuses to roll back to a snapshot other than the most recent one. In
-order to do so, all intermediate snapshots must be destroyed by specifying the
+order to do so, all intermediate snapshots and bookmarks must be destroyed
+by specifying the
.Fl r
option.
+.Pp
+The
+.Fl rR
+options do not recursively destroy the child snapshots of a
+recursive snapshot.
+Only direct snapshots of the specified filesystem
+are destroyed by either of these options.
+To completely roll back a
+recursive snapshot, you must rollback the individual child snapshots.
.Bl -tag -width indent
.It Fl r
-Recursively destroy any snapshots more recent than the one specified.
+Destroy any snapshots and bookmarks more recent than the one specified.
.It Fl R
-Recursively destroy any more recent snapshots, as well as any clones of those
+Destroy any more recent snapshots and bookmarks, as well as any clones of those
snapshots.
.It Fl f
Used with the
@@ -1868,7 +1899,7 @@ syntax.
A comma-separated list of types to display, where
.Ar type
is one of
-.Sy filesystem , snapshot , snap, volume , No or Sy all .
+.Sy filesystem , snapshot , snap , volume , bookmark , No or Sy all .
For example, specifying
.Fl t Cm snapshot
displays only snapshots.
@@ -1965,7 +1996,7 @@ sections.
The special value
.Cm all
can be used to display all properties that apply to the given dataset's type
-(filesystem, volume, or snapshot).
+(filesystem, volume, snapshot, or bookmark).
.Bl -tag -width indent
.It Fl r
Recursively display properties for any children.
@@ -2283,6 +2314,26 @@ file system shared on the system.
.El
.It Xo
.Nm
+.Cm bookmark
+.Ar snapshot
+.Ar bookmark
+.Xc
+.Pp
+Creates a bookmark of the given snapshot.
+Bookmarks mark the point in time
+when the snapshot was created, and can be used as the incremental source for
+a
+.Qq Nm Cm send
+command.
+.Pp
+This feature must be enabled to be used.
+See
+.Xr zpool-features 7
+for details on ZFS feature flags and the
+.Sy bookmark
+feature.
+.It Xo
+.Nm
.Cm send
.Op Fl DnPpRv
.Op Fl i Ar snapshot | Fl I Ar snapshot
@@ -2301,17 +2352,15 @@ a file or to a different system (for exa
By default, a full stream is generated.
.Bl -tag -width indent
.It Fl i Ar snapshot
-Generate an incremental stream from the
-.Fl i Ar snapshot
-to the last
-.Ar snapshot .
-The incremental source (the
-.Fl i Ar snapshot )
-can be specified as the last component of the snapshot name (for example, the
-part after the
-.Sy @ ) ,
-and it is assumed to be from the same file system as the last
-.Ar snapshot .
+Generate an incremental stream from the first
+.Ar snapshot Pq the incremental source
+to the second
+.Ar snapshot Pq the incremental target .
+The incremental source can be specified as the last component of the
+snapshot name
+.Pq the Em @ No character and following
+and
+it is assumed to be from the same file system as the incremental target.
.Pp
If the destination is a clone, the source may be the origin snapshot, which
must be fully specified (for example,
@@ -2319,15 +2368,16 @@ must be fully specified (for example,
not just
.Cm @origin ) .
.It Fl I Ar snapshot
-Generate a stream package that sends all intermediary snapshots from the
-.Fl I Ar snapshot
-to the last
+Generate a stream package that sends all intermediary snapshots from the first
+.Ar snapshot
+to the second
.Ar snapshot .
For example,
.Ic -I @a fs at d
is similar to
.Ic -i @a fs at b; -i @b fs at c; -i @c fs at d .
-The incremental source snapshot may be specified as with the
+The incremental
+source may be specified as with the
.Fl i
option.
.It Fl R
@@ -2380,6 +2430,35 @@ on future versions of
.Tn ZFS .
.It Xo
.Nm
+.Cm send
+.Op Fl i Ar snapshot Ns | Ns Ar bookmark
+.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
+.Xc
+.Pp
+Generate a send stream, which may be of a filesystem, and may be
+incremental from a bookmark.
+If the destination is a filesystem or volume,
+the pool must be read-only, or the filesystem must not be mounted.
+When the
+stream generated from a filesystem or volume is received, the default snapshot
+name will be
+.Pq --head-- .
+.Bl -tag -width indent
+.It Fl i Ar snapshot Ns | Ns bookmark
+Generate an incremental send stream.
+The incremental source must be an earlier
+snapshot in the destination's history.
+It will commonly be an earlier
+snapshot in the destination's filesystem, in which case it can be
+specified as the last component of the name
+.Pq the Em # No or Em @ No character and following .
+.Pp
+If the incremental target is a clone, the incremental source can
+be the origin snapshot, or an earlier snapshot in the origin's filesystem,
+or the origin's origin, etc.
+.El
+.It Xo
+.Nm
.Cm receive Ns | Ns Cm recv
.Op Fl vnFu
.Ar filesystem Ns | Ns Ar volume Ns | Ns Ar snapshot
Modified: user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c
==============================================================================
--- user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs_iter.c Thu Jan 9 17:27:00 2014 (r260487)
@@ -24,6 +24,7 @@
* Copyright (c) 2012 Pawel Jakub Dawidek <pawel at dawidek.net>.
* All rights reserved.
* Copyright 2013 Nexenta Systems, Inc. All rights reserved.
+ * Copyright (c) 2013 by Delphix. All rights reserved.
*/
#include <libintl.h>
@@ -72,7 +73,7 @@ uu_avl_pool_t *avl_pool;
* Include snaps if they were requested or if this a zfs list where types
* were not specified and the "listsnapshots" property is set on this pool.
*/
-static int
+static boolean_t
zfs_include_snapshots(zfs_handle_t *zhp, callback_data_t *cb)
{
zpool_handle_t *zph;
@@ -92,8 +93,9 @@ static int
zfs_callback(zfs_handle_t *zhp, void *data)
{
callback_data_t *cb = data;
- int dontclose = 0;
- int include_snaps = zfs_include_snapshots(zhp, cb);
+ boolean_t dontclose = B_FALSE;
+ boolean_t include_snaps = zfs_include_snapshots(zhp, cb);
+ boolean_t include_bmarks = (cb->cb_types & ZFS_TYPE_BOOKMARK);
if ((zfs_get_type(zhp) & cb->cb_types) ||
((zfs_get_type(zhp) == ZFS_TYPE_SNAPSHOT) && include_snaps)) {
@@ -119,7 +121,7 @@ zfs_callback(zfs_handle_t *zhp, void *da
}
}
uu_avl_insert(cb->cb_avl, node, idx);
- dontclose = 1;
+ dontclose = B_TRUE;
} else {
free(node);
}
@@ -134,11 +136,14 @@ zfs_callback(zfs_handle_t *zhp, void *da
cb->cb_depth++;
if (zfs_get_type(zhp) == ZFS_TYPE_FILESYSTEM)
(void) zfs_iter_filesystems(zhp, zfs_callback, data);
- if ((zfs_get_type(zhp) != ZFS_TYPE_SNAPSHOT) && include_snaps) {
+ if (((zfs_get_type(zhp) & (ZFS_TYPE_SNAPSHOT |
+ ZFS_TYPE_BOOKMARK)) == 0) && include_snaps)
(void) zfs_iter_snapshots(zhp,
(cb->cb_flags & ZFS_ITER_SIMPLE) != 0, zfs_callback,
data);
- }
+ if (((zfs_get_type(zhp) & (ZFS_TYPE_SNAPSHOT |
+ ZFS_TYPE_BOOKMARK)) == 0) && include_bmarks)
+ (void) zfs_iter_bookmarks(zhp, zfs_callback, data);
cb->cb_depth--;
}
Modified: user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c
==============================================================================
--- user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Thu Jan 9 15:55:55 2014 (r260486)
+++ user/gjb/hacking/release-embedded/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Thu Jan 9 17:27:00 2014 (r260487)
@@ -21,7 +21,7 @@
/*
* Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
- * Copyright (c) 2012 by Delphix. All rights reserved.
+ * Copyright (c) 2013 by Delphix. All rights reserved.
* Copyright 2012 Milan Jurik. All rights reserved.
* Copyright (c) 2012, Joyent, Inc. All rights reserved.
* Copyright (c) 2011-2012 Pawel Jakub Dawidek <pawel at dawidek.net>.
@@ -107,6 +107,7 @@ static int zfs_do_release(int argc, char
static int zfs_do_diff(int argc, char **argv);
static int zfs_do_jail(int argc, char **argv);
static int zfs_do_unjail(int argc, char **argv);
+static int zfs_do_bookmark(int argc, char **argv);
/*
* Enable a reasonable set of defaults for libumem debugging on DEBUG builds.
@@ -155,6 +156,7 @@ typedef enum {
HELP_HOLDS,
HELP_RELEASE,
HELP_DIFF,
+ HELP_BOOKMARK,
} zfs_help_t;
typedef struct zfs_command {
@@ -181,6 +183,7 @@ static zfs_command_t command_table[] = {
{ "clone", zfs_do_clone, HELP_CLONE },
{ "promote", zfs_do_promote, HELP_PROMOTE },
{ "rename", zfs_do_rename, HELP_RENAME },
+ { "bookmark", zfs_do_bookmark, HELP_BOOKMARK },
{ NULL },
{ "list", zfs_do_list, HELP_LIST },
{ NULL },
@@ -231,11 +234,12 @@ get_usage(zfs_help_t idx)
case HELP_DESTROY:
return (gettext("\tdestroy [-fnpRrv] <filesystem|volume>\n"
"\tdestroy [-dnpRrv] "
- "<snapshot>[%<snapname>][,...]\n"));
+ "<filesystem|volume>@<snap>[%<snap>][,...]\n"
+ "\tdestroy <filesystem|volume>#<bookmark>\n"));
case HELP_GET:
return (gettext("\tget [-rHp] [-d max] "
- "[-o \"all\" | field[,...]] [-t type[,...]] "
- "[-s source[,...]]\n"
+ "[-o \"all\" | field[,...]]\n"
+ "\t [-t type[,...]] [-s source[,...]]\n"
"\t <\"all\" | property[,...]> "
"[filesystem|volume|snapshot] ...\n"));
case HELP_INHERIT:
@@ -264,15 +268,16 @@ get_usage(zfs_help_t idx)
case HELP_RENAME:
return (gettext("\trename [-f] <filesystem|volume|snapshot> "
"<filesystem|volume|snapshot>\n"
- "\trename [-f] -p <filesystem|volume> "
- "<filesystem|volume>\n"
+ "\trename [-f] -p <filesystem|volume> <filesystem|volume>\n"
"\trename -r <snapshot> <snapshot>\n"
"\trename -u [-p] <filesystem> <filesystem>"));
case HELP_ROLLBACK:
return (gettext("\trollback [-rRf] <snapshot>\n"));
case HELP_SEND:
- return (gettext("\tsend [-DnPpRv] "
- "[-i snapshot | -I snapshot] <snapshot>\n"));
+ return (gettext("\tsend [-DnPpRv] [-[iI] snapshot] "
+ "<snapshot>\n"
+ "\tsend [-i snapshot|bookmark] "
+ "<filesystem|volume|snapshot>\n"));
case HELP_SET:
return (gettext("\tset <property=value> "
"<filesystem|volume|snapshot> ...\n"));
@@ -280,7 +285,7 @@ get_usage(zfs_help_t idx)
return (gettext("\tshare <-a | filesystem>\n"));
case HELP_SNAPSHOT:
return (gettext("\tsnapshot|snap [-r] [-o property=value] ... "
- "<filesystem at snapname|volume at snapname> ...\n"));
+ "<filesystem|volume>@<snap> ...\n"));
case HELP_UNMOUNT:
return (gettext("\tunmount|umount [-f] "
"<-a | filesystem|mountpoint>\n"));
@@ -309,11 +314,13 @@ get_usage(zfs_help_t idx)
"<filesystem|volume>\n"));
case HELP_USERSPACE:
return (gettext("\tuserspace [-Hinp] [-o field[,...]] "
- "[-s field]...\n\t [-S field]... [-t type[,...]] "
+ "[-s field] ...\n"
+ "\t [-S field] ... [-t type[,...]] "
"<filesystem|snapshot>\n"));
case HELP_GROUPSPACE:
return (gettext("\tgroupspace [-Hinp] [-o field[,...]] "
- "[-s field]...\n\t [-S field]... [-t type[,...]] "
+ "[-s field] ...\n"
+ "\t [-S field] ... [-t type[,...]] "
"<filesystem|snapshot>\n"));
case HELP_HOLD:
return (gettext("\thold [-r] <tag> <snapshot> ...\n"));
@@ -324,6 +331,8 @@ get_usage(zfs_help_t idx)
case HELP_DIFF:
return (gettext("\tdiff [-FHt] <snapshot> "
"[snapshot|filesystem]\n"));
+ case HELP_BOOKMARK:
+ return (gettext("\tbookmark <snapshot> <bookmark>\n"));
}
abort();
@@ -926,6 +935,7 @@ typedef struct destroy_cbdata {
char *cb_prevsnap;
int64_t cb_snapused;
char *cb_snapspec;
+ char *cb_bookmark;
} destroy_cbdata_t;
/*
@@ -1195,7 +1205,7 @@ zfs_do_destroy(int argc, char **argv)
int err = 0;
int c;
zfs_handle_t *zhp = NULL;
- char *at;
+ char *at, *pound;
zfs_type_t type = ZFS_TYPE_DATASET;
/* check options */
@@ -1247,6 +1257,7 @@ zfs_do_destroy(int argc, char **argv)
}
at = strchr(argv[0], '@');
+ pound = strchr(argv[0], '#');
if (at != NULL) {
/* Build the list of snaps to destroy in cb_nvl. */
@@ -1308,6 +1319,46 @@ zfs_do_destroy(int argc, char **argv)
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-user
mailing list