Date: Fri, 10 Aug 2012 09:04:03 +0000 (UTC) From: Andrew Turner <andrew@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r239172 - in projects/arm_eabi: . bin/sh cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/lib/libdtrace/common cddl/contrib/opensolaris/lib/libzfs/common cddl/lib/libzfs cont... Message-ID: <201208100904.q7A943l9014310@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: andrew Date: Fri Aug 10 09:04:02 2012 New Revision: 239172 URL: http://svn.freebsd.org/changeset/base/239172 Log: MFC to r239171 Added: projects/arm_eabi/contrib/compiler-rt/lib/arm/aeabi_memcmp.S - copied unchanged from r239171, head/contrib/compiler-rt/lib/arm/aeabi_memcmp.S projects/arm_eabi/contrib/compiler-rt/lib/arm/aeabi_memcpy.S - copied unchanged from r239171, head/contrib/compiler-rt/lib/arm/aeabi_memcpy.S projects/arm_eabi/contrib/compiler-rt/lib/arm/aeabi_memmove.S - copied unchanged from r239171, head/contrib/compiler-rt/lib/arm/aeabi_memmove.S projects/arm_eabi/contrib/compiler-rt/lib/arm/aeabi_memset.S - copied unchanged from r239171, head/contrib/compiler-rt/lib/arm/aeabi_memset.S projects/arm_eabi/contrib/compiler-rt/lib/atomic.c - copied unchanged from r239171, head/contrib/compiler-rt/lib/atomic.c projects/arm_eabi/contrib/libarchive/libarchive/archive_write_disk_acl.c - copied unchanged from r239171, head/contrib/libarchive/libarchive/archive_write_disk_acl.c projects/arm_eabi/contrib/libarchive/libarchive/test/test_acl_freebsd_nfs4.c - copied unchanged from r239171, head/contrib/libarchive/libarchive/test/test_acl_freebsd_nfs4.c projects/arm_eabi/contrib/libarchive/libarchive/test/test_acl_freebsd_posix1e.c - copied unchanged from r239171, head/contrib/libarchive/libarchive/test/test_acl_freebsd_posix1e.c projects/arm_eabi/share/man/man4/vale.4 - copied unchanged from r239171, head/share/man/man4/vale.4 projects/arm_eabi/sys/arm/at91/at91sam9x5.c - copied unchanged from r239171, head/sys/arm/at91/at91sam9x5.c projects/arm_eabi/sys/arm/at91/at91sam9x5reg.h - copied unchanged from r239171, head/sys/arm/at91/at91sam9x5reg.h projects/arm_eabi/sys/boot/common/part.c - copied unchanged from r239171, head/sys/boot/common/part.c projects/arm_eabi/sys/boot/common/part.h - copied unchanged from r239171, head/sys/boot/common/part.h projects/arm_eabi/sys/powerpc/powermac/nvbl.c - copied unchanged from r239171, head/sys/powerpc/powermac/nvbl.c projects/arm_eabi/tools/regression/lib/libc/gen/test-ftw.c - copied unchanged from r239171, head/tools/regression/lib/libc/gen/test-ftw.c projects/arm_eabi/tools/tools/bootparttest/ - copied from r239171, head/tools/tools/bootparttest/ Deleted: projects/arm_eabi/sys/arm/at91/at91sam9x25.c projects/arm_eabi/sys/arm/at91/at91sam9x25reg.h Modified: projects/arm_eabi/Makefile.inc1 projects/arm_eabi/bin/sh/jobs.c projects/arm_eabi/bin/sh/trap.c projects/arm_eabi/bin/sh/trap.h projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool.8 projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c projects/arm_eabi/cddl/lib/libzfs/Makefile projects/arm_eabi/contrib/compiler-rt/LICENSE.TXT projects/arm_eabi/contrib/compiler-rt/lib/absvti2.c projects/arm_eabi/contrib/compiler-rt/lib/adddf3.c projects/arm_eabi/contrib/compiler-rt/lib/addsf3.c projects/arm_eabi/contrib/compiler-rt/lib/addvti3.c projects/arm_eabi/contrib/compiler-rt/lib/ashldi3.c projects/arm_eabi/contrib/compiler-rt/lib/ashlti3.c projects/arm_eabi/contrib/compiler-rt/lib/ashrdi3.c projects/arm_eabi/contrib/compiler-rt/lib/ashrti3.c projects/arm_eabi/contrib/compiler-rt/lib/assembly.h projects/arm_eabi/contrib/compiler-rt/lib/clzti2.c projects/arm_eabi/contrib/compiler-rt/lib/cmpti2.c projects/arm_eabi/contrib/compiler-rt/lib/ctzti2.c projects/arm_eabi/contrib/compiler-rt/lib/divdf3.c projects/arm_eabi/contrib/compiler-rt/lib/divsf3.c projects/arm_eabi/contrib/compiler-rt/lib/divsi3.c projects/arm_eabi/contrib/compiler-rt/lib/divti3.c projects/arm_eabi/contrib/compiler-rt/lib/extendsfdf2.c projects/arm_eabi/contrib/compiler-rt/lib/ffsti2.c projects/arm_eabi/contrib/compiler-rt/lib/fixdfdi.c projects/arm_eabi/contrib/compiler-rt/lib/fixdfsi.c projects/arm_eabi/contrib/compiler-rt/lib/fixdfti.c projects/arm_eabi/contrib/compiler-rt/lib/fixsfdi.c projects/arm_eabi/contrib/compiler-rt/lib/fixsfsi.c projects/arm_eabi/contrib/compiler-rt/lib/fixsfti.c projects/arm_eabi/contrib/compiler-rt/lib/fixunsdfdi.c projects/arm_eabi/contrib/compiler-rt/lib/fixunsdfsi.c projects/arm_eabi/contrib/compiler-rt/lib/fixunsdfti.c projects/arm_eabi/contrib/compiler-rt/lib/fixunssfdi.c projects/arm_eabi/contrib/compiler-rt/lib/fixunssfsi.c projects/arm_eabi/contrib/compiler-rt/lib/fixunssfti.c projects/arm_eabi/contrib/compiler-rt/lib/fixunsxfti.c projects/arm_eabi/contrib/compiler-rt/lib/fixxfti.c projects/arm_eabi/contrib/compiler-rt/lib/floatdidf.c projects/arm_eabi/contrib/compiler-rt/lib/floatdisf.c projects/arm_eabi/contrib/compiler-rt/lib/floatsidf.c projects/arm_eabi/contrib/compiler-rt/lib/floatsisf.c projects/arm_eabi/contrib/compiler-rt/lib/floattidf.c projects/arm_eabi/contrib/compiler-rt/lib/floattisf.c projects/arm_eabi/contrib/compiler-rt/lib/floattixf.c projects/arm_eabi/contrib/compiler-rt/lib/floatundidf.c projects/arm_eabi/contrib/compiler-rt/lib/floatundisf.c projects/arm_eabi/contrib/compiler-rt/lib/floatunsidf.c projects/arm_eabi/contrib/compiler-rt/lib/floatunsisf.c projects/arm_eabi/contrib/compiler-rt/lib/floatuntidf.c projects/arm_eabi/contrib/compiler-rt/lib/floatuntisf.c projects/arm_eabi/contrib/compiler-rt/lib/floatuntixf.c projects/arm_eabi/contrib/compiler-rt/lib/fp_lib.h projects/arm_eabi/contrib/compiler-rt/lib/int_endianness.h projects/arm_eabi/contrib/compiler-rt/lib/int_util.c projects/arm_eabi/contrib/compiler-rt/lib/int_util.h projects/arm_eabi/contrib/compiler-rt/lib/lshrdi3.c projects/arm_eabi/contrib/compiler-rt/lib/lshrti3.c projects/arm_eabi/contrib/compiler-rt/lib/modti3.c projects/arm_eabi/contrib/compiler-rt/lib/muldf3.c projects/arm_eabi/contrib/compiler-rt/lib/muldi3.c projects/arm_eabi/contrib/compiler-rt/lib/muloti4.c projects/arm_eabi/contrib/compiler-rt/lib/mulsf3.c projects/arm_eabi/contrib/compiler-rt/lib/multi3.c projects/arm_eabi/contrib/compiler-rt/lib/mulvti3.c projects/arm_eabi/contrib/compiler-rt/lib/negdf2.c projects/arm_eabi/contrib/compiler-rt/lib/negsf2.c projects/arm_eabi/contrib/compiler-rt/lib/negti2.c projects/arm_eabi/contrib/compiler-rt/lib/negvti2.c projects/arm_eabi/contrib/compiler-rt/lib/parityti2.c projects/arm_eabi/contrib/compiler-rt/lib/popcountti2.c projects/arm_eabi/contrib/compiler-rt/lib/powitf2.c projects/arm_eabi/contrib/compiler-rt/lib/subdf3.c projects/arm_eabi/contrib/compiler-rt/lib/subsf3.c projects/arm_eabi/contrib/compiler-rt/lib/subvti3.c projects/arm_eabi/contrib/compiler-rt/lib/truncdfsf2.c projects/arm_eabi/contrib/compiler-rt/lib/ucmpti2.c projects/arm_eabi/contrib/compiler-rt/lib/udivmodti4.c projects/arm_eabi/contrib/compiler-rt/lib/udivsi3.c projects/arm_eabi/contrib/compiler-rt/lib/udivti3.c projects/arm_eabi/contrib/compiler-rt/lib/umodti3.c projects/arm_eabi/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c projects/arm_eabi/contrib/libarchive/libarchive/archive_write_disk_posix.c projects/arm_eabi/contrib/libarchive/libarchive/archive_write_disk_private.h projects/arm_eabi/contrib/libarchive/tar/test/test_basic.c projects/arm_eabi/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/arm_eabi/contrib/opie/libopie/hash.c projects/arm_eabi/contrib/opie/libopie/hashlen.c projects/arm_eabi/etc/devd/usb.conf projects/arm_eabi/games/fortune/datfiles/fortunes projects/arm_eabi/include/gssapi/gssapi.h projects/arm_eabi/lib/libarchive/Makefile projects/arm_eabi/lib/libarchive/config_freebsd.h projects/arm_eabi/lib/libarchive/test/Makefile projects/arm_eabi/lib/libc/gen/fts.c projects/arm_eabi/lib/libc/gen/ftw.c projects/arm_eabi/lib/libc/gen/nftw.c projects/arm_eabi/lib/libc/locale/Makefile.inc projects/arm_eabi/lib/libc/locale/isgraph.3 projects/arm_eabi/lib/libc/locale/islower.3 projects/arm_eabi/lib/libc/locale/ispunct.3 projects/arm_eabi/lib/libc/locale/isspace.3 projects/arm_eabi/lib/libc/locale/nl_langinfo.3 projects/arm_eabi/lib/libpam/modules/pam_krb5/pam_krb5.c projects/arm_eabi/lib/libpam/modules/pam_unix/pam_unix.c projects/arm_eabi/lib/msun/ld128/s_expl.c projects/arm_eabi/lib/msun/ld80/s_expl.c projects/arm_eabi/lib/msun/src/s_cbrtl.c projects/arm_eabi/libexec/rtld-elf/arm/rtld_start.S projects/arm_eabi/libexec/rtld-elf/map_object.c projects/arm_eabi/rescue/rescue/Makefile projects/arm_eabi/sbin/camcontrol/camcontrol.c projects/arm_eabi/sbin/fsck_ffs/suj.c projects/arm_eabi/sbin/geom/class/multipath/geom_multipath.c projects/arm_eabi/sbin/geom/class/multipath/gmultipath.8 projects/arm_eabi/sbin/geom/class/sched/gsched.8 projects/arm_eabi/sbin/geom/class/virstor/gvirstor.8 projects/arm_eabi/sbin/ggate/shared/ggate.h projects/arm_eabi/sbin/ipfw/dummynet.c projects/arm_eabi/sbin/ipfw/ipfw2.c projects/arm_eabi/sbin/ipfw/nat.c projects/arm_eabi/sbin/md5/Makefile projects/arm_eabi/sbin/md5/md5.1 projects/arm_eabi/sbin/md5/md5.c projects/arm_eabi/sbin/shutdown/shutdown.c projects/arm_eabi/share/examples/kld/dyn_sysctl/dyn_sysctl.c projects/arm_eabi/share/man/man4/Makefile projects/arm_eabi/share/man/man4/hptiop.4 projects/arm_eabi/share/man/man4/netmap.4 projects/arm_eabi/share/man/man4/polling.4 projects/arm_eabi/share/man/man4/umodem.4 projects/arm_eabi/share/man/man4/uslcom.4 projects/arm_eabi/share/man/man5/rc.conf.5 projects/arm_eabi/share/misc/committers-ports.dot projects/arm_eabi/sys/amd64/amd64/elf_machdep.c projects/arm_eabi/sys/amd64/amd64/fpu.c projects/arm_eabi/sys/amd64/amd64/initcpu.c projects/arm_eabi/sys/amd64/amd64/pmap.c projects/arm_eabi/sys/amd64/include/cpufunc.h projects/arm_eabi/sys/arm/arm/bcopyinout.S projects/arm_eabi/sys/arm/arm/bcopyinout_xscale.S projects/arm_eabi/sys/arm/arm/exception.S projects/arm_eabi/sys/arm/arm/pmap.c projects/arm_eabi/sys/arm/at91/at91_pmc.c projects/arm_eabi/sys/arm/at91/at91_pmcreg.h projects/arm_eabi/sys/arm/at91/at91_spi.c projects/arm_eabi/sys/arm/at91/files.at91 projects/arm_eabi/sys/arm/at91/if_ate.c projects/arm_eabi/sys/arm/at91/std.at91sam9g45 projects/arm_eabi/sys/arm/at91/std.atmel projects/arm_eabi/sys/arm/at91/std.sam9x25ek projects/arm_eabi/sys/arm/conf/ATMEL projects/arm_eabi/sys/arm/conf/HL201 projects/arm_eabi/sys/arm/conf/KB920X projects/arm_eabi/sys/arm/conf/QILA9G20 projects/arm_eabi/sys/arm/conf/SAM9G20EK projects/arm_eabi/sys/arm/conf/SAM9X25EK projects/arm_eabi/sys/arm/conf/SN9G45 projects/arm_eabi/sys/arm/mv/common.c projects/arm_eabi/sys/arm/mv/gpio.c projects/arm_eabi/sys/arm/mv/ic.c projects/arm_eabi/sys/arm/mv/kirkwood/kirkwood.c projects/arm_eabi/sys/arm/mv/mv_sata.c projects/arm_eabi/sys/arm/mv/mvreg.h projects/arm_eabi/sys/arm/s3c2xx0/s3c24x0_machdep.c projects/arm_eabi/sys/boot/common/Makefile.inc projects/arm_eabi/sys/boot/common/disk.c projects/arm_eabi/sys/boot/common/disk.h projects/arm_eabi/sys/boot/i386/libi386/Makefile projects/arm_eabi/sys/boot/i386/libi386/biosdisk.c projects/arm_eabi/sys/boot/i386/libi386/devicename.c projects/arm_eabi/sys/boot/i386/libi386/libi386.h projects/arm_eabi/sys/boot/i386/loader/Makefile projects/arm_eabi/sys/boot/i386/loader/main.c projects/arm_eabi/sys/boot/i386/pmbr/pmbr.s projects/arm_eabi/sys/boot/pc98/boot2/boot2.c projects/arm_eabi/sys/boot/pc98/btx/btxldr/btxldr.S projects/arm_eabi/sys/boot/pc98/btx/lib/btxcsu.S projects/arm_eabi/sys/boot/pc98/cdboot/cdboot.S projects/arm_eabi/sys/boot/pc98/libpc98/Makefile projects/arm_eabi/sys/boot/userboot/test/test.c projects/arm_eabi/sys/boot/userboot/userboot.h projects/arm_eabi/sys/boot/userboot/userboot/Makefile projects/arm_eabi/sys/boot/userboot/userboot/bootinfo32.c projects/arm_eabi/sys/boot/userboot/userboot/copy.c projects/arm_eabi/sys/boot/userboot/userboot/devicename.c projects/arm_eabi/sys/boot/userboot/userboot/main.c projects/arm_eabi/sys/boot/userboot/userboot/userboot_disk.c projects/arm_eabi/sys/boot/zfs/zfs.c projects/arm_eabi/sys/cam/ata/ata_all.h projects/arm_eabi/sys/cam/ata/ata_xpt.c projects/arm_eabi/sys/cam/cam_ccb.h projects/arm_eabi/sys/cam/cam_periph.c projects/arm_eabi/sys/cam/cam_xpt.c projects/arm_eabi/sys/cam/ctl/scsi_ctl.c projects/arm_eabi/sys/cam/scsi/scsi_cd.c projects/arm_eabi/sys/cam/scsi/scsi_da.c projects/arm_eabi/sys/cam/scsi/scsi_enc.c projects/arm_eabi/sys/cam/scsi/scsi_enc_safte.c projects/arm_eabi/sys/cam/scsi/scsi_enc_ses.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfeature.h projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfeature.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/arm_eabi/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/arm_eabi/sys/conf/NOTES projects/arm_eabi/sys/conf/files projects/arm_eabi/sys/conf/files.powerpc projects/arm_eabi/sys/conf/kern.post.mk projects/arm_eabi/sys/dev/acpica/acpi_cpu.c projects/arm_eabi/sys/dev/agp/agp.c projects/arm_eabi/sys/dev/agp/agp_i810.c projects/arm_eabi/sys/dev/aic7xxx/aic79xx_osm.c projects/arm_eabi/sys/dev/aic7xxx/aic_osm_lib.c projects/arm_eabi/sys/dev/ath/ah_osdep.h projects/arm_eabi/sys/dev/ath/ath_hal/ah.h projects/arm_eabi/sys/dev/ath/ath_hal/ah_devid.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5210/ar5210.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5210/ar5210_xmit.c projects/arm_eabi/sys/dev/ath/ath_hal/ar5211/ar5211.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5211/ar5211_xmit.c projects/arm_eabi/sys/dev/ath/ath_hal/ar5212/ar5212.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5212/ar5212_xmit.c projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416.h projects/arm_eabi/sys/dev/ath/ath_hal/ar5416/ar5416_xmit.c projects/arm_eabi/sys/dev/ath/ath_rate/sample/sample.c projects/arm_eabi/sys/dev/ath/if_ath.c projects/arm_eabi/sys/dev/ath/if_ath_beacon.c projects/arm_eabi/sys/dev/ath/if_ath_misc.h projects/arm_eabi/sys/dev/ath/if_ath_rx.c projects/arm_eabi/sys/dev/ath/if_ath_rx_edma.c projects/arm_eabi/sys/dev/ath/if_ath_tx.c projects/arm_eabi/sys/dev/ath/if_ath_tx.h projects/arm_eabi/sys/dev/ath/if_ath_tx_edma.c projects/arm_eabi/sys/dev/ath/if_ath_tx_ht.c projects/arm_eabi/sys/dev/ath/if_athioctl.h projects/arm_eabi/sys/dev/ath/if_athvar.h projects/arm_eabi/sys/dev/bce/if_bce.c projects/arm_eabi/sys/dev/cesa/cesa.c projects/arm_eabi/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c projects/arm_eabi/sys/dev/cxgbe/firmware/t4fw_interface.h projects/arm_eabi/sys/dev/e1000/if_igb.c projects/arm_eabi/sys/dev/e1000/if_lem.c projects/arm_eabi/sys/dev/esp/ncr53c9x.c projects/arm_eabi/sys/dev/hptiop/hptiop.c projects/arm_eabi/sys/dev/ipmi/ipmi.c projects/arm_eabi/sys/dev/ipmi/ipmivars.h projects/arm_eabi/sys/dev/isp/isp.c projects/arm_eabi/sys/dev/isp/isp_freebsd.c projects/arm_eabi/sys/dev/isp/isp_freebsd.h projects/arm_eabi/sys/dev/isp/isp_library.c projects/arm_eabi/sys/dev/isp/isp_library.h projects/arm_eabi/sys/dev/isp/isp_pci.c projects/arm_eabi/sys/dev/isp/isp_sbus.c projects/arm_eabi/sys/dev/isp/isp_stds.h projects/arm_eabi/sys/dev/isp/isp_target.c projects/arm_eabi/sys/dev/isp/isp_target.h projects/arm_eabi/sys/dev/isp/ispmbox.h projects/arm_eabi/sys/dev/isp/ispvar.h projects/arm_eabi/sys/dev/md/md.c projects/arm_eabi/sys/dev/mge/if_mge.c projects/arm_eabi/sys/dev/mii/e1000phy.c projects/arm_eabi/sys/dev/mlx/mlxvar.h projects/arm_eabi/sys/dev/mps/mps.c projects/arm_eabi/sys/dev/mps/mps_sas.c projects/arm_eabi/sys/dev/mps/mps_table.c projects/arm_eabi/sys/dev/mps/mps_user.c projects/arm_eabi/sys/dev/mps/mpsvar.h projects/arm_eabi/sys/dev/mvs/mvs_soc.c projects/arm_eabi/sys/dev/netmap/if_em_netmap.h projects/arm_eabi/sys/dev/netmap/if_igb_netmap.h projects/arm_eabi/sys/dev/netmap/ixgbe_netmap.h projects/arm_eabi/sys/dev/netmap/netmap.c projects/arm_eabi/sys/dev/netmap/netmap_kern.h projects/arm_eabi/sys/dev/netmap/netmap_mem2.c projects/arm_eabi/sys/dev/pccbb/pccbb_pci.c projects/arm_eabi/sys/dev/pci/pci_pci.c projects/arm_eabi/sys/dev/puc/puc_cfg.h projects/arm_eabi/sys/dev/puc/pucdata.c projects/arm_eabi/sys/dev/sdhci/sdhci.c projects/arm_eabi/sys/dev/spibus/spi.h projects/arm_eabi/sys/dev/spibus/spibus.c projects/arm_eabi/sys/dev/usb/serial/uftdi.c projects/arm_eabi/sys/dev/usb/serial/uftdi_reg.h projects/arm_eabi/sys/dev/usb/serial/uslcom.c projects/arm_eabi/sys/dev/usb/usbdevs projects/arm_eabi/sys/dev/wtap/if_wtap.c projects/arm_eabi/sys/fs/fifofs/fifo_vnops.c projects/arm_eabi/sys/fs/nfs/nfs_commonport.c projects/arm_eabi/sys/fs/nfsclient/nfs_clbio.c projects/arm_eabi/sys/fs/nwfs/nwfs_io.c projects/arm_eabi/sys/fs/smbfs/smbfs_io.c projects/arm_eabi/sys/fs/tmpfs/tmpfs_subr.c projects/arm_eabi/sys/fs/tmpfs/tmpfs_vnops.c projects/arm_eabi/sys/geom/gate/g_gate.c projects/arm_eabi/sys/geom/geom.h projects/arm_eabi/sys/geom/geom_dev.c projects/arm_eabi/sys/geom/geom_disk.c projects/arm_eabi/sys/geom/geom_disk.h projects/arm_eabi/sys/geom/geom_event.c projects/arm_eabi/sys/geom/geom_io.c projects/arm_eabi/sys/geom/geom_slice.c projects/arm_eabi/sys/geom/geom_subr.c projects/arm_eabi/sys/geom/multipath/g_multipath.c projects/arm_eabi/sys/geom/part/g_part.c projects/arm_eabi/sys/geom/virstor/g_virstor.c projects/arm_eabi/sys/gnu/fs/reiserfs/reiserfs_vfsops.c projects/arm_eabi/sys/i386/include/cpufunc.h projects/arm_eabi/sys/i386/isa/npx.c projects/arm_eabi/sys/i386/linux/linux_proto.h projects/arm_eabi/sys/i386/linux/linux_syscall.h projects/arm_eabi/sys/i386/linux/linux_syscalls.c projects/arm_eabi/sys/i386/linux/linux_sysent.c projects/arm_eabi/sys/i386/linux/linux_systrace_args.c projects/arm_eabi/sys/i386/linux/syscalls.master projects/arm_eabi/sys/i386/xen/pmap.c projects/arm_eabi/sys/ia64/ia64/pmap.c projects/arm_eabi/sys/kern/kern_clocksource.c projects/arm_eabi/sys/kern/kern_intr.c projects/arm_eabi/sys/kern/kern_ktr.c projects/arm_eabi/sys/kern/kern_proc.c projects/arm_eabi/sys/kern/sched_4bsd.c projects/arm_eabi/sys/kern/sched_ule.c projects/arm_eabi/sys/kern/subr_uio.c projects/arm_eabi/sys/kern/sys_pipe.c projects/arm_eabi/sys/kern/sys_process.c projects/arm_eabi/sys/kern/uipc_syscalls.c projects/arm_eabi/sys/kern/vfs_syscalls.c projects/arm_eabi/sys/kern/vfs_vnops.c projects/arm_eabi/sys/mips/include/pmap.h projects/arm_eabi/sys/mips/mips/pmap.c projects/arm_eabi/sys/mips/mips/trap.c projects/arm_eabi/sys/modules/cam/Makefile projects/arm_eabi/sys/net/bpf_zerocopy.c projects/arm_eabi/sys/net/flowtable.c projects/arm_eabi/sys/net/if_llatbl.c projects/arm_eabi/sys/net/if_llatbl.h projects/arm_eabi/sys/net/if_loop.c projects/arm_eabi/sys/net/if_var.h projects/arm_eabi/sys/net80211/ieee80211.h projects/arm_eabi/sys/net80211/ieee80211_hwmp.c projects/arm_eabi/sys/netgraph/ng_pptpgre.c projects/arm_eabi/sys/netinet/if_ether.c projects/arm_eabi/sys/netinet/in.c projects/arm_eabi/sys/netinet/in_cksum.c projects/arm_eabi/sys/netinet/ip_dummynet.h projects/arm_eabi/sys/netinet/ipfw/dummynet.txt projects/arm_eabi/sys/netinet/ipfw/ip_dn_io.c projects/arm_eabi/sys/netinet/ipfw/ip_dummynet.c projects/arm_eabi/sys/netinet/ipfw/ip_fw2.c projects/arm_eabi/sys/netinet/ipfw/ip_fw_dynamic.c projects/arm_eabi/sys/netinet/ipfw/ip_fw_log.c projects/arm_eabi/sys/netinet/sctp_bsd_addr.c projects/arm_eabi/sys/netinet/sctp_input.c projects/arm_eabi/sys/netinet/sctp_pcb.c projects/arm_eabi/sys/netinet/tcp_timer.c projects/arm_eabi/sys/netinet6/in6.c projects/arm_eabi/sys/netinet6/ip6_ipsec.c projects/arm_eabi/sys/netinet6/ip6_output.c projects/arm_eabi/sys/nfsclient/nfs_bio.c projects/arm_eabi/sys/ofed/include/linux/gfp.h projects/arm_eabi/sys/powerpc/conf/GENERIC projects/arm_eabi/sys/powerpc/conf/GENERIC64 projects/arm_eabi/sys/powerpc/powerpc/busdma_machdep.c projects/arm_eabi/sys/sparc64/include/pmap.h projects/arm_eabi/sys/sparc64/sparc64/pmap.c projects/arm_eabi/sys/sys/bus.h projects/arm_eabi/sys/sys/pipe.h projects/arm_eabi/sys/ufs/ffs/ffs_vnops.c projects/arm_eabi/sys/vm/device_pager.c projects/arm_eabi/sys/vm/sg_pager.c projects/arm_eabi/sys/vm/vm_page.c projects/arm_eabi/sys/vm/vm_page.h projects/arm_eabi/sys/vm/vm_pageout.c projects/arm_eabi/sys/vm/vnode_pager.c projects/arm_eabi/sys/x86/x86/busdma_machdep.c projects/arm_eabi/sys/x86/x86/local_apic.c projects/arm_eabi/sys/x86/x86/tsc.c projects/arm_eabi/tools/regression/lib/libc/gen/Makefile projects/arm_eabi/tools/tools/ath/ath_prom_read/Makefile projects/arm_eabi/tools/tools/ath/athaggrstats/Makefile projects/arm_eabi/tools/tools/ath/athratestats/main.c projects/arm_eabi/tools/tools/ath/athstats/Makefile projects/arm_eabi/tools/tools/ath/common/ah_osdep.h projects/arm_eabi/tools/tools/netmap/pkt-gen.c projects/arm_eabi/usr.bin/calendar/calendars/calendar.freebsd projects/arm_eabi/usr.bin/find/main.c projects/arm_eabi/usr.bin/make/var.c projects/arm_eabi/usr.bin/script/script.1 projects/arm_eabi/usr.bin/script/script.c projects/arm_eabi/usr.sbin/ctladm/ctladm.c projects/arm_eabi/usr.sbin/portsnap/portsnap/portsnap.8 projects/arm_eabi/usr.sbin/portsnap/portsnap/portsnap.sh Directory Properties: projects/arm_eabi/ (props changed) projects/arm_eabi/cddl/contrib/opensolaris/ (props changed) projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/arm_eabi/contrib/compiler-rt/ (props changed) projects/arm_eabi/contrib/libarchive/ (props changed) projects/arm_eabi/contrib/libarchive/libarchive/ (props changed) projects/arm_eabi/contrib/libarchive/tar/ (props changed) projects/arm_eabi/contrib/llvm/ (props changed) projects/arm_eabi/contrib/llvm/tools/clang/ (props changed) projects/arm_eabi/lib/libc/ (props changed) projects/arm_eabi/sbin/ (props changed) projects/arm_eabi/sbin/ipfw/ (props changed) projects/arm_eabi/share/man/man4/ (props changed) projects/arm_eabi/sys/ (props changed) projects/arm_eabi/sys/boot/ (props changed) projects/arm_eabi/sys/cddl/contrib/opensolaris/ (props changed) projects/arm_eabi/sys/conf/ (props changed) projects/arm_eabi/usr.bin/calendar/ (props changed) Modified: projects/arm_eabi/Makefile.inc1 ============================================================================== --- projects/arm_eabi/Makefile.inc1 Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/Makefile.inc1 Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/bin/sh/jobs.c ============================================================================== --- projects/arm_eabi/bin/sh/jobs.c Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/bin/sh/jobs.c Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/bin/sh/trap.c ============================================================================== --- projects/arm_eabi/bin/sh/trap.c Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/bin/sh/trap.c Fri Aug 10 09:04:02 2012 (r239172) @@ -368,6 +368,14 @@ ignoresig(int signo) } +int +issigchldtrapped(void) +{ + + return (trap[SIGCHLD] != NULL && *trap[SIGCHLD] != '\0'); +} + + /* * Signal handler. */ Modified: projects/arm_eabi/bin/sh/trap.h ============================================================================== --- projects/arm_eabi/bin/sh/trap.h Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/bin/sh/trap.h Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool.8 ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool.8 Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/cddl/contrib/opensolaris/lib/libdtrace/common/dt_proc.c Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c ============================================================================== --- projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_status.c Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/cddl/lib/libzfs/Makefile ============================================================================== --- projects/arm_eabi/cddl/lib/libzfs/Makefile Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/cddl/lib/libzfs/Makefile Fri Aug 10 09:04:02 2012 (r239172) @@ -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/arm_eabi/contrib/compiler-rt/LICENSE.TXT ============================================================================== --- projects/arm_eabi/contrib/compiler-rt/LICENSE.TXT Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/contrib/compiler-rt/LICENSE.TXT Fri Aug 10 09:04:02 2012 (r239172) @@ -94,5 +94,4 @@ licenses, and/or restrictions: Program Directory ------- --------- -sysinfo lib/asan/sysinfo -mach_override lib/asan/mach_override +mach_override lib/interception/mach_override Modified: projects/arm_eabi/contrib/compiler-rt/lib/absvti2.c ============================================================================== --- projects/arm_eabi/contrib/compiler-rt/lib/absvti2.c Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/contrib/compiler-rt/lib/absvti2.c Fri Aug 10 09:04:02 2012 (r239172) @@ -12,10 +12,10 @@ * ===----------------------------------------------------------------------=== */ -#if __x86_64 - #include "int_lib.h" +#if __x86_64 + /* Returns: absolute value */ /* Effects: aborts if abs(x) < 0 */ Modified: projects/arm_eabi/contrib/compiler-rt/lib/adddf3.c ============================================================================== --- projects/arm_eabi/contrib/compiler-rt/lib/adddf3.c Fri Aug 10 05:47:04 2012 (r239171) +++ projects/arm_eabi/contrib/compiler-rt/lib/adddf3.c Fri Aug 10 09:04:02 2012 (r239172) @@ -15,7 +15,7 @@ #define DOUBLE_PRECISION #include "fp_lib.h" -ARM_EABI_FNALIAS(dadd, adddf3); +ARM_EABI_FNALIAS(dadd, adddf3) COMPILER_RT_ABI fp_t __adddf3(fp_t a, fp_t b) { @@ -85,7 +85,7 @@ __adddf3(fp_t a, fp_t b) { // Shift the significand of b by the difference in exponents, with a sticky // bottom bit to get rounding correct. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201208100904.q7A943l9014310>