Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Aug 2012 15:38:29 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r239015 - in projects/fuse: . bin/sh cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris/lib/libzfs/common cddl/lib/libzfs contrib/...
Message-ID:  <201208031538.q73FcThY039459@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: attilio
Date: Fri Aug  3 15:38:28 2012
New Revision: 239015
URL: http://svn.freebsd.org/changeset/base/239015

Log:
  MFC

Added:
  projects/fuse/contrib/dtc/dtdiff
     - copied unchanged from r239014, head/contrib/dtc/dtdiff
  projects/fuse/contrib/dtc/fdtdump.c
     - copied unchanged from r239014, head/contrib/dtc/fdtdump.c
  projects/fuse/contrib/dtc/fdtget.c
     - copied unchanged from r239014, head/contrib/dtc/fdtget.c
  projects/fuse/contrib/dtc/fdtput.c
     - copied unchanged from r239014, head/contrib/dtc/fdtput.c
  projects/fuse/contrib/dtc/libfdt/fdt_empty_tree.c
     - copied unchanged from r239014, head/contrib/dtc/libfdt/fdt_empty_tree.c
  projects/fuse/contrib/libarchive/libarchive/archive_getdate.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/archive_getdate.c
  projects/fuse/contrib/libarchive/libarchive/archive_match.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/archive_match.c
  projects/fuse/contrib/libarchive/libarchive/archive_pathmatch.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/archive_pathmatch.c
  projects/fuse/contrib/libarchive/libarchive/archive_pathmatch.h
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/archive_pathmatch.h
  projects/fuse/contrib/libarchive/libarchive/archive_write_add_filter.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/archive_write_add_filter.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_disk_acl.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/archive_write_disk_acl.c
  projects/fuse/contrib/libarchive/libarchive/test/test_acl_freebsd_nfs4.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/test/test_acl_freebsd_nfs4.c
  projects/fuse/contrib/libarchive/libarchive/test/test_acl_freebsd_posix1e.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/test/test_acl_freebsd_posix1e.c
  projects/fuse/contrib/libarchive/libarchive/test/test_archive_getdate.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/test/test_archive_getdate.c
  projects/fuse/contrib/libarchive/libarchive/test/test_archive_match_owner.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/test/test_archive_match_owner.c
  projects/fuse/contrib/libarchive/libarchive/test/test_archive_match_path.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/test/test_archive_match_path.c
  projects/fuse/contrib/libarchive/libarchive/test/test_archive_match_time.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/test/test_archive_match_time.c
  projects/fuse/contrib/libarchive/libarchive/test/test_archive_pathmatch.c
     - copied unchanged from r239014, head/contrib/libarchive/libarchive/test/test_archive_pathmatch.c
  projects/fuse/contrib/libarchive/tar/test/test_format_newc.c
     - copied unchanged from r239014, head/contrib/libarchive/tar/test/test_format_newc.c
  projects/fuse/contrib/libarchive/tar/test/test_option_nodump.c
     - copied unchanged from r239014, head/contrib/libarchive/tar/test/test_option_nodump.c
  projects/fuse/lib/libc/locale/iswalnum_l.3
     - copied unchanged from r239014, head/lib/libc/locale/iswalnum_l.3
  projects/fuse/lib/msun/ld128/s_expl.c
     - copied unchanged from r239014, head/lib/msun/ld128/s_expl.c
  projects/fuse/lib/msun/ld80/s_expl.c
     - copied unchanged from r239014, head/lib/msun/ld80/s_expl.c
  projects/fuse/share/man/man4/vale.4
     - copied unchanged from r239014, head/share/man/man4/vale.4
  projects/fuse/sys/arm/at91/at91_pio_sam9g45.h
     - copied unchanged from r239014, head/sys/arm/at91/at91_pio_sam9g45.h
  projects/fuse/sys/arm/at91/at91sam9g45.c
     - copied unchanged from r239014, head/sys/arm/at91/at91sam9g45.c
  projects/fuse/sys/arm/at91/at91sam9g45reg.h
     - copied unchanged from r239014, head/sys/arm/at91/at91sam9g45reg.h
  projects/fuse/sys/arm/at91/at91sam9x5.c
     - copied unchanged from r239014, head/sys/arm/at91/at91sam9x5.c
  projects/fuse/sys/arm/at91/at91sam9x5reg.h
     - copied unchanged from r239014, head/sys/arm/at91/at91sam9x5reg.h
  projects/fuse/sys/arm/at91/board_sn9g45.c
     - copied unchanged from r239014, head/sys/arm/at91/board_sn9g45.c
  projects/fuse/sys/arm/at91/std.at91sam9g45
     - copied unchanged from r239014, head/sys/arm/at91/std.at91sam9g45
  projects/fuse/sys/arm/at91/std.sn9g45
     - copied unchanged from r239014, head/sys/arm/at91/std.sn9g45
  projects/fuse/sys/arm/conf/SN9G45
     - copied unchanged from r239014, head/sys/arm/conf/SN9G45
  projects/fuse/sys/contrib/libfdt/fdt_empty_tree.c
     - copied unchanged from r239014, head/sys/contrib/libfdt/fdt_empty_tree.c
  projects/fuse/sys/dev/ahci/ahciem.c
     - copied unchanged from r239014, head/sys/dev/ahci/ahciem.c
  projects/fuse/sys/dev/ath/if_ath_tx_edma.c
     - copied unchanged from r239014, head/sys/dev/ath/if_ath_tx_edma.c
  projects/fuse/sys/dev/ath/if_ath_tx_edma.h
     - copied unchanged from r239014, head/sys/dev/ath/if_ath_tx_edma.h
Deleted:
  projects/fuse/contrib/dtc/Makefile.convert-dtsv0
  projects/fuse/contrib/dtc/Makefile.ftdump
  projects/fuse/contrib/dtc/convert-dtsv0-lexer.l
  projects/fuse/contrib/dtc/ftdump.c
  projects/fuse/contrib/libarchive/cpio/test/test_pathmatch.c
  projects/fuse/contrib/libarchive/libarchive_fe/matching.c
  projects/fuse/contrib/libarchive/libarchive_fe/matching.h
  projects/fuse/contrib/libarchive/libarchive_fe/pathmatch.c
  projects/fuse/contrib/libarchive/libarchive_fe/pathmatch.h
  projects/fuse/contrib/libarchive/tar/getdate.c
  projects/fuse/contrib/libarchive/tar/test/test_getdate.c
  projects/fuse/contrib/libarchive/tar/tree.c
  projects/fuse/contrib/libarchive/tar/tree.h
  projects/fuse/sys/arm/at91/at91sam9x25.c
  projects/fuse/sys/arm/at91/at91sam9x25reg.h
Modified:
  projects/fuse/Makefile.inc1
  projects/fuse/UPDATING
  projects/fuse/bin/sh/jobs.c
  projects/fuse/bin/sh/trap.c
  projects/fuse/bin/sh/trap.h
  projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool.8
  projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
  projects/fuse/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c
  projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
  projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c
  projects/fuse/cddl/lib/libzfs/Makefile
  projects/fuse/contrib/bind9/CHANGES
  projects/fuse/contrib/bind9/lib/dns/resolver.c
  projects/fuse/contrib/bind9/lib/dns/zone.c
  projects/fuse/contrib/bind9/version
  projects/fuse/contrib/dtc/Documentation/dts-format.txt
  projects/fuse/contrib/dtc/Documentation/manual.txt
  projects/fuse/contrib/dtc/Makefile
  projects/fuse/contrib/dtc/checks.c
  projects/fuse/contrib/dtc/data.c
  projects/fuse/contrib/dtc/dtc-lexer.l
  projects/fuse/contrib/dtc/dtc-parser.y
  projects/fuse/contrib/dtc/dtc.c
  projects/fuse/contrib/dtc/dtc.h
  projects/fuse/contrib/dtc/flattree.c
  projects/fuse/contrib/dtc/fstree.c
  projects/fuse/contrib/dtc/libfdt/Makefile.libfdt
  projects/fuse/contrib/dtc/libfdt/fdt.c
  projects/fuse/contrib/dtc/libfdt/fdt_ro.c
  projects/fuse/contrib/dtc/libfdt/fdt_rw.c
  projects/fuse/contrib/dtc/libfdt/libfdt.h
  projects/fuse/contrib/dtc/libfdt/libfdt_env.h
  projects/fuse/contrib/dtc/libfdt/libfdt_internal.h
  projects/fuse/contrib/dtc/livetree.c
  projects/fuse/contrib/dtc/srcpos.c
  projects/fuse/contrib/dtc/srcpos.h
  projects/fuse/contrib/dtc/treesource.c
  projects/fuse/contrib/dtc/util.c
  projects/fuse/contrib/dtc/util.h
  projects/fuse/contrib/groff/tmac/doc-common
  projects/fuse/contrib/groff/tmac/doc-syms
  projects/fuse/contrib/groff/tmac/doc.tmac
  projects/fuse/contrib/groff/tmac/groff_mdoc.man
  projects/fuse/contrib/less/NEWS
  projects/fuse/contrib/less/README
  projects/fuse/contrib/less/brac.c
  projects/fuse/contrib/less/ch.c
  projects/fuse/contrib/less/charset.c
  projects/fuse/contrib/less/charset.h
  projects/fuse/contrib/less/cmd.h
  projects/fuse/contrib/less/cmdbuf.c
  projects/fuse/contrib/less/command.c
  projects/fuse/contrib/less/cvt.c
  projects/fuse/contrib/less/decode.c
  projects/fuse/contrib/less/defines.ds
  projects/fuse/contrib/less/defines.o2
  projects/fuse/contrib/less/defines.o9
  projects/fuse/contrib/less/defines.wn
  projects/fuse/contrib/less/edit.c
  projects/fuse/contrib/less/filename.c
  projects/fuse/contrib/less/forwback.c
  projects/fuse/contrib/less/funcs.h
  projects/fuse/contrib/less/help.c
  projects/fuse/contrib/less/ifile.c
  projects/fuse/contrib/less/input.c
  projects/fuse/contrib/less/jump.c
  projects/fuse/contrib/less/less.h
  projects/fuse/contrib/less/less.hlp
  projects/fuse/contrib/less/less.man
  projects/fuse/contrib/less/less.nro
  projects/fuse/contrib/less/lessecho.c
  projects/fuse/contrib/less/lessecho.man
  projects/fuse/contrib/less/lessecho.nro
  projects/fuse/contrib/less/lesskey.c
  projects/fuse/contrib/less/lesskey.h
  projects/fuse/contrib/less/lesskey.man
  projects/fuse/contrib/less/lesskey.nro
  projects/fuse/contrib/less/lglob.h
  projects/fuse/contrib/less/line.c
  projects/fuse/contrib/less/linenum.c
  projects/fuse/contrib/less/lsystem.c
  projects/fuse/contrib/less/main.c
  projects/fuse/contrib/less/mark.c
  projects/fuse/contrib/less/mkhelp.c
  projects/fuse/contrib/less/optfunc.c
  projects/fuse/contrib/less/option.c
  projects/fuse/contrib/less/option.h
  projects/fuse/contrib/less/opttbl.c
  projects/fuse/contrib/less/os.c
  projects/fuse/contrib/less/output.c
  projects/fuse/contrib/less/pattern.c
  projects/fuse/contrib/less/pattern.h
  projects/fuse/contrib/less/pckeys.h
  projects/fuse/contrib/less/position.c
  projects/fuse/contrib/less/position.h
  projects/fuse/contrib/less/prompt.c
  projects/fuse/contrib/less/screen.c
  projects/fuse/contrib/less/scrsize.c
  projects/fuse/contrib/less/search.c
  projects/fuse/contrib/less/signal.c
  projects/fuse/contrib/less/tags.c
  projects/fuse/contrib/less/ttyin.c
  projects/fuse/contrib/less/version.c
  projects/fuse/contrib/libarchive/FREEBSD-Xlist   (contents, props changed)
  projects/fuse/contrib/libarchive/FREEBSD-upgrade
  projects/fuse/contrib/libarchive/NEWS
  projects/fuse/contrib/libarchive/README
  projects/fuse/contrib/libarchive/cpio/bsdcpio.1
  projects/fuse/contrib/libarchive/cpio/cmdline.c
  projects/fuse/contrib/libarchive/cpio/cpio.c
  projects/fuse/contrib/libarchive/cpio/cpio.h
  projects/fuse/contrib/libarchive/cpio/test/main.c
  projects/fuse/contrib/libarchive/cpio/test/test.h
  projects/fuse/contrib/libarchive/libarchive/archive.h
  projects/fuse/contrib/libarchive/libarchive/archive_acl.c
  projects/fuse/contrib/libarchive/libarchive/archive_check_magic.c
  projects/fuse/contrib/libarchive/libarchive/archive_endian.h
  projects/fuse/contrib/libarchive/libarchive/archive_entry.3
  projects/fuse/contrib/libarchive/libarchive/archive_entry.c
  projects/fuse/contrib/libarchive/libarchive/archive_entry.h
  projects/fuse/contrib/libarchive/libarchive/archive_entry_acl.3
  projects/fuse/contrib/libarchive/libarchive/archive_entry_link_resolver.c
  projects/fuse/contrib/libarchive/libarchive/archive_entry_linkify.3
  projects/fuse/contrib/libarchive/libarchive/archive_entry_paths.3
  projects/fuse/contrib/libarchive/libarchive/archive_entry_perms.3
  projects/fuse/contrib/libarchive/libarchive/archive_entry_stat.3
  projects/fuse/contrib/libarchive/libarchive/archive_entry_stat.c
  projects/fuse/contrib/libarchive/libarchive/archive_entry_time.3
  projects/fuse/contrib/libarchive/libarchive/archive_ppmd7.c
  projects/fuse/contrib/libarchive/libarchive/archive_private.h
  projects/fuse/contrib/libarchive/libarchive/archive_read.3
  projects/fuse/contrib/libarchive/libarchive/archive_read.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_data.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_disk.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_disk_posix.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_disk_private.h
  projects/fuse/contrib/libarchive/libarchive/archive_read_extract.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_filter.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_format.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_free.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_header.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_new.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_open.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_open_fd.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_open_filename.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_private.h
  projects/fuse/contrib/libarchive/libarchive/archive_read_set_options.3
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_filter_rpm.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_7zip.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_cab.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_cpio.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_lha.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_mtree.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_rar.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_tar.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_xar.c
  projects/fuse/contrib/libarchive/libarchive/archive_read_support_format_zip.c
  projects/fuse/contrib/libarchive/libarchive/archive_string.c
  projects/fuse/contrib/libarchive/libarchive/archive_string.h
  projects/fuse/contrib/libarchive/libarchive/archive_string_composition.h
  projects/fuse/contrib/libarchive/libarchive/archive_string_sprintf.c
  projects/fuse/contrib/libarchive/libarchive/archive_util.3
  projects/fuse/contrib/libarchive/libarchive/archive_util.c
  projects/fuse/contrib/libarchive/libarchive/archive_write.3
  projects/fuse/contrib/libarchive/libarchive/archive_write.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_add_filter_bzip2.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_add_filter_compress.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_add_filter_gzip.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_add_filter_program.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_add_filter_xz.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_blocksize.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_data.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_disk.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_disk_posix.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_disk_private.h
  projects/fuse/contrib/libarchive/libarchive/archive_write_disk_set_standard_lookup.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_filter.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_finish_entry.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_format.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_free.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_header.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_new.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_open.3
  projects/fuse/contrib/libarchive/libarchive/archive_write_open_filename.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_private.h
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_7zip.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_ar.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_cpio.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_cpio_newc.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_gnutar.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_mtree.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_pax.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_ustar.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_xar.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_format_zip.c
  projects/fuse/contrib/libarchive/libarchive/archive_write_set_options.3
  projects/fuse/contrib/libarchive/libarchive/cpio.5
  projects/fuse/contrib/libarchive/libarchive/libarchive-formats.5
  projects/fuse/contrib/libarchive/libarchive/libarchive.3
  projects/fuse/contrib/libarchive/libarchive/libarchive_changes.3
  projects/fuse/contrib/libarchive/libarchive/libarchive_internals.3
  projects/fuse/contrib/libarchive/libarchive/tar.5
  projects/fuse/contrib/libarchive/libarchive/test/main.c
  projects/fuse/contrib/libarchive/libarchive/test/read_open_memory.c
  projects/fuse/contrib/libarchive/libarchive/test/test.h
  projects/fuse/contrib/libarchive/libarchive/test/test_archive_string_conversion.c
  projects/fuse/contrib/libarchive/libarchive/test/test_compat_zip.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_disk_directory_traversals.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_format_7zip.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_format_cab.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_format_cpio_svr4_bzip2_rpm.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_format_cpio_svr4_gzip_rpm.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_format_rar.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_format_rar_unicode.rar.uu
  projects/fuse/contrib/libarchive/libarchive/test/test_read_format_tar_filename.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_pax_truncated.c
  projects/fuse/contrib/libarchive/libarchive/test/test_read_position.c
  projects/fuse/contrib/libarchive/libarchive/test/test_sparse_basic.c
  projects/fuse/contrib/libarchive/libarchive/test/test_write_format_zip.c
  projects/fuse/contrib/libarchive/libarchive_fe/err.c
  projects/fuse/contrib/libarchive/libarchive_fe/err.h
  projects/fuse/contrib/libarchive/tar/bsdtar.1
  projects/fuse/contrib/libarchive/tar/bsdtar.c
  projects/fuse/contrib/libarchive/tar/bsdtar.h
  projects/fuse/contrib/libarchive/tar/read.c
  projects/fuse/contrib/libarchive/tar/test/main.c
  projects/fuse/contrib/libarchive/tar/test/test.h
  projects/fuse/contrib/libarchive/tar/test/test_basic.c
  projects/fuse/contrib/libarchive/tar/write.c
  projects/fuse/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
  projects/fuse/games/fortune/datfiles/fortunes
  projects/fuse/gnu/usr.bin/groff/tmac/mdoc.local
  projects/fuse/lib/libarchive/Makefile
  projects/fuse/lib/libarchive/config_freebsd.h
  projects/fuse/lib/libarchive/test/Makefile
  projects/fuse/lib/libc/gen/fts.c
  projects/fuse/lib/libc/locale/Makefile.inc
  projects/fuse/lib/libc/locale/isgraph.3
  projects/fuse/lib/libc/locale/islower.3
  projects/fuse/lib/libc/locale/ispunct.3
  projects/fuse/lib/libc/locale/isspace.3
  projects/fuse/lib/libc/locale/nl_langinfo.3
  projects/fuse/lib/libc/stdlib/at_quick_exit.3
  projects/fuse/lib/libc/stdlib/quick_exit.3
  projects/fuse/lib/libc/string/strerror.3
  projects/fuse/lib/libc/sys/fcntl.2
  projects/fuse/lib/libedit/el.c
  projects/fuse/lib/libedit/histedit.h
  projects/fuse/lib/libedit/term.c
  projects/fuse/lib/libelf/Makefile
  projects/fuse/lib/msun/Makefile
  projects/fuse/lib/msun/Symbol.map
  projects/fuse/lib/msun/man/exp.3
  projects/fuse/lib/msun/src/e_exp.c
  projects/fuse/lib/msun/src/math.h
  projects/fuse/lib/msun/src/math_private.h
  projects/fuse/lib/msun/src/s_cbrtl.c
  projects/fuse/rescue/rescue/Makefile
  projects/fuse/sbin/fsck_ffs/suj.c
  projects/fuse/sbin/geom/class/multipath/geom_multipath.c
  projects/fuse/sbin/geom/class/multipath/gmultipath.8
  projects/fuse/sbin/geom/class/sched/gsched.8
  projects/fuse/sbin/ipfw/dummynet.c
  projects/fuse/sbin/ipfw/ipfw2.c
  projects/fuse/sbin/ipfw/nat.c
  projects/fuse/sbin/md5/Makefile
  projects/fuse/sbin/md5/md5.1
  projects/fuse/sbin/md5/md5.c
  projects/fuse/sbin/shutdown/shutdown.c
  projects/fuse/share/man/man4/Makefile
  projects/fuse/share/man/man4/ahci.4
  projects/fuse/share/man/man4/netmap.4
  projects/fuse/share/man/man4/ugen.4
  projects/fuse/share/man/man4/uplcom.4
  projects/fuse/share/man/man4/uslcom.4
  projects/fuse/share/man/man5/rc.conf.5
  projects/fuse/share/misc/bsd-family-tree
  projects/fuse/share/misc/committers-ports.dot
  projects/fuse/sys/amd64/amd64/fpu.c
  projects/fuse/sys/amd64/amd64/pmap.c
  projects/fuse/sys/amd64/include/cpufunc.h
  projects/fuse/sys/amd64/include/pcpu.h
  projects/fuse/sys/arm/at91/at91_machdep.c
  projects/fuse/sys/arm/at91/at91_pmc.c
  projects/fuse/sys/arm/at91/at91_pmcreg.h
  projects/fuse/sys/arm/at91/at91_spi.c
  projects/fuse/sys/arm/at91/board_sam9260ek.c
  projects/fuse/sys/arm/at91/files.at91
  projects/fuse/sys/arm/at91/if_ate.c
  projects/fuse/sys/arm/at91/std.atmel
  projects/fuse/sys/arm/at91/std.sam9x25ek
  projects/fuse/sys/arm/at91/uart_bus_at91usart.c
  projects/fuse/sys/arm/conf/ATMEL
  projects/fuse/sys/arm/conf/ETHERNUT5
  projects/fuse/sys/arm/conf/ETHERNUT5.hints
  projects/fuse/sys/arm/conf/HL201
  projects/fuse/sys/arm/conf/KB920X
  projects/fuse/sys/arm/conf/QILA9G20
  projects/fuse/sys/arm/conf/SAM9260EK
  projects/fuse/sys/arm/conf/SAM9260EK.hints
  projects/fuse/sys/arm/conf/SAM9G20EK
  projects/fuse/sys/arm/conf/SAM9X25EK
  projects/fuse/sys/arm/mv/common.c
  projects/fuse/sys/arm/mv/gpio.c
  projects/fuse/sys/arm/mv/ic.c
  projects/fuse/sys/arm/mv/kirkwood/kirkwood.c
  projects/fuse/sys/arm/mv/mv_sata.c
  projects/fuse/sys/arm/mv/mvreg.h
  projects/fuse/sys/boot/ficl/Makefile
  projects/fuse/sys/boot/sparc64/loader/main.c
  projects/fuse/sys/boot/zfs/Makefile
  projects/fuse/sys/cam/ata/ata_all.h
  projects/fuse/sys/cam/ata/ata_xpt.c
  projects/fuse/sys/cam/cam_ccb.h
  projects/fuse/sys/cam/cam_periph.c
  projects/fuse/sys/cam/cam_xpt.c
  projects/fuse/sys/cam/ctl/scsi_ctl.c
  projects/fuse/sys/cam/scsi/scsi_cd.c
  projects/fuse/sys/cam/scsi/scsi_da.c
  projects/fuse/sys/cam/scsi/scsi_enc.c
  projects/fuse/sys/cam/scsi/scsi_enc_safte.c
  projects/fuse/sys/cam/scsi/scsi_enc_ses.c
  projects/fuse/sys/cam/scsi/scsi_ses.h
  projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h
  projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c
  projects/fuse/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h
  projects/fuse/sys/conf/NOTES
  projects/fuse/sys/conf/files
  projects/fuse/sys/contrib/libfdt/fdt.c
  projects/fuse/sys/contrib/libfdt/fdt_ro.c
  projects/fuse/sys/contrib/libfdt/fdt_rw.c
  projects/fuse/sys/contrib/libfdt/libfdt.h
  projects/fuse/sys/contrib/libfdt/libfdt_env.h
  projects/fuse/sys/contrib/libfdt/libfdt_internal.h
  projects/fuse/sys/dev/acpica/acpi_cpu.c
  projects/fuse/sys/dev/ahci/ahci.c
  projects/fuse/sys/dev/ahci/ahci.h
  projects/fuse/sys/dev/ath/ath_hal/ah.c
  projects/fuse/sys/dev/ath/ath_hal/ah.h
  projects/fuse/sys/dev/ath/ath_hal/ah_desc.h
  projects/fuse/sys/dev/ath/ath_hal/ah_internal.h
  projects/fuse/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
  projects/fuse/sys/dev/ath/ath_hal/ar5211/ar5211_attach.c
  projects/fuse/sys/dev/ath/ath_hal/ar5212/ar5212_attach.c
  projects/fuse/sys/dev/ath/ath_hal/ar5416/ar5416.h
  projects/fuse/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c
  projects/fuse/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c
  projects/fuse/sys/dev/ath/ath_rate/sample/sample.c
  projects/fuse/sys/dev/ath/if_ath.c
  projects/fuse/sys/dev/ath/if_ath_ahb.c
  projects/fuse/sys/dev/ath/if_ath_misc.h
  projects/fuse/sys/dev/ath/if_ath_pci.c
  projects/fuse/sys/dev/ath/if_ath_rx.c
  projects/fuse/sys/dev/ath/if_ath_rx_edma.c
  projects/fuse/sys/dev/ath/if_ath_tx.c
  projects/fuse/sys/dev/ath/if_ath_tx.h
  projects/fuse/sys/dev/ath/if_ath_tx_ht.c
  projects/fuse/sys/dev/ath/if_athioctl.h
  projects/fuse/sys/dev/ath/if_athvar.h
  projects/fuse/sys/dev/cesa/cesa.c
  projects/fuse/sys/dev/e1000/if_igb.c
  projects/fuse/sys/dev/e1000/if_lem.c
  projects/fuse/sys/dev/isp/isp.c
  projects/fuse/sys/dev/isp/isp_freebsd.c
  projects/fuse/sys/dev/isp/isp_freebsd.h
  projects/fuse/sys/dev/isp/isp_library.c
  projects/fuse/sys/dev/isp/isp_library.h
  projects/fuse/sys/dev/isp/isp_pci.c
  projects/fuse/sys/dev/isp/isp_sbus.c
  projects/fuse/sys/dev/isp/isp_stds.h
  projects/fuse/sys/dev/isp/isp_target.c
  projects/fuse/sys/dev/isp/isp_target.h
  projects/fuse/sys/dev/isp/ispmbox.h
  projects/fuse/sys/dev/isp/ispvar.h
  projects/fuse/sys/dev/ispfw/asm_2300.h
  projects/fuse/sys/dev/md/md.c
  projects/fuse/sys/dev/mge/if_mge.c
  projects/fuse/sys/dev/mii/e1000phy.c
  projects/fuse/sys/dev/mlx/mlxvar.h
  projects/fuse/sys/dev/mps/mps.c
  projects/fuse/sys/dev/mps/mps_sas.c
  projects/fuse/sys/dev/mps/mps_table.c
  projects/fuse/sys/dev/mps/mps_user.c
  projects/fuse/sys/dev/mps/mpsvar.h
  projects/fuse/sys/dev/mvs/mvs_soc.c
  projects/fuse/sys/dev/netmap/if_em_netmap.h
  projects/fuse/sys/dev/netmap/if_igb_netmap.h
  projects/fuse/sys/dev/netmap/ixgbe_netmap.h
  projects/fuse/sys/dev/netmap/netmap.c
  projects/fuse/sys/dev/netmap/netmap_kern.h
  projects/fuse/sys/dev/netmap/netmap_mem2.c
  projects/fuse/sys/dev/pccbb/pccbb_pci.c
  projects/fuse/sys/dev/puc/puc_cfg.h
  projects/fuse/sys/dev/puc/pucdata.c
  projects/fuse/sys/dev/sdhci/sdhci.c
  projects/fuse/sys/dev/spibus/spi.h
  projects/fuse/sys/dev/spibus/spibus.c
  projects/fuse/sys/dev/usb/controller/at91dci_atmelarm.c
  projects/fuse/sys/dev/usb/controller/ohci_atmelarm.c
  projects/fuse/sys/dev/usb/quirk/usb_quirk.c
  projects/fuse/sys/dev/usb/serial/u3g.c
  projects/fuse/sys/dev/usb/serial/uplcom.c
  projects/fuse/sys/dev/usb/serial/uslcom.c
  projects/fuse/sys/dev/usb/usbdevs
  projects/fuse/sys/dev/wtap/if_wtap.c
  projects/fuse/sys/fs/cd9660/cd9660_vfsops.c
  projects/fuse/sys/fs/ext2fs/ext2_vfsops.c
  projects/fuse/sys/fs/fifofs/fifo_vnops.c
  projects/fuse/sys/fs/msdosfs/msdosfs_lookup.c
  projects/fuse/sys/fs/portalfs/portal_vnops.c
  projects/fuse/sys/fs/udf/udf_vfsops.c
  projects/fuse/sys/geom/gate/g_gate.c
  projects/fuse/sys/geom/geom.h
  projects/fuse/sys/geom/geom_dev.c
  projects/fuse/sys/geom/geom_disk.c
  projects/fuse/sys/geom/geom_disk.h
  projects/fuse/sys/geom/geom_event.c
  projects/fuse/sys/geom/geom_io.c
  projects/fuse/sys/geom/geom_slice.c
  projects/fuse/sys/geom/geom_subr.c
  projects/fuse/sys/geom/multipath/g_multipath.c
  projects/fuse/sys/geom/part/g_part.c
  projects/fuse/sys/gnu/fs/reiserfs/reiserfs_vfsops.c
  projects/fuse/sys/i386/i386/machdep.c
  projects/fuse/sys/i386/i386/pmap.c
  projects/fuse/sys/i386/i386/trap.c
  projects/fuse/sys/i386/i386/vm86.c
  projects/fuse/sys/i386/i386/vm_machdep.c
  projects/fuse/sys/i386/include/cpufunc.h
  projects/fuse/sys/i386/include/pcpu.h
  projects/fuse/sys/i386/isa/npx.c
  projects/fuse/sys/i386/linux/linux_proto.h
  projects/fuse/sys/i386/linux/linux_syscall.h
  projects/fuse/sys/i386/linux/linux_syscalls.c
  projects/fuse/sys/i386/linux/linux_sysent.c
  projects/fuse/sys/i386/linux/linux_systrace_args.c
  projects/fuse/sys/i386/linux/syscalls.master
  projects/fuse/sys/kern/kern_clocksource.c
  projects/fuse/sys/kern/kern_descrip.c
  projects/fuse/sys/kern/kern_ktr.c
  projects/fuse/sys/kern/sys_pipe.c
  projects/fuse/sys/kern/vfs_syscalls.c
  projects/fuse/sys/kern/vfs_vnops.c
  projects/fuse/sys/mips/mips/pmap.c
  projects/fuse/sys/modules/ahci/Makefile
  projects/fuse/sys/modules/ath/Makefile
  projects/fuse/sys/modules/cam/Makefile
  projects/fuse/sys/net/flowtable.c
  projects/fuse/sys/net/if_llatbl.c
  projects/fuse/sys/net/if_llatbl.h
  projects/fuse/sys/net/if_loop.c
  projects/fuse/sys/net/if_var.h
  projects/fuse/sys/net80211/ieee80211_hwmp.c
  projects/fuse/sys/netgraph/ng_ether.c
  projects/fuse/sys/netgraph/ng_pptpgre.c
  projects/fuse/sys/netinet/if_ether.c
  projects/fuse/sys/netinet/in.c
  projects/fuse/sys/netinet/in_cksum.c
  projects/fuse/sys/netinet/ip_carp.c
  projects/fuse/sys/netinet/ipfw/ip_dummynet.c
  projects/fuse/sys/netinet/ipfw/ip_fw2.c
  projects/fuse/sys/netinet/ipfw/ip_fw_dynamic.c
  projects/fuse/sys/netinet/ipfw/ip_fw_log.c
  projects/fuse/sys/netinet/sctp_uio.h
  projects/fuse/sys/netinet/tcp_input.c
  projects/fuse/sys/netinet6/in6.c
  projects/fuse/sys/netinet6/ip6_ipsec.c
  projects/fuse/sys/netinet6/ip6_output.c
  projects/fuse/sys/netipsec/ipsec_output.c
  projects/fuse/sys/powerpc/powerpc/busdma_machdep.c
  projects/fuse/sys/sys/fcntl.h
  projects/fuse/sys/sys/pipe.h
  projects/fuse/sys/sys/refcount.h
  projects/fuse/sys/sys/stat.h
  projects/fuse/sys/ufs/ffs/ffs_snapshot.c
  projects/fuse/sys/ufs/ffs/ffs_vfsops.c
  projects/fuse/sys/vm/vm_page.c
  projects/fuse/sys/vm/vm_page.h
  projects/fuse/sys/vm/vm_pageout.c
  projects/fuse/sys/x86/x86/busdma_machdep.c
  projects/fuse/sys/x86/x86/local_apic.c
  projects/fuse/sys/x86/x86/tsc.c
  projects/fuse/tools/build/mk/OptionalObsoleteFiles.inc
  projects/fuse/tools/tools/ath/athratestats/main.c
  projects/fuse/tools/tools/sysbuild/sysbuild.sh
  projects/fuse/usr.bin/calendar/calendars/calendar.freebsd
  projects/fuse/usr.bin/cpio/Makefile
  projects/fuse/usr.bin/cpio/test/Makefile
  projects/fuse/usr.bin/du/du.c
  projects/fuse/usr.bin/find/extern.h
  projects/fuse/usr.bin/find/find.1
  projects/fuse/usr.bin/find/find.c
  projects/fuse/usr.bin/find/function.c
  projects/fuse/usr.bin/find/main.c
  projects/fuse/usr.bin/find/option.c
  projects/fuse/usr.bin/nfsstat/nfsstat.c
  projects/fuse/usr.bin/procstat/procstat_vm.c
  projects/fuse/usr.bin/script/script.1
  projects/fuse/usr.bin/script/script.c
  projects/fuse/usr.bin/tar/Makefile
  projects/fuse/usr.bin/tar/test/Makefile
Directory Properties:
  projects/fuse/   (props changed)
  projects/fuse/cddl/contrib/opensolaris/   (props changed)
  projects/fuse/cddl/contrib/opensolaris/lib/libzfs/   (props changed)
  projects/fuse/contrib/bind9/   (props changed)
  projects/fuse/contrib/dtc/   (props changed)
  projects/fuse/contrib/groff/   (props changed)
  projects/fuse/contrib/less/   (props changed)
  projects/fuse/contrib/libarchive/   (props changed)
  projects/fuse/contrib/libarchive/cpio/   (props changed)
  projects/fuse/contrib/libarchive/libarchive/   (props changed)
  projects/fuse/contrib/libarchive/libarchive_fe/   (props changed)
  projects/fuse/contrib/libarchive/tar/   (props changed)
  projects/fuse/contrib/llvm/   (props changed)
  projects/fuse/contrib/llvm/tools/clang/   (props changed)
  projects/fuse/lib/libc/   (props changed)
  projects/fuse/sbin/   (props changed)
  projects/fuse/sbin/ipfw/   (props changed)
  projects/fuse/share/man/man4/   (props changed)
  projects/fuse/sys/   (props changed)
  projects/fuse/sys/boot/   (props changed)
  projects/fuse/sys/cddl/contrib/opensolaris/   (props changed)
  projects/fuse/sys/conf/   (props changed)
  projects/fuse/sys/contrib/libfdt/   (props changed)
  projects/fuse/usr.bin/calendar/   (props changed)
  projects/fuse/usr.bin/procstat/   (props changed)

Modified: projects/fuse/Makefile.inc1
==============================================================================
--- projects/fuse/Makefile.inc1	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/Makefile.inc1	Fri Aug  3 15:38:28 2012	(r239015)
@@ -1260,7 +1260,7 @@ _prebuild_libs=	${_kerberos5_lib_libasn1
 		lib/ncurses/ncurses lib/ncurses/ncursesw \
 		lib/libopie lib/libpam ${_lib_libthr} \
 		lib/libradius lib/libsbuf lib/libtacplus \
-		${_cddl_lib_libumem} \
+		${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
 		lib/libutil ${_lib_libypclnt} lib/libz lib/msun \
 		${_secure_lib_libcrypto} ${_secure_lib_libssh} \
 		${_secure_lib_libssl}
@@ -1284,6 +1284,7 @@ lib/libopie__L lib/libtacplus__L: lib/li
 
 .if ${MK_CDDL} != "no"
 _cddl_lib_libumem= cddl/lib/libumem
+_cddl_lib_libnvpair= cddl/lib/libnvpair
 _cddl_lib= cddl/lib
 .endif
 

Modified: projects/fuse/UPDATING
==============================================================================
--- projects/fuse/UPDATING	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/UPDATING	Fri Aug  3 15:38:28 2012	(r239015)
@@ -24,6 +24,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10
 	disable the most expensive debugging functionality run
 	"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
 
+20120727:
+	The sparc64 ZFS loader has been changed to no longer try to auto-
+	detect ZFS providers based on diskN aliases but now requires these
+	to be explicitly listed in the OFW boot-device environment variable. 
+
 20120712:
 	The OpenSSL has been upgraded to 1.0.1c.  Any binaries requiring
 	libcrypto.so.6 or libssl.so.6 must be recompiled.  Also, there are

Modified: projects/fuse/bin/sh/jobs.c
==============================================================================
--- projects/fuse/bin/sh/jobs.c	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/bin/sh/jobs.c	Fri Aug  3 15:38:28 2012	(r239015)
@@ -87,6 +87,10 @@ int in_waitcmd = 0;		/* are we in waitcm
 volatile sig_atomic_t breakwaitcmd = 0;	/* should wait be terminated? */
 static int ttyfd = -1;
 
+/* mode flags for dowait */
+#define DOWAIT_BLOCK	0x1 /* wait until a child exits */
+#define DOWAIT_SIG	0x2 /* if DOWAIT_BLOCK, abort on signals */
+
 #if JOBS
 static void restartjob(struct job *);
 #endif
@@ -94,7 +98,6 @@ static void freejob(struct job *);
 static struct job *getjob(char *);
 pid_t getjobpgrp(char *);
 static pid_t dowait(int, struct job *);
-static pid_t waitproc(int, int *);
 static void checkzombies(void);
 static void cmdtxt(union node *);
 static void cmdputs(const char *);
@@ -519,7 +522,7 @@ waitcmd(int argc, char **argv)
 					break;
 			}
 		}
-	} while (dowait(1, (struct job *)NULL) != -1);
+	} while (dowait(DOWAIT_BLOCK | DOWAIT_SIG, (struct job *)NULL) != -1);
 	in_waitcmd--;
 
 	return 0;
@@ -966,7 +969,7 @@ waitforjob(struct job *jp, int *origstat
 	INTOFF;
 	TRACE(("waitforjob(%%%td) called\n", jp - jobtab + 1));
 	while (jp->state == 0)
-		if (dowait(1, jp) == -1)
+		if (dowait(DOWAIT_BLOCK | (Tflag ? DOWAIT_SIG : 0), jp) == -1)
 			dotrap();
 #if JOBS
 	if (jp->jobctl) {
@@ -1004,14 +1007,20 @@ waitforjob(struct job *jp, int *origstat
 }
 
 
+static void
+dummy_handler(int sig)
+{
+}
 
 /*
  * Wait for a process to terminate.
  */
 
 static pid_t
-dowait(int block, struct job *job)
+dowait(int mode, struct job *job)
 {
+	struct sigaction sa, osa;
+	sigset_t mask, omask;
 	pid_t pid;
 	int status;
 	struct procstat *sp;
@@ -1021,15 +1030,49 @@ dowait(int block, struct job *job)
 	int stopped;
 	int sig;
 	int coredump;
+	int wflags;
+	int restore_sigchld;
 
 	TRACE(("dowait(%d) called\n", block));
+	restore_sigchld = 0;
+	if ((mode & DOWAIT_SIG) != 0) {
+		sigfillset(&mask);
+		sigprocmask(SIG_BLOCK, &mask, &omask);
+		INTOFF;
+		if (!issigchldtrapped()) {
+			restore_sigchld = 1;
+			sa.sa_handler = dummy_handler;
+			sa.sa_flags = 0;
+			sigemptyset(&sa.sa_mask);
+			sigaction(SIGCHLD, &sa, &osa);
+		}
+	}
 	do {
-		pid = waitproc(block, &status);
+#if JOBS
+		if (iflag)
+			wflags = WUNTRACED | WCONTINUED;
+		else
+#endif
+			wflags = 0;
+		if ((mode & (DOWAIT_BLOCK | DOWAIT_SIG)) != DOWAIT_BLOCK)
+			wflags |= WNOHANG;
+		pid = wait3(&status, wflags, (struct rusage *)NULL);
 		TRACE(("wait returns %d, status=%d\n", (int)pid, status));
-	} while ((pid == -1 && errno == EINTR && breakwaitcmd == 0) ||
-		 (pid > 0 && WIFSTOPPED(status) && !iflag));
+		if (pid == 0 && (mode & DOWAIT_SIG) != 0) {
+			sigsuspend(&omask);
+			pid = -1;
+			if (int_pending())
+				break;
+		}
+	} while (pid == -1 && errno == EINTR && breakwaitcmd == 0);
 	if (pid == -1 && errno == ECHILD && job != NULL)
 		job->state = JOBDONE;
+	if ((mode & DOWAIT_SIG) != 0) {
+		if (restore_sigchld)
+			sigaction(SIGCHLD, &osa, NULL);
+		sigprocmask(SIG_SETMASK, &omask, NULL);
+		INTON;
+	}
 	if (breakwaitcmd != 0) {
 		breakwaitcmd = 0;
 		if (pid <= 0)
@@ -1050,7 +1093,11 @@ dowait(int block, struct job *job)
 					TRACE(("Changing status of proc %d from 0x%x to 0x%x\n",
 						   (int)pid, sp->status,
 						   status));
-					sp->status = status;
+					if (WIFCONTINUED(status)) {
+						sp->status = -1;
+						jp->state = 0;
+					} else
+						sp->status = status;
 					thisjob = jp;
 				}
 				if (sp->status == -1)
@@ -1108,26 +1155,6 @@ dowait(int block, struct job *job)
 
 
 /*
- * Do a wait system call.  If job control is compiled in, we accept
- * stopped processes.  If block is zero, we return a value of zero
- * rather than blocking.
- */
-static pid_t
-waitproc(int block, int *status)
-{
-	int flags;
-
-#if JOBS
-	flags = WUNTRACED;
-#else
-	flags = 0;
-#endif
-	if (block == 0)
-		flags |= WNOHANG;
-	return wait3(status, flags, (struct rusage *)NULL);
-}
-
-/*
  * return 1 if there are stopped jobs, otherwise 0
  */
 int job_warning = 0;

Modified: projects/fuse/bin/sh/trap.c
==============================================================================
--- projects/fuse/bin/sh/trap.c	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/bin/sh/trap.c	Fri Aug  3 15:38:28 2012	(r239015)
@@ -368,6 +368,14 @@ ignoresig(int signo)
 }
 
 
+int
+issigchldtrapped(void)
+{
+
+	return (trap[SIGCHLD] != NULL && *trap[SIGCHLD] != '\0');
+}
+
+
 /*
  * Signal handler.
  */

Modified: projects/fuse/bin/sh/trap.h
==============================================================================
--- projects/fuse/bin/sh/trap.h	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/bin/sh/trap.h	Fri Aug  3 15:38:28 2012	(r239015)
@@ -41,6 +41,7 @@ void clear_traps(void);
 int have_traps(void);
 void setsignal(int);
 void ignoresig(int);
+int issigchldtrapped(void);
 void onsig(int);
 void dotrap(void);
 void setinteractive(int);

Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool.8
==============================================================================
--- projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool.8	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool.8	Fri Aug  3 15:38:28 2012	(r239015)
@@ -1636,21 +1636,22 @@ for unixtime
 .Op Fl v
 .Xc
 .Pp
-Displays all pools formatted using a different
+Displays pools which do not have all supported features enabled and pools
+formatted using a legacy
 .Tn ZFS
-pool on-disk version. Older versions can continue to be used, but some
-features may not be available. These pools can be upgraded using
-.Qq Nm Cm upgrade Fl a .
-Pools that are formatted with a more recent version are also displayed,
-although these pools will be inaccessible on the system.
+version number.
+These pools can continue to be used, but some features may not be available.
+Use
+.Nm Cm upgrade Fl a
+to enable all features on all pools.
 .Bl -tag -width indent
 .It Fl v
-Displays
+Displays legacy
 .Tn ZFS
-pool versions supported by the current software. The current
-.Tn ZFS
-pool version and all previous supported versions are displayed, along
-with an explanation of the features provided with each version.
+versions supported by the current software.
+See
+.Xr zpool-features.5
+for a description of feature flags features supported by the current software.
 .El
 .It Xo
 .Nm
@@ -1659,18 +1660,22 @@ with an explanation of the features prov
 .Fl a | Ar pool ...
 .Xc
 .Pp
-Upgrades the given pool to the latest on-disk pool version. Once this is done,
-the pool will no longer be accessible on systems running older versions of the
-software.
+Enables all supported features on the given pool.
+Once this is done, the pool will no longer be accessible on systems that do
+not support feature flags.
+See
+.Xr zpool-features.5
+for details on compatability with system sthat support feature flags, but do
+not support all features enabled on the pool.
 .Bl -tag -width indent
 .It Fl a
-Upgrades all pools.
+Enables all supported features on all pools.
 .It Fl V Ar version
-Upgrade to the specified version. If the
+Upgrade to the specified legacy version. If the
 .Fl V
-flag is not specified, the pool is upgraded to the most recent version. This
-option can only be used to increase the version number, and only up to the most
-recent version supported by this software.
+flag is specified, no features will be enabled on the pool.
+This option can only be used to increase version number up to the last
+supported legacy version number.
 .El
 .El
 .Sh EXAMPLES

Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
==============================================================================
--- projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c	Fri Aug  3 15:38:28 2012	(r239015)
@@ -389,6 +389,18 @@ print_vdev_tree(zpool_handle_t *zhp, con
 	}
 }
 
+static boolean_t
+prop_list_contains_feature(nvlist_t *proplist)
+{
+	nvpair_t *nvp;
+	for (nvp = nvlist_next_nvpair(proplist, NULL); NULL != nvp;
+	    nvp = nvlist_next_nvpair(proplist, nvp)) {
+		if (zpool_prop_feature(nvpair_name(nvp)))
+			return (B_TRUE);
+	}
+	return (B_FALSE);
+}
+
 /*
  * Add a property pair (name, string-value) into a property nvlist.
  */
@@ -412,12 +424,30 @@ add_prop_list(const char *propname, char
 	proplist = *props;
 
 	if (poolprop) {
+		const char *vname = zpool_prop_to_name(ZPOOL_PROP_VERSION);
+
 		if ((prop = zpool_name_to_prop(propname)) == ZPROP_INVAL &&
 		    !zpool_prop_feature(propname)) {
 			(void) fprintf(stderr, gettext("property '%s' is "
 			    "not a valid pool property\n"), propname);
 			return (2);
 		}
+
+		/*
+		 * feature@ properties and version should not be specified
+		 * at the same time.
+		 */
+		if ((prop == ZPROP_INVAL && zpool_prop_feature(propname) &&
+		    nvlist_exists(proplist, vname)) ||
+		    (prop == ZPOOL_PROP_VERSION &&
+		    prop_list_contains_feature(proplist))) {
+			(void) fprintf(stderr, gettext("'feature@' and "
+			    "'version' properties cannot be specified "
+			    "together\n"));
+			return (2);
+		}
+
+
 		if (zpool_prop_feature(propname))
 			normnm = propname;
 		else
@@ -1583,8 +1613,8 @@ show_import(nvlist_t *config)
 		break;
 
 	case ZPOOL_STATUS_VERSION_OLDER:
-		(void) printf(gettext(" status: The pool is formatted using an "
-		    "older on-disk version.\n"));
+		(void) printf(gettext(" status: The pool is formatted using a "
+		    "legacy on-disk version.\n"));
 		break;
 
 	case ZPOOL_STATUS_VERSION_NEWER:
@@ -1592,6 +1622,11 @@ show_import(nvlist_t *config)
 		    "incompatible version.\n"));
 		break;
 
+	case ZPOOL_STATUS_FEAT_DISABLED:
+		(void) printf(gettext(" status: Some supported features are "
+		    "not enabled on the pool.\n"));
+		break;
+
 	case ZPOOL_STATUS_UNSUP_FEAT_READ:
 		(void) printf(gettext("status: The pool uses the following "
 		    "feature(s) not supported on this sytem:\n"));
@@ -1638,19 +1673,21 @@ show_import(nvlist_t *config)
 	 * Print out an action according to the overall state of the pool.
 	 */
 	if (vs->vs_state == VDEV_STATE_HEALTHY) {
-		if (reason == ZPOOL_STATUS_VERSION_OLDER)
+		if (reason == ZPOOL_STATUS_VERSION_OLDER ||
+		    reason == ZPOOL_STATUS_FEAT_DISABLED) {
 			(void) printf(gettext(" action: The pool can be "
 			    "imported using its name or numeric identifier, "
 			    "though\n\tsome features will not be available "
 			    "without an explicit 'zpool upgrade'.\n"));
-		else if (reason == ZPOOL_STATUS_HOSTID_MISMATCH)
+		} else if (reason == ZPOOL_STATUS_HOSTID_MISMATCH) {
 			(void) printf(gettext(" action: The pool can be "
 			    "imported using its name or numeric "
 			    "identifier and\n\tthe '-f' flag.\n"));
-		else
+		} else {
 			(void) printf(gettext(" action: The pool can be "
 			    "imported using its name or numeric "
 			    "identifier.\n"));
+		}
 	} else if (vs->vs_state == VDEV_STATE_DEGRADED) {
 		(void) printf(gettext(" action: The pool can be imported "
 		    "despite missing or damaged devices.  The\n\tfault "
@@ -4108,12 +4145,13 @@ status_callback(zpool_handle_t *zhp, voi
 		break;
 
 	case ZPOOL_STATUS_VERSION_OLDER:
-		(void) printf(gettext("status: The pool is formatted using an "
-		    "older on-disk format.  The pool can\n\tstill be used, but "
-		    "some features are unavailable.\n"));
+		(void) printf(gettext("status: The pool is formatted using a "
+		    "legacy on-disk format.  The pool can\n\tstill be used, "
+		    "but some features are unavailable.\n"));
 		(void) printf(gettext("action: Upgrade the pool using 'zpool "
 		    "upgrade'.  Once this is done, the\n\tpool will no longer "
-		    "be accessible on older software versions.\n"));
+		    "be accessible on software that does not support feature\n"
+		    "\tflags.\n"));
 		break;
 
 	case ZPOOL_STATUS_VERSION_NEWER:
@@ -4125,6 +4163,16 @@ status_callback(zpool_handle_t *zhp, voi
 		    "backup.\n"));
 		break;
 
+	case ZPOOL_STATUS_FEAT_DISABLED:
+		(void) printf(gettext("status: Some supported features are not "
+		    "enabled on the pool. The pool can\n\tstill be used, but "
+		    "some features are unavailable.\n"));
+		(void) printf(gettext("action: Enable all features using "
+		    "'zpool upgrade'. Once this is done,\n\tthe pool may no "
+		    "longer be accessible by software that does not support\n\t"
+		    "the features. See zpool-features(5) for details.\n"));
+		break;
+
 	case ZPOOL_STATUS_UNSUP_FEAT_READ:
 		(void) printf(gettext("status: The pool cannot be accessed on "
 		    "this system because it uses the\n\tfollowing feature(s) "
@@ -4354,15 +4402,14 @@ zpool_do_status(int argc, char **argv)
 }
 
 typedef struct upgrade_cbdata {
-	int	cb_all;
 	int	cb_first;
-	int	cb_newer;
 	char	cb_poolname[ZPOOL_MAXNAMELEN];
 	int	cb_argc;
 	uint64_t cb_version;
 	char	**cb_argv;
 } upgrade_cbdata_t;
 
+#ifdef __FreeBSD__
 static int
 is_root_pool(zpool_handle_t *zhp)
 {
@@ -4388,56 +4435,161 @@ is_root_pool(zpool_handle_t *zhp)
 	return (poolname != NULL && strcmp(poolname, zpool_get_name(zhp)) == 0);
 }
 
+static void
+root_pool_upgrade_check(zpool_handle_t *zhp, char *poolname, int size) {
+
+	if (poolname[0] == '\0' && is_root_pool(zhp))
+		(void) strlcpy(poolname, zpool_get_name(zhp), size);
+}
+#endif	/* FreeBSD */
+
+static int
+upgrade_version(zpool_handle_t *zhp, uint64_t version)
+{
+	int ret;
+	nvlist_t *config;
+	uint64_t oldversion;
+
+	config = zpool_get_config(zhp, NULL);
+	verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION,
+	    &oldversion) == 0);
+
+	assert(SPA_VERSION_IS_SUPPORTED(oldversion));
+	assert(oldversion < version);
+
+	ret = zpool_upgrade(zhp, version);
+	if (ret != 0)
+		return (ret);
+
+	if (version >= SPA_VERSION_FEATURES) {
+		(void) printf(gettext("Successfully upgraded "
+		    "'%s' from version %llu to feature flags.\n"),
+		    zpool_get_name(zhp), oldversion);
+	} else {
+		(void) printf(gettext("Successfully upgraded "
+		    "'%s' from version %llu to version %llu.\n"),
+		    zpool_get_name(zhp), oldversion, version);
+	}
+
+	return (0);
+}
+
+static int
+upgrade_enable_all(zpool_handle_t *zhp, int *countp)
+{
+	int i, ret, count;
+	boolean_t firstff = B_TRUE;
+	nvlist_t *enabled = zpool_get_features(zhp);
+
+	count = 0;
+	for (i = 0; i < SPA_FEATURES; i++) {
+		const char *fname = spa_feature_table[i].fi_uname;
+		const char *fguid = spa_feature_table[i].fi_guid;
+		if (!nvlist_exists(enabled, fguid)) {
+			char *propname;
+			verify(-1 != asprintf(&propname, "feature@%s", fname));
+			ret = zpool_set_prop(zhp, propname,
+			    ZFS_FEATURE_ENABLED);
+			if (ret != 0) {
+				free(propname);
+				return (ret);
+			}
+			count++;
+
+			if (firstff) {
+				(void) printf(gettext("Enabled the "
+				    "following features on '%s':\n"),
+				    zpool_get_name(zhp));
+				firstff = B_FALSE;
+			}
+			(void) printf(gettext("  %s\n"), fname);
+			free(propname);
+		}
+	}
+
+	if (countp != NULL)
+		*countp = count;
+	return (0);
+}
+
 static int
 upgrade_cb(zpool_handle_t *zhp, void *arg)
 {
 	upgrade_cbdata_t *cbp = arg;
 	nvlist_t *config;
 	uint64_t version;
-	int ret = 0;
+	boolean_t printnl = B_FALSE;
+	int ret;
 
 	config = zpool_get_config(zhp, NULL);
 	verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION,
 	    &version) == 0);
 
-	if (!cbp->cb_newer && SPA_VERSION_IS_SUPPORTED(version) &&
-	    version != SPA_VERSION) {
-		if (!cbp->cb_all) {
-			if (cbp->cb_first) {
-				(void) printf(gettext("The following pools are "
-				    "out of date, and can be upgraded.  After "
-				    "being\nupgraded, these pools will no "
-				    "longer be accessible by older software "
-				    "versions.\n\n"));
-				(void) printf(gettext("VER  POOL\n"));
-				(void) printf(gettext("---  ------------\n"));
-				cbp->cb_first = B_FALSE;
-			}
+	assert(SPA_VERSION_IS_SUPPORTED(version));
 
-			(void) printf("%2llu   %s\n", (u_longlong_t)version,
-			    zpool_get_name(zhp));
-		} else {
+	if (version < cbp->cb_version) {
+		cbp->cb_first = B_FALSE;
+		ret = upgrade_version(zhp, cbp->cb_version);
+		if (ret != 0)
+			return (ret);
+#ifdef __FreeBSD__
+		root_pool_upgrade_check(zhp, cbp->cb_poolname,
+		    sizeof(cbp->cb_poolname));
+#endif	/* ___FreeBSD__ */
+		printnl = B_TRUE;
+
+#ifdef illumos
+		/*
+		 * If they did "zpool upgrade -a", then we could
+		 * be doing ioctls to different pools.  We need
+		 * to log this history once to each pool, and bypass
+		 * the normal history logging that happens in main().
+		 */
+		(void) zpool_log_history(g_zfs, history_str);
+		log_history = B_FALSE;
+#endif
+	}
+
+	if (cbp->cb_version >= SPA_VERSION_FEATURES) {
+		int count;
+		ret = upgrade_enable_all(zhp, &count);
+		if (ret != 0)
+			return (ret);
+
+		if (count > 0) {
 			cbp->cb_first = B_FALSE;
-			ret = zpool_upgrade(zhp, cbp->cb_version);
-			if (!ret) {
-				(void) printf(gettext("Successfully upgraded "
-				    "'%s'\n\n"), zpool_get_name(zhp));
-				if (cbp->cb_poolname[0] == '\0' &&
-				    is_root_pool(zhp)) {
-					(void) strlcpy(cbp->cb_poolname,
-					    zpool_get_name(zhp),
-					    sizeof(cbp->cb_poolname));
-				}
-			}
+			printnl = B_TRUE;
 		}
-	} else if (cbp->cb_newer && !SPA_VERSION_IS_SUPPORTED(version)) {
-		assert(!cbp->cb_all);
+	}
+
+	if (printnl) {
+		(void) printf(gettext("\n"));
+	}
+
+	return (0);
+}
+
+static int
+upgrade_list_older_cb(zpool_handle_t *zhp, void *arg)
+{
+	upgrade_cbdata_t *cbp = arg;
+	nvlist_t *config;
+	uint64_t version;
+
+	config = zpool_get_config(zhp, NULL);
+	verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION,
+	    &version) == 0);
+
+	assert(SPA_VERSION_IS_SUPPORTED(version));
 
+	if (version < SPA_VERSION_FEATURES) {
 		if (cbp->cb_first) {
 			(void) printf(gettext("The following pools are "
-			    "formatted using an unsupported software version "
-			    "and\ncannot be accessed on the current "
-			    "system.\n\n"));
+			    "formatted with legacy version numbers and can\n"
+			    "be upgraded to use feature flags.  After "
+			    "being upgraded, these pools\nwill no "
+			    "longer be accessible by software that does not "
+			    "support feature\nflags.\n\n"));
 			(void) printf(gettext("VER  POOL\n"));
 			(void) printf(gettext("---  ------------\n"));
 			cbp->cb_first = B_FALSE;
@@ -4447,14 +4599,65 @@ upgrade_cb(zpool_handle_t *zhp, void *ar
 		    zpool_get_name(zhp));
 	}
 
-	zpool_close(zhp);
-	return (ret);
+	return (0);
+}
+
+static int
+upgrade_list_disabled_cb(zpool_handle_t *zhp, void *arg)
+{
+	upgrade_cbdata_t *cbp = arg;
+	nvlist_t *config;
+	uint64_t version;
+
+	config = zpool_get_config(zhp, NULL);
+	verify(nvlist_lookup_uint64(config, ZPOOL_CONFIG_VERSION,
+	    &version) == 0);
+
+	if (version >= SPA_VERSION_FEATURES) {
+		int i;
+		boolean_t poolfirst = B_TRUE;
+		nvlist_t *enabled = zpool_get_features(zhp);
+
+		for (i = 0; i < SPA_FEATURES; i++) {
+			const char *fguid = spa_feature_table[i].fi_guid;
+			const char *fname = spa_feature_table[i].fi_uname;
+			if (!nvlist_exists(enabled, fguid)) {
+				if (cbp->cb_first) {
+					(void) printf(gettext("\nSome "
+					    "supported features are not "
+					    "enabled on the following pools. "
+					    "Once a\nfeature is enabled the "
+					    "pool may become incompatible with "
+					    "software\nthat does not support "
+					    "the feature. See "
+					    "zpool-features(5) for "
+					    "details.\n\n"));
+					(void) printf(gettext("POOL  "
+					    "FEATURE\n"));
+					(void) printf(gettext("------"
+					    "---------\n"));
+					cbp->cb_first = B_FALSE;
+				}
+
+				if (poolfirst) {
+					(void) printf(gettext("%s\n"),
+					    zpool_get_name(zhp));
+					poolfirst = B_FALSE;
+				}
+
+				(void) printf(gettext("      %s\n"), fname);
+			}
+		}
+	}
+
+	return (0);
 }
 
 /* ARGSUSED */
 static int
 upgrade_one(zpool_handle_t *zhp, void *data)
 {
+	boolean_t printnl = B_FALSE;
 	upgrade_cbdata_t *cbp = data;
 	uint64_t cur_version;
 	int ret;
@@ -4469,30 +4672,53 @@ upgrade_one(zpool_handle_t *zhp, void *d
 	cur_version = zpool_get_prop_int(zhp, ZPOOL_PROP_VERSION, NULL);
 	if (cur_version > cbp->cb_version) {
 		(void) printf(gettext("Pool '%s' is already formatted "
-		    "using more current version '%llu'.\n"),
+		    "using more current version '%llu'.\n\n"),
 		    zpool_get_name(zhp), cur_version);
 		return (0);
 	}
-	if (cur_version == cbp->cb_version) {
+
+	if (cbp->cb_version != SPA_VERSION && cur_version == cbp->cb_version) {
 		(void) printf(gettext("Pool '%s' is already formatted "
-		    "using the current version.\n"), zpool_get_name(zhp));
+		    "using version %llu.\n\n"), zpool_get_name(zhp),
+		    cbp->cb_version);
 		return (0);
 	}
 
-	ret = zpool_upgrade(zhp, cbp->cb_version);
+	if (cur_version != cbp->cb_version) {
+		printnl = B_TRUE;
+		ret = upgrade_version(zhp, cbp->cb_version);
+		if (ret != 0)
+			return (ret);
+#ifdef __FreeBSD__
+		root_pool_upgrade_check(zhp, cbp->cb_poolname,
+		    sizeof(cbp->cb_poolname));
+#endif	/* ___FreeBSD__ */
+	}
+
+	if (cbp->cb_version >= SPA_VERSION_FEATURES) {
+		int count = 0;
+		ret = upgrade_enable_all(zhp, &count);
+		if (ret != 0)
+			return (ret);
 
-	if (!ret) {
-		(void) printf(gettext("Successfully upgraded '%s' "
-		    "from version %llu to version %llu\n\n"),
-		    zpool_get_name(zhp), (u_longlong_t)cur_version,
-		    (u_longlong_t)cbp->cb_version);
-		if (cbp->cb_poolname[0] == '\0' && is_root_pool(zhp)) {
-			(void) strlcpy(cbp->cb_poolname, zpool_get_name(zhp),
+		if (count != 0) {
+			printnl = B_TRUE;
+#ifdef __FreeBSD__
+			root_pool_upgrade_check(zhp, cbp->cb_poolname,
 			    sizeof(cbp->cb_poolname));
+#endif	/* __FreeBSD __*/
+		} else if (cur_version == SPA_VERSION) {
+			(void) printf(gettext("Pool '%s' already has all "
+			    "supported features enabled.\n"),
+			    zpool_get_name(zhp));
 		}
 	}
 
-	return (ret != 0);
+	if (printnl) {
+		(void) printf(gettext("\n"));
+	}
+
+	return (0);
 }
 
 /*
@@ -4511,6 +4737,7 @@ zpool_do_upgrade(int argc, char **argv)
 	upgrade_cbdata_t cb = { 0 };
 	int ret = 0;
 	boolean_t showversions = B_FALSE;
+	boolean_t upgradeall = B_FALSE;
 	char *end;
 
 
@@ -4518,7 +4745,7 @@ zpool_do_upgrade(int argc, char **argv)
 	while ((c = getopt(argc, argv, ":avV:")) != -1) {
 		switch (c) {
 		case 'a':
-			cb.cb_all = B_TRUE;
+			upgradeall = B_TRUE;
 			break;
 		case 'v':
 			showversions = B_TRUE;
@@ -4551,19 +4778,19 @@ zpool_do_upgrade(int argc, char **argv)
 
 	if (cb.cb_version == 0) {
 		cb.cb_version = SPA_VERSION;
-	} else if (!cb.cb_all && argc == 0) {
+	} else if (!upgradeall && argc == 0) {
 		(void) fprintf(stderr, gettext("-V option is "
 		    "incompatible with other arguments\n"));
 		usage(B_FALSE);
 	}
 
 	if (showversions) {
-		if (cb.cb_all || argc != 0) {
+		if (upgradeall || argc != 0) {
 			(void) fprintf(stderr, gettext("-v option is "
 			    "incompatible with other arguments\n"));
 			usage(B_FALSE);
 		}
-	} else if (cb.cb_all) {
+	} else if (upgradeall) {
 		if (argc != 0) {
 			(void) fprintf(stderr, gettext("-a option should not "
 			    "be used along with a pool name\n"));
@@ -4573,9 +4800,25 @@ zpool_do_upgrade(int argc, char **argv)
 
 	(void) printf(gettext("This system supports ZFS pool feature "
 	    "flags.\n\n"));
-	cb.cb_first = B_TRUE;
 	if (showversions) {
-		(void) printf(gettext("The following versions are "
+		int i;
+
+		(void) printf(gettext("The following features are "
+		    "supported:\n\n"));
+		(void) printf(gettext("FEAT DESCRIPTION\n"));
+		(void) printf("----------------------------------------------"
+		    "---------------\n");
+		for (i = 0; i < SPA_FEATURES; i++) {
+			zfeature_info_t *fi = &spa_feature_table[i];
+			const char *ro = fi->fi_can_readonly ?
+			    " (read-only compatible)" : "";
+
+			(void) printf("%-37s%s\n", fi->fi_uname, ro);
+			(void) printf("     %s\n", fi->fi_desc);
+		}
+		(void) printf("\n");
+
+		(void) printf(gettext("The following legacy versions are also "
 		    "supported:\n\n"));
 		(void) printf(gettext("VER  DESCRIPTION\n"));
 		(void) printf("---  -----------------------------------------"
@@ -4618,32 +4861,44 @@ zpool_do_upgrade(int argc, char **argv)
 		(void) printf(gettext("\nFor more information on a particular "
 		    "version, including supported releases,\n"));
 		(void) printf(gettext("see the ZFS Administration Guide.\n\n"));
-	} else if (argc == 0) {
-		int notfound;
-
+	} else if (argc == 0 && upgradeall) {
+		cb.cb_first = B_TRUE;
 		ret = zpool_iter(g_zfs, upgrade_cb, &cb);
-		notfound = cb.cb_first;
-
-		if (!cb.cb_all && ret == 0) {
-			if (!cb.cb_first)
-				(void) printf("\n");
-			cb.cb_first = B_TRUE;
-			cb.cb_newer = B_TRUE;
-			ret = zpool_iter(g_zfs, upgrade_cb, &cb);
-			if (!cb.cb_first) {
-				notfound = B_FALSE;
-				(void) printf("\n");
+		if (ret == 0 && cb.cb_first) {
+			if (cb.cb_version == SPA_VERSION) {
+				(void) printf(gettext("All pools are already "
+				    "formatted using feature flags.\n\n"));
+				(void) printf(gettext("Every feature flags "
+				    "pool already has all supported features "
+				    "enabled.\n"));
+			} else {
+				(void) printf(gettext("All pools are already "
+				    "formatted with version %llu or higher.\n"),
+				    cb.cb_version);
 			}
 		}
+	} else if (argc == 0) {
+		cb.cb_first = B_TRUE;
+		ret = zpool_iter(g_zfs, upgrade_list_older_cb, &cb);
+		assert(ret == 0);
+
+		if (cb.cb_first) {
+			(void) printf(gettext("All pools are formatted "
+			    "using feature flags.\n\n"));
+		} else {
+			(void) printf(gettext("\nUse 'zpool upgrade -v' "
+			    "for a list of available legacy versions.\n"));
+		}
 
-		if (ret == 0) {
-			if (notfound)
-				(void) printf(gettext("All pools are formatted "
-				    "using this version.\n"));
-			else if (!cb.cb_all)
-				(void) printf(gettext("Use 'zpool upgrade -v' "
-				    "for a list of available versions and "
-				    "their associated\nfeatures.\n"));
+		cb.cb_first = B_TRUE;
+		ret = zpool_iter(g_zfs, upgrade_list_disabled_cb, &cb);
+		assert(ret == 0);
+
+		if (cb.cb_first) {
+			(void) printf(gettext("Every feature flags pool has "
+			    "all supported features enabled.\n"));
+		} else {
+			(void) printf(gettext("\n"));
 		}
 	} else {
 		ret = for_each_pool(argc, argv, B_FALSE, NULL,

Modified: projects/fuse/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c
==============================================================================
--- projects/fuse/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c	Fri Aug  3 15:38:28 2012	(r239015)
@@ -942,7 +942,8 @@ dt_proc_create_thread(dtrace_hdl_t *dtp,
 		    (int)dpr->dpr_pid, strerror(err));
 	}
 
-	(void) pthread_mutex_unlock(&dpr->dpr_lock);
+	if (err == 0)
+		(void) pthread_mutex_unlock(&dpr->dpr_lock);
 	(void) pthread_attr_destroy(&a);
 
 	return (err);

Modified: projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h
==============================================================================
--- projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h	Fri Aug  3 15:38:28 2012	(r239015)
@@ -316,7 +316,8 @@ typedef enum {
 	 * requiring administrative attention.  There is no corresponding
 	 * message ID.
 	 */
-	ZPOOL_STATUS_VERSION_OLDER,	/* older on-disk version */
+	ZPOOL_STATUS_VERSION_OLDER,	/* older legacy on-disk version */
+	ZPOOL_STATUS_FEAT_DISABLED,	/* supported features are disabled */
 	ZPOOL_STATUS_RESILVERING,	/* device being resilvered */
 	ZPOOL_STATUS_OFFLINE_DEV,	/* device online */
 	ZPOOL_STATUS_REMOVED_DEV,	/* removed device */

Modified: projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c
==============================================================================
--- projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c	Fri Aug  3 15:38:28 2012	(r239015)
@@ -44,6 +44,7 @@
 #include <string.h>
 #include <unistd.h>
 #include "libzfs_impl.h"
+#include "zfeature_common.h"
 
 /*
  * Message ID table.  This must be kept in sync with the ZPOOL_STATUS_* defines
@@ -319,6 +320,30 @@ check_status(nvlist_t *config, boolean_t
 	if (SPA_VERSION_IS_SUPPORTED(version) && version != SPA_VERSION)
 		return (ZPOOL_STATUS_VERSION_OLDER);
 
+	/*
+	 * Usable pool with disabled features
+	 */
+	if (version >= SPA_VERSION_FEATURES) {
+		int i;
+		nvlist_t *feat;
+
+		if (isimport) {
+			feat = fnvlist_lookup_nvlist(config,
+			    ZPOOL_CONFIG_LOAD_INFO);
+			feat = fnvlist_lookup_nvlist(feat,
+			    ZPOOL_CONFIG_ENABLED_FEAT);
+		} else {
+			feat = fnvlist_lookup_nvlist(config,
+			    ZPOOL_CONFIG_FEATURE_STATS);
+		}
+
+		for (i = 0; i < SPA_FEATURES; i++) {
+			zfeature_info_t *fi = &spa_feature_table[i];
+			if (!nvlist_exists(feat, fi->fi_guid))
+				return (ZPOOL_STATUS_FEAT_DISABLED);
+		}
+	}
+
 	return (ZPOOL_STATUS_OK);
 }
 

Modified: projects/fuse/cddl/lib/libzfs/Makefile
==============================================================================
--- projects/fuse/cddl/lib/libzfs/Makefile	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/cddl/lib/libzfs/Makefile	Fri Aug  3 15:38:28 2012	(r239015)
@@ -6,8 +6,8 @@
 .PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzfs/common
 
 LIB=	zfs
-DPADD=	${LIBMD} ${LIBPTHREAD} ${LIBUMEM} ${LIBUTIL} ${LIBM}
-LDADD=	-lmd -lpthread -lumem -lutil -lm
+DPADD=	${LIBMD} ${LIBPTHREAD} ${LIBUMEM} ${LIBUTIL} ${LIBM} ${LIBNVPAIR}
+LDADD=	-lmd -lpthread -lumem -lutil -lm -lnvpair
 
 SRCS=	deviceid.c \
 	fsshare.c \

Modified: projects/fuse/contrib/bind9/CHANGES
==============================================================================
--- projects/fuse/contrib/bind9/CHANGES	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/contrib/bind9/CHANGES	Fri Aug  3 15:38:28 2012	(r239015)
@@ -1,3 +1,12 @@
+	--- 9.8.3-P2 released ---
+
+3346.	[security]	Bad-cache data could be used before it was
+			initialized, causing an assert. [RT #30025]
+
+3342.	[bug]		Change #3314 broke saving of stub zones to disk
+			resulting in excessive cpu usage in some cases.
+			[RT #29952]
+
 	--- 9.8.3-P1 released ---
 
 3331.	[security]	dns_rdataslab_fromrdataset could produce bad

Modified: projects/fuse/contrib/bind9/lib/dns/resolver.c
==============================================================================
--- projects/fuse/contrib/bind9/lib/dns/resolver.c	Fri Aug  3 15:29:19 2012	(r239014)
+++ projects/fuse/contrib/bind9/lib/dns/resolver.c	Fri Aug  3 15:38:28 2012	(r239015)
@@ -8448,6 +8448,7 @@ dns_resolver_addbadcache(dns_resolver_t 
 			goto cleanup;
 		bad->type = type;
 		bad->hashval = hashval;
+		bad->expire = *expire;
 		isc_buffer_init(&buffer, bad + 1, name->length);
 		dns_name_init(&bad->name, NULL);
 		dns_name_copy(name, &bad->name, &buffer);

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



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