From owner-svn-src-projects@FreeBSD.ORG Sat Mar 9 11:57:57 2013 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id 30AA198C; Sat, 9 Mar 2013 11:57:57 +0000 (UTC) (envelope-from mm@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 03AFCBD6; Sat, 9 Mar 2013 11:57:57 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r29BvuYe038519; Sat, 9 Mar 2013 11:57:56 GMT (envelope-from mm@svn.freebsd.org) Received: (from mm@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r29Bvpfj038487; Sat, 9 Mar 2013 11:57:51 GMT (envelope-from mm@svn.freebsd.org) Message-Id: <201303091157.r29Bvpfj038487@svn.freebsd.org> From: Martin Matuska Date: Sat, 9 Mar 2013 11:57:51 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r248094 - in projects/libzfs_core: . cddl/contrib/opensolaris/cmd/zdb cddl/contrib/opensolaris/tools/ctf/cvt contrib/libyaml contrib/openpam/doc/man contrib/openpam/lib crypto/openssh e... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 09 Mar 2013 11:57:57 -0000 Author: mm Date: Sat Mar 9 11:57:51 2013 New Revision: 248094 URL: http://svnweb.freebsd.org/changeset/base/248094 Log: MFC @248093 Added: projects/libzfs_core/contrib/libyaml/ - copied from r248093, head/contrib/libyaml/ projects/libzfs_core/lib/libyaml/ - copied from r248093, head/lib/libyaml/ projects/libzfs_core/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c - copied unchanged from r248093, head/sys/cddl/compat/opensolaris/kern/opensolaris_vm.c projects/libzfs_core/sys/cddl/compat/opensolaris/sys/freebsd_rwlock.h - copied unchanged from r248093, head/sys/cddl/compat/opensolaris/sys/freebsd_rwlock.h projects/libzfs_core/sys/cddl/compat/opensolaris/sys/vm.h - copied unchanged from r248093, head/sys/cddl/compat/opensolaris/sys/vm.h projects/libzfs_core/sys/dev/drm2/drm_global.c - copied unchanged from r248093, head/sys/dev/drm2/drm_global.c projects/libzfs_core/sys/dev/drm2/drm_global.h - copied unchanged from r248093, head/sys/dev/drm2/drm_global.h projects/libzfs_core/sys/dev/drm2/ttm/ - copied from r248093, head/sys/dev/drm2/ttm/ projects/libzfs_core/usr.bin/truss/arm-fbsd.c - copied unchanged from r248093, head/usr.bin/truss/arm-fbsd.c projects/libzfs_core/usr.sbin/pkg/config.c - copied unchanged from r248093, head/usr.sbin/pkg/config.c projects/libzfs_core/usr.sbin/pkg/config.h - copied unchanged from r248093, head/usr.sbin/pkg/config.h Deleted: projects/libzfs_core/sbin/mount_ext2fs/ projects/libzfs_core/sbin/mount_reiserfs/ projects/libzfs_core/sbin/mount_std/ Modified: projects/libzfs_core/UPDATING projects/libzfs_core/cddl/contrib/opensolaris/cmd/zdb/zdb.c projects/libzfs_core/cddl/contrib/opensolaris/tools/ctf/cvt/output.c projects/libzfs_core/contrib/openpam/doc/man/openpam_straddch.3 projects/libzfs_core/contrib/openpam/lib/openpam_readline.c projects/libzfs_core/contrib/openpam/lib/openpam_readword.c projects/libzfs_core/crypto/openssh/FREEBSD-upgrade projects/libzfs_core/crypto/openssh/config.h projects/libzfs_core/etc/portsnap.conf projects/libzfs_core/lib/Makefile projects/libzfs_core/lib/libc/string/Makefile.inc projects/libzfs_core/lib/libstand/Makefile projects/libzfs_core/lib/libutil/gr_util.c projects/libzfs_core/lib/libutil/libutil.h projects/libzfs_core/sbin/geom/class/raid/graid.8 projects/libzfs_core/sbin/ipfw/ipfw2.c projects/libzfs_core/sbin/mount_cd9660/mount_cd9660.8 projects/libzfs_core/sbin/mount_cd9660/mount_cd9660.c projects/libzfs_core/sbin/mount_msdosfs/mount_msdosfs.c projects/libzfs_core/sbin/mount_nfs/mount_nfs.c projects/libzfs_core/sbin/mount_nullfs/mount_nullfs.c projects/libzfs_core/sbin/mount_udf/Makefile projects/libzfs_core/sbin/mount_udf/mount_udf.c projects/libzfs_core/sbin/mount_unionfs/mount_unionfs.c projects/libzfs_core/share/man/man4/eventtimers.4 projects/libzfs_core/share/man/man4/zyd.4 projects/libzfs_core/share/man/man7/development.7 projects/libzfs_core/share/man/man7/ports.7 projects/libzfs_core/share/man/man9/Makefile projects/libzfs_core/share/man/man9/condvar.9 projects/libzfs_core/share/man/man9/sleep.9 projects/libzfs_core/share/man/man9/sleepqueue.9 projects/libzfs_core/share/man/man9/timeout.9 projects/libzfs_core/share/mk/bsd.libnames.mk projects/libzfs_core/sys/amd64/amd64/machdep.c projects/libzfs_core/sys/amd64/amd64/pmap.c projects/libzfs_core/sys/amd64/conf/GENERIC projects/libzfs_core/sys/amd64/conf/NOTES projects/libzfs_core/sys/arm/arm/busdma_machdep-v6.c projects/libzfs_core/sys/arm/arm/cpufunc_asm_arm11x6.S projects/libzfs_core/sys/arm/arm/machdep.c projects/libzfs_core/sys/arm/arm/pmap-v6.c projects/libzfs_core/sys/arm/arm/pmap.c projects/libzfs_core/sys/arm/arm/swtch.S projects/libzfs_core/sys/arm/arm/vm_machdep.c projects/libzfs_core/sys/arm/broadcom/bcm2835/bcm2835_dma.c projects/libzfs_core/sys/arm/include/frame.h projects/libzfs_core/sys/cam/ctl/ctl.c projects/libzfs_core/sys/cddl/compat/opensolaris/sys/vnode.h projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_context.h projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/libzfs_core/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c projects/libzfs_core/sys/compat/linprocfs/linprocfs.c projects/libzfs_core/sys/conf/NOTES projects/libzfs_core/sys/conf/files projects/libzfs_core/sys/conf/files.amd64 projects/libzfs_core/sys/conf/files.i386 projects/libzfs_core/sys/conf/options projects/libzfs_core/sys/contrib/altq/altq/altq_hfsc.c projects/libzfs_core/sys/contrib/altq/altq/altq_hfsc.h projects/libzfs_core/sys/dev/agp/agp.c projects/libzfs_core/sys/dev/agp/agp_i810.c projects/libzfs_core/sys/dev/ath/if_ath.c projects/libzfs_core/sys/dev/ath/if_ath_tx.c projects/libzfs_core/sys/dev/drm/drmP.h projects/libzfs_core/sys/dev/drm2/drmP.h projects/libzfs_core/sys/dev/drm2/drm_drv.c projects/libzfs_core/sys/dev/drm2/drm_fb_helper.c projects/libzfs_core/sys/dev/drm2/drm_gem.c projects/libzfs_core/sys/dev/drm2/drm_mm.c projects/libzfs_core/sys/dev/drm2/drm_mm.h projects/libzfs_core/sys/dev/drm2/i915/i915_gem.c projects/libzfs_core/sys/dev/hwpmc/hwpmc_mod.c projects/libzfs_core/sys/dev/hwpmc/hwpmc_soft.c projects/libzfs_core/sys/dev/ixgbe/LICENSE projects/libzfs_core/sys/dev/ixgbe/ixgbe.c projects/libzfs_core/sys/dev/ixgbe/ixgbe_82598.c projects/libzfs_core/sys/dev/ixgbe/ixgbe_82599.c projects/libzfs_core/sys/dev/ixgbe/ixgbe_82599.h projects/libzfs_core/sys/dev/ixgbe/ixgbe_api.c projects/libzfs_core/sys/dev/ixgbe/ixgbe_api.h projects/libzfs_core/sys/dev/ixgbe/ixgbe_common.c projects/libzfs_core/sys/dev/ixgbe/ixgbe_common.h projects/libzfs_core/sys/dev/ixgbe/ixgbe_mbx.h projects/libzfs_core/sys/dev/ixgbe/ixgbe_osdep.h projects/libzfs_core/sys/dev/ixgbe/ixgbe_phy.c projects/libzfs_core/sys/dev/ixgbe/ixgbe_phy.h projects/libzfs_core/sys/dev/ixgbe/ixgbe_type.h projects/libzfs_core/sys/dev/ixgbe/ixgbe_vf.c projects/libzfs_core/sys/dev/ixgbe/ixgbe_vf.h projects/libzfs_core/sys/dev/ixgbe/ixgbe_x540.c projects/libzfs_core/sys/dev/ixgbe/ixgbe_x540.h projects/libzfs_core/sys/dev/ixgbe/ixv.c projects/libzfs_core/sys/dev/md/md.c projects/libzfs_core/sys/dev/netmap/netmap.c projects/libzfs_core/sys/dev/nvme/nvme.c projects/libzfs_core/sys/dev/nvme/nvme_ctrlr.c projects/libzfs_core/sys/dev/oce/oce_hw.c projects/libzfs_core/sys/dev/oce/oce_hw.h projects/libzfs_core/sys/dev/oce/oce_if.c projects/libzfs_core/sys/dev/oce/oce_if.h projects/libzfs_core/sys/dev/oce/oce_mbox.c projects/libzfs_core/sys/dev/oce/oce_queue.c projects/libzfs_core/sys/dev/oce/oce_sysctl.c projects/libzfs_core/sys/dev/oce/oce_util.c projects/libzfs_core/sys/dev/random/randomdev_soft.c projects/libzfs_core/sys/dev/sound/pci/hda/hdaa_patches.c projects/libzfs_core/sys/dev/sound/pci/hda/hdac.h projects/libzfs_core/sys/dev/sound/pci/hda/hdacc.c projects/libzfs_core/sys/dev/sound/pcm/dsp.c projects/libzfs_core/sys/dev/syscons/syscons.c projects/libzfs_core/sys/dev/syscons/syscons.h projects/libzfs_core/sys/dev/virtio/block/virtio_blk.c projects/libzfs_core/sys/fs/fuse/fuse_io.c projects/libzfs_core/sys/fs/fuse/fuse_vnops.c projects/libzfs_core/sys/fs/nfsclient/nfs_clbio.c projects/libzfs_core/sys/fs/nfsclient/nfs_clnode.c projects/libzfs_core/sys/fs/nfsclient/nfs_clvnops.c projects/libzfs_core/sys/fs/nfsserver/nfs_nfsdport.c projects/libzfs_core/sys/fs/procfs/procfs_map.c projects/libzfs_core/sys/fs/tmpfs/tmpfs_subr.c projects/libzfs_core/sys/fs/tmpfs/tmpfs_vnops.c projects/libzfs_core/sys/geom/label/g_label_ntfs.c projects/libzfs_core/sys/geom/part/g_part.c projects/libzfs_core/sys/geom/part/g_part.h projects/libzfs_core/sys/geom/part/g_part_mbr.c projects/libzfs_core/sys/geom/raid/g_raid.c projects/libzfs_core/sys/geom/raid/md_ddf.c projects/libzfs_core/sys/i386/conf/GENERIC projects/libzfs_core/sys/i386/conf/NOTES projects/libzfs_core/sys/i386/i386/machdep.c projects/libzfs_core/sys/i386/i386/pmap.c projects/libzfs_core/sys/i386/xen/pmap.c projects/libzfs_core/sys/ia64/ia64/machdep.c projects/libzfs_core/sys/ia64/ia64/pmap.c projects/libzfs_core/sys/kern/imgact_elf.c projects/libzfs_core/sys/kern/kern_clock.c projects/libzfs_core/sys/kern/kern_clocksource.c projects/libzfs_core/sys/kern/kern_condvar.c projects/libzfs_core/sys/kern/kern_event.c projects/libzfs_core/sys/kern/kern_exec.c projects/libzfs_core/sys/kern/kern_intr.c projects/libzfs_core/sys/kern/kern_proc.c projects/libzfs_core/sys/kern/kern_resource.c projects/libzfs_core/sys/kern/kern_sharedpage.c projects/libzfs_core/sys/kern/kern_shutdown.c projects/libzfs_core/sys/kern/kern_synch.c projects/libzfs_core/sys/kern/kern_tc.c projects/libzfs_core/sys/kern/kern_time.c projects/libzfs_core/sys/kern/kern_timeout.c projects/libzfs_core/sys/kern/subr_log.c projects/libzfs_core/sys/kern/subr_param.c projects/libzfs_core/sys/kern/subr_sleepqueue.c projects/libzfs_core/sys/kern/subr_uio.c projects/libzfs_core/sys/kern/subr_witness.c projects/libzfs_core/sys/kern/sys_generic.c projects/libzfs_core/sys/kern/sys_process.c projects/libzfs_core/sys/kern/sysv_shm.c projects/libzfs_core/sys/kern/uipc_shm.c projects/libzfs_core/sys/kern/uipc_syscalls.c projects/libzfs_core/sys/kern/vfs_aio.c projects/libzfs_core/sys/kern/vfs_bio.c projects/libzfs_core/sys/kern/vfs_cluster.c projects/libzfs_core/sys/kern/vfs_default.c projects/libzfs_core/sys/kern/vfs_subr.c projects/libzfs_core/sys/kern/vfs_syscalls.c projects/libzfs_core/sys/kern/vfs_vnops.c projects/libzfs_core/sys/mips/mips/machdep.c projects/libzfs_core/sys/mips/mips/pmap.c projects/libzfs_core/sys/modules/ath/Makefile projects/libzfs_core/sys/modules/drm2/drm2/Makefile projects/libzfs_core/sys/modules/uart/Makefile projects/libzfs_core/sys/modules/zfs/Makefile projects/libzfs_core/sys/net/if.c projects/libzfs_core/sys/net/route.c projects/libzfs_core/sys/net/route.h projects/libzfs_core/sys/net80211/ieee80211.c projects/libzfs_core/sys/net80211/ieee80211_freebsd.c projects/libzfs_core/sys/net80211/ieee80211_freebsd.h projects/libzfs_core/sys/net80211/ieee80211_hostap.c projects/libzfs_core/sys/net80211/ieee80211_ht.c projects/libzfs_core/sys/net80211/ieee80211_hwmp.c projects/libzfs_core/sys/net80211/ieee80211_mesh.c projects/libzfs_core/sys/net80211/ieee80211_output.c projects/libzfs_core/sys/net80211/ieee80211_power.c projects/libzfs_core/sys/net80211/ieee80211_proto.h projects/libzfs_core/sys/net80211/ieee80211_superg.c projects/libzfs_core/sys/net80211/ieee80211_var.h projects/libzfs_core/sys/net80211/ieee80211_wds.c projects/libzfs_core/sys/netinet/siftr.c projects/libzfs_core/sys/netinet/tcp_timer.c projects/libzfs_core/sys/nfsclient/nfs_bio.c projects/libzfs_core/sys/nfsclient/nfs_vnops.c projects/libzfs_core/sys/nfsserver/nfs_serv.c projects/libzfs_core/sys/ofed/drivers/infiniband/core/umem.c projects/libzfs_core/sys/ofed/include/linux/linux_compat.c projects/libzfs_core/sys/pc98/pc98/machdep.c projects/libzfs_core/sys/powerpc/aim/machdep.c projects/libzfs_core/sys/powerpc/aim/mmu_oea.c projects/libzfs_core/sys/powerpc/aim/mmu_oea64.c projects/libzfs_core/sys/powerpc/booke/machdep.c projects/libzfs_core/sys/powerpc/booke/pmap.c projects/libzfs_core/sys/security/mac/mac_process.c projects/libzfs_core/sys/sparc64/conf/GENERIC projects/libzfs_core/sys/sparc64/pci/psycho.c projects/libzfs_core/sys/sparc64/sparc64/machdep.c projects/libzfs_core/sys/sparc64/sparc64/pmap.c projects/libzfs_core/sys/sys/_callout.h projects/libzfs_core/sys/sys/callout.h projects/libzfs_core/sys/sys/condvar.h projects/libzfs_core/sys/sys/diskmbr.h projects/libzfs_core/sys/sys/mutex.h projects/libzfs_core/sys/sys/param.h projects/libzfs_core/sys/sys/pmckern.h projects/libzfs_core/sys/sys/rwlock.h projects/libzfs_core/sys/sys/sleepqueue.h projects/libzfs_core/sys/sys/sx.h projects/libzfs_core/sys/sys/systm.h projects/libzfs_core/sys/sys/time.h projects/libzfs_core/sys/ufs/ffs/ffs_rawread.c projects/libzfs_core/sys/ufs/ffs/ffs_vnops.c projects/libzfs_core/sys/vm/default_pager.c projects/libzfs_core/sys/vm/device_pager.c projects/libzfs_core/sys/vm/phys_pager.c projects/libzfs_core/sys/vm/sg_pager.c projects/libzfs_core/sys/vm/swap_pager.c projects/libzfs_core/sys/vm/uma_core.c projects/libzfs_core/sys/vm/vm_fault.c projects/libzfs_core/sys/vm/vm_glue.c projects/libzfs_core/sys/vm/vm_init.c projects/libzfs_core/sys/vm/vm_kern.c projects/libzfs_core/sys/vm/vm_map.c projects/libzfs_core/sys/vm/vm_meter.c projects/libzfs_core/sys/vm/vm_mmap.c projects/libzfs_core/sys/vm/vm_object.c projects/libzfs_core/sys/vm/vm_object.h projects/libzfs_core/sys/vm/vm_page.c projects/libzfs_core/sys/vm/vm_pageout.c projects/libzfs_core/sys/vm/vm_pager.c projects/libzfs_core/sys/vm/vm_pager.h projects/libzfs_core/sys/vm/vm_reserv.c projects/libzfs_core/sys/vm/vnode_pager.c projects/libzfs_core/tools/make_libdeps.sh projects/libzfs_core/tools/tools/cxgbetool/cxgbetool.c projects/libzfs_core/usr.bin/Makefile.arm projects/libzfs_core/usr.bin/c89/c89.c projects/libzfs_core/usr.bin/c99/c99.c projects/libzfs_core/usr.bin/truss/extern.h projects/libzfs_core/usr.bin/truss/main.c projects/libzfs_core/usr.sbin/bhyve/acpi.c projects/libzfs_core/usr.sbin/bhyve/pci_virtio_block.c projects/libzfs_core/usr.sbin/bhyve/pci_virtio_net.c projects/libzfs_core/usr.sbin/pkg/Makefile projects/libzfs_core/usr.sbin/pkg/pkg.c projects/libzfs_core/usr.sbin/rtadvd/rtadvd.c projects/libzfs_core/usr.sbin/tzsetup/tzsetup.c Directory Properties: projects/libzfs_core/ (props changed) projects/libzfs_core/cddl/contrib/opensolaris/ (props changed) projects/libzfs_core/contrib/openpam/ (props changed) projects/libzfs_core/crypto/openssh/ (props changed) projects/libzfs_core/lib/libc/ (props changed) projects/libzfs_core/lib/libutil/ (props changed) projects/libzfs_core/sbin/ (props changed) projects/libzfs_core/sbin/ipfw/ (props changed) projects/libzfs_core/share/man/man4/ (props changed) projects/libzfs_core/sys/ (props changed) projects/libzfs_core/sys/cddl/contrib/opensolaris/ (props changed) projects/libzfs_core/sys/conf/ (props changed) projects/libzfs_core/usr.sbin/bhyve/ (props changed) projects/libzfs_core/usr.sbin/rtadvd/ (props changed) Modified: projects/libzfs_core/UPDATING ============================================================================== --- projects/libzfs_core/UPDATING Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/UPDATING Sat Mar 9 11:57:51 2013 (r248094) @@ -26,6 +26,23 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20130308: + CTL_DISABLE has also been added to the sparc64 GENERIC (for further + information, see the respective 20130304 entry). + +20130304: + Recent commits to callout(9) changed the size of struct callout, + so the KBI is probably heavily disturbed. Also, some functions + in callout(9)/sleep(9)/sleepqueue(9)/condvar(9) KPIs were replaced + by macros. Every kernel module using it won't load, so rebuild + is requested. + + The ctl device has been re-enabled in GENERIC for i386 and amd64, + but does not initialize by default (because of the new CTL_DISABLE + option) to save memory. To re-enable it, remove the CTL_DISABLE + option from the kernel config file or set kern.cam.ctl.disable=0 + in /boot/loader.conf. + 20130301: The ctl device has been disabled in GENERIC for i386 and amd64. This was done due to the extra memory being allocated at system Modified: projects/libzfs_core/cddl/contrib/opensolaris/cmd/zdb/zdb.c ============================================================================== --- projects/libzfs_core/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/cddl/contrib/opensolaris/cmd/zdb/zdb.c Sat Mar 9 11:57:51 2013 (r248094) @@ -1220,7 +1220,7 @@ dump_bpobj_cb(void *arg, const blkptr_t } static void -dump_bpobj(bpobj_t *bpo, char *name) +dump_bpobj(bpobj_t *bpo, char *name, int indent) { char bytes[32]; char comp[32]; @@ -1230,31 +1230,56 @@ dump_bpobj(bpobj_t *bpo, char *name) return; zdb_nicenum(bpo->bpo_phys->bpo_bytes, bytes); - if (bpo->bpo_havesubobj) { + if (bpo->bpo_havesubobj && bpo->bpo_phys->bpo_subobjs != 0) { zdb_nicenum(bpo->bpo_phys->bpo_comp, comp); zdb_nicenum(bpo->bpo_phys->bpo_uncomp, uncomp); - (void) printf("\n %s: %llu local blkptrs, %llu subobjs, " - "%s (%s/%s comp)\n", - name, (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, + (void) printf(" %*s: object %llu, %llu local blkptrs, " + "%llu subobjs, %s (%s/%s comp)\n", + indent * 8, name, + (u_longlong_t)bpo->bpo_object, + (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, (u_longlong_t)bpo->bpo_phys->bpo_num_subobjs, bytes, comp, uncomp); + + for (uint64_t i = 0; i < bpo->bpo_phys->bpo_num_subobjs; i++) { + uint64_t subobj; + bpobj_t subbpo; + int error; + VERIFY0(dmu_read(bpo->bpo_os, + bpo->bpo_phys->bpo_subobjs, + i * sizeof (subobj), sizeof (subobj), &subobj, 0)); + error = bpobj_open(&subbpo, bpo->bpo_os, subobj); + if (error != 0) { + (void) printf("ERROR %u while trying to open " + "subobj id %llu\n", + error, (u_longlong_t)subobj); + continue; + } + dump_bpobj(&subbpo, "subobj", indent + 1); + } } else { - (void) printf("\n %s: %llu blkptrs, %s\n", - name, (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, bytes); + (void) printf(" %*s: object %llu, %llu blkptrs, %s\n", + indent * 8, name, + (u_longlong_t)bpo->bpo_object, + (u_longlong_t)bpo->bpo_phys->bpo_num_blkptrs, + bytes); } if (dump_opt['d'] < 5) return; - (void) printf("\n"); - (void) bpobj_iterate_nofree(bpo, dump_bpobj_cb, NULL, NULL); + if (indent == 0) { + (void) bpobj_iterate_nofree(bpo, dump_bpobj_cb, NULL, NULL); + (void) printf("\n"); + } } static void dump_deadlist(dsl_deadlist_t *dl) { dsl_deadlist_entry_t *dle; + uint64_t unused; char bytes[32]; char comp[32]; char uncomp[32]; @@ -1273,14 +1298,24 @@ dump_deadlist(dsl_deadlist_t *dl) (void) printf("\n"); + /* force the tree to be loaded */ + dsl_deadlist_space_range(dl, 0, UINT64_MAX, &unused, &unused, &unused); + for (dle = avl_first(&dl->dl_tree); dle; dle = AVL_NEXT(&dl->dl_tree, dle)) { - (void) printf(" mintxg %llu -> obj %llu\n", - (longlong_t)dle->dle_mintxg, - (longlong_t)dle->dle_bpobj.bpo_object); + if (dump_opt['d'] >= 5) { + char buf[128]; + (void) snprintf(buf, sizeof (buf), "mintxg %llu -> ", + (longlong_t)dle->dle_mintxg, + (longlong_t)dle->dle_bpobj.bpo_object); - if (dump_opt['d'] >= 5) - dump_bpobj(&dle->dle_bpobj, ""); + dump_bpobj(&dle->dle_bpobj, buf, 0); + } else { + (void) printf("mintxg %llu -> obj %llu\n", + (longlong_t)dle->dle_mintxg, + (longlong_t)dle->dle_bpobj.bpo_object); + + } } } @@ -1303,7 +1338,7 @@ fuid_table_destroy() * print uid or gid information. * For normal POSIX id just the id is printed in decimal format. * For CIFS files with FUID the fuid is printed in hex followed by - * the doman-rid string. + * the domain-rid string. */ static void print_idstr(uint64_t id, const char *id_type) @@ -2560,10 +2595,11 @@ dump_zpool(spa_t *spa) if (dump_opt['d'] || dump_opt['i']) { dump_dir(dp->dp_meta_objset); if (dump_opt['d'] >= 3) { - dump_bpobj(&spa->spa_deferred_bpobj, "Deferred frees"); + dump_bpobj(&spa->spa_deferred_bpobj, + "Deferred frees", 0); if (spa_version(spa) >= SPA_VERSION_DEADLISTS) { dump_bpobj(&spa->spa_dsl_pool->dp_free_bpobj, - "Pool snapshot frees"); + "Pool snapshot frees", 0); } if (spa_feature_is_active(spa, Modified: projects/libzfs_core/cddl/contrib/opensolaris/tools/ctf/cvt/output.c ============================================================================== --- projects/libzfs_core/cddl/contrib/opensolaris/tools/ctf/cvt/output.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/cddl/contrib/opensolaris/tools/ctf/cvt/output.c Sat Mar 9 11:57:51 2013 (r248094) @@ -363,6 +363,7 @@ sort_iidescs(Elf *elf, const char *file, for (i = 0; i < nent; i++) { GElf_Sym sym; + char *bname; iidesc_t **tolist; GElf_Sym ssym; iidesc_match_t smatch; @@ -377,7 +378,8 @@ sort_iidescs(Elf *elf, const char *file, switch (GELF_ST_TYPE(sym.st_info)) { case STT_FILE: - match.iim_file = match.iim_name; + bname = strrchr(match.iim_name, '/'); + match.iim_file = bname == NULL ? match.iim_name : bname + 1; continue; case STT_OBJECT: tolist = iiburst->iib_objts; Modified: projects/libzfs_core/contrib/openpam/doc/man/openpam_straddch.3 ============================================================================== --- projects/libzfs_core/contrib/openpam/doc/man/openpam_straddch.3 Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/contrib/openpam/doc/man/openpam_straddch.3 Sat Mar 9 11:57:51 2013 (r248094) @@ -34,7 +34,7 @@ .\" .\" $Id$ .\" -.Dd May 26, 2012 +.Dd March 3, 2013 .Dt OPENPAM_STRADDCH 3 .Os .Sh NAME @@ -73,6 +73,21 @@ and argument point to variables used to hold the size of the buffer and the length of the string it contains, respectively. .Pp +The final argument, +.Fa ch , +is the character that should be appended to +the string. If +.Fa ch +is 0, nothing is appended, but a new buffer is +still allocated if +.Fa str +is NULL. This can be used to +.Do +bootstrap +.Dc +the +string. +.Pp If a new buffer is allocated or an existing buffer is reallocated to make room for the additional character, .Fa str @@ -91,7 +106,9 @@ If the function is successful, it increments the integer variable pointed to by .Fa len -and returns 0. +(unless +.Fa ch +was 0) and returns 0. Otherwise, it leaves the variables pointed to by .Fa str , .Fa size Modified: projects/libzfs_core/contrib/openpam/lib/openpam_readline.c ============================================================================== --- projects/libzfs_core/contrib/openpam/lib/openpam_readline.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/contrib/openpam/lib/openpam_readline.c Sat Mar 9 11:57:51 2013 (r248094) @@ -62,11 +62,9 @@ openpam_readline(FILE *f, int *lineno, s size_t len, size; int ch; - if ((line = malloc(size = MIN_LINE_LENGTH)) == NULL) { - openpam_log(PAM_LOG_ERROR, "malloc(): %m"); + line = NULL; + if (openpam_straddch(&line, &size, &len, 0) != 0) return (NULL); - } - len = 0; for (;;) { ch = fgetc(f); /* strip comment */ Modified: projects/libzfs_core/contrib/openpam/lib/openpam_readword.c ============================================================================== --- projects/libzfs_core/contrib/openpam/lib/openpam_readword.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/contrib/openpam/lib/openpam_readword.c Sat Mar 9 11:57:51 2013 (r248094) @@ -86,13 +86,8 @@ openpam_readword(FILE *f, int *lineno, s /* begin quote */ quote = ch; /* edge case: empty quoted string */ - if (word == NULL && (word = malloc(1)) == NULL) { - openpam_log(PAM_LOG_ERROR, "malloc(): %m"); - errno = ENOMEM; + if (openpam_straddch(&word, &size, &len, 0) != 0) return (NULL); - } - *word = '\0'; - size = 1; } else if (ch == quote && !escape) { /* end quote */ quote = 0; Modified: projects/libzfs_core/crypto/openssh/FREEBSD-upgrade ============================================================================== --- projects/libzfs_core/crypto/openssh/FREEBSD-upgrade Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/crypto/openssh/FREEBSD-upgrade Sat Mar 9 11:57:51 2013 (r248094) @@ -43,6 +43,7 @@ 7) Run configure with the appropriate arguments: $ ./configure --prefix=/usr --sysconfdir=/etc/ssh \ + --disable-lastlog --disable-utmp --disable-wtmp \ --with-pam --with-tcp-wrappers --with-libedit \ --with-ssl-engine Modified: projects/libzfs_core/crypto/openssh/config.h ============================================================================== --- projects/libzfs_core/crypto/openssh/config.h Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/crypto/openssh/config.h Sat Mar 9 11:57:51 2013 (r248094) @@ -17,6 +17,9 @@ /* Define if your resolver libs need this for getrrsetbyname */ /* #undef BIND_8_COMPAT */ +/* The system has incomplete BSM API */ +/* #undef BROKEN_BSM_API */ + /* Define if cmsg_type is not passed correctly */ /* #undef BROKEN_CMSG_TYPE */ @@ -97,7 +100,7 @@ /* #undef DISABLE_FD_PASSING */ /* Define if you don't want to use lastlog */ -/* #undef DISABLE_LASTLOG */ +#define DISABLE_LASTLOG 1 /* Define if you don't want to use your system's login() call */ /* #undef DISABLE_LOGIN */ @@ -307,7 +310,7 @@ #define HAVE_DECL__GETSHORT 0 /* Define if you have /dev/ptmx */ -#define HAVE_DEV_PTMX 1 +/* #undef HAVE_DEV_PTMX */ /* Define if you have /dev/ptc */ /* #undef HAVE_DEV_PTS_AND_PTC */ @@ -316,7 +319,7 @@ #define HAVE_DIRENT_H 1 /* Define to 1 if you have the `dirfd' function. */ -/* #undef HAVE_DIRFD */ +#define HAVE_DIRFD 1 /* Define to 1 if you have the `dirname' function. */ #define HAVE_DIRNAME 1 @@ -501,6 +504,9 @@ /* Define if HEADER.ad exists in arpa/nameser.h */ #define HAVE_HEADER_AD 1 +/* Define to 1 if you have the `HMAC_CTX_init' function. */ +#define HAVE_HMAC_CTX_INIT 1 + /* Define if you have ut_host in utmp.h */ /* #undef HAVE_HOST_IN_UTMP */ @@ -552,6 +558,9 @@ /* Define to 1 if you have the header file. */ /* #undef HAVE_LASTLOG_H */ +/* Define if you want ldns support */ +/* #undef HAVE_LDNS */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_LIBAUDIT_H */ @@ -594,10 +603,19 @@ /* Define to 1 if you have the header file. */ #define HAVE_LIMITS_H 1 +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LINUX_AUDIT_H */ + +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LINUX_FILTER_H */ + /* Define to 1 if you have the header file. */ /* #undef HAVE_LINUX_IF_TUN_H */ -/* Define if your libraries define login() */ +/* Define to 1 if you have the header file. */ +/* #undef HAVE_LINUX_SECCOMP_H */ + +/* Define to 1 if you have the `login' function. */ /* #undef HAVE_LOGIN */ /* Define to 1 if you have the header file. */ @@ -805,6 +823,9 @@ /* Define to 1 if you have the `setgroups' function. */ #define HAVE_SETGROUPS 1 +/* Define to 1 if you have the `setlinebuf' function. */ +#define HAVE_SETLINEBUF 1 + /* Define to 1 if you have the `setlogin' function. */ #define HAVE_SETLOGIN 1 @@ -931,6 +952,9 @@ /* Define to 1 if you have the `strmode' function. */ #define HAVE_STRMODE 1 +/* Define to 1 if you have the `strnlen' function. */ +#define HAVE_STRNLEN 1 + /* Define to 1 if you have the `strnvis' function. */ /* #undef HAVE_STRNVIS */ @@ -1172,7 +1196,7 @@ /* #undef HAVE_VHANGUP */ /* Define to 1 if you have the header file. */ -#define HAVE_VIS_H 1 +/* #undef HAVE_VIS_H */ /* Define to 1 if you have the `vsnprintf' function. */ #define HAVE_VSNPRINTF 1 @@ -1351,15 +1375,21 @@ /* Sandbox using setrlimit(2) */ #define SANDBOX_RLIMIT 1 +/* Sandbox using seccomp filter */ +/* #undef SANDBOX_SECCOMP_FILTER */ + +/* setrlimit RLIMIT_FSIZE works */ +/* #undef SANDBOX_SKIP_RLIMIT_FSIZE */ + /* Sandbox using systrace(4) */ /* #undef SANDBOX_SYSTRACE */ +/* Specify the system call convention in use */ +/* #undef SECCOMP_AUDIT_ARCH */ + /* Define if your platform breaks doing a seteuid before a setuid */ /* #undef SETEUID_BREAKS_SETUID */ -/* The size of `char', as computed by sizeof. */ -#define SIZEOF_CHAR 1 - /* The size of `int', as computed by sizeof. */ #define SIZEOF_INT 4 @@ -1500,6 +1530,11 @@ /* Define if xauth is found in your path */ /* #undef XAUTH_PATH */ +/* Enable large inode numbers on Mac OS X 10.5. */ +#ifndef _DARWIN_USE_64_BIT_INODE +# define _DARWIN_USE_64_BIT_INODE 1 +#endif + /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ Modified: projects/libzfs_core/etc/portsnap.conf ============================================================================== --- projects/libzfs_core/etc/portsnap.conf Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/etc/portsnap.conf Sat Mar 9 11:57:51 2013 (r248094) @@ -30,6 +30,5 @@ KEYPRINT=9b5feee6d69f170e3dd0a2c8e469ddb # REFUSE korean polish portuguese russian ukrainian vietnamese # List of INDEX files to build and the DESCRIBE file to use for each -INDEX INDEX-7 DESCRIBE.7 INDEX INDEX-8 DESCRIBE.8 INDEX INDEX-9 DESCRIBE.9 Modified: projects/libzfs_core/lib/Makefile ============================================================================== --- projects/libzfs_core/lib/Makefile Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/lib/Makefile Sat Mar 9 11:57:51 2013 (r248094) @@ -119,6 +119,7 @@ SUBDIR= ${SUBDIR_ORDERED} \ ${_libvmmapi} \ libwrap \ liby \ + libyaml \ libz \ ${_atf} \ ${_bind} \ Modified: projects/libzfs_core/lib/libc/string/Makefile.inc ============================================================================== --- projects/libzfs_core/lib/libc/string/Makefile.inc Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/lib/libc/string/Makefile.inc Sat Mar 9 11:57:51 2013 (r248094) @@ -46,7 +46,8 @@ MLINKS+=strcasecmp.3 strncasecmp.3 \ strcasecmp.3 strcasecmp_l.3 \ strcasecmp.3 strncasecmp_l.3 MLINKS+=strcat.3 strncat.3 -MLINKS+=strchr.3 strrchr.3 +MLINKS+=strchr.3 strrchr.3 \ + strchr.3 strchrnul.3 MLINKS+=strcmp.3 strncmp.3 MLINKS+=strcoll.3 strcoll_l.3 MLINKS+=strcpy.3 stpcpy.3 \ Modified: projects/libzfs_core/lib/libstand/Makefile ============================================================================== --- projects/libzfs_core/lib/libstand/Makefile Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/lib/libstand/Makefile Sat Mar 9 11:57:51 2013 (r248094) @@ -67,6 +67,9 @@ SRCS+= divsi3.S .else # Compiler support functions .PATH: ${.CURDIR}/../../contrib/compiler-rt/lib/ +# __clzsi2 and ctzsi2 for various builtin functions +SRCS+= clzsi2.c ctzsi2.c +# Divide and modulus functions called by the compiler SRCS+= divmoddi4.c divmodsi4.c divdi3.c divsi3.c moddi3.c modsi3.c SRCS+= udivmoddi4.c udivmodsi4.c udivdi3.c udivsi3.c umoddi3.c umodsi3.c Modified: projects/libzfs_core/lib/libutil/gr_util.c ============================================================================== --- projects/libzfs_core/lib/libutil/gr_util.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/lib/libutil/gr_util.c Sat Mar 9 11:57:51 2013 (r248094) @@ -49,6 +49,8 @@ static char group_dir[PATH_MAX]; static char group_file[PATH_MAX]; static char tempname[PATH_MAX]; static int initialized; +static size_t grmemlen(const struct group *, const char *, int *); +static struct group *grcopy(const struct group *gr, struct group *newgr, const char *, int ndx); /* * Initialize statics @@ -429,90 +431,121 @@ gr_make(const struct group *gr) struct group * gr_dup(const struct group *gr) { + return (gr_add(gr, NULL)); +} +/* + * Add a new member name to a struct group. + */ +struct group * +gr_add(const struct group *gr, const char *newmember) +{ struct group *newgr; - char *dst; size_t len; - int ndx; int num_mem; - /* Calculate size of the group. */ - len = sizeof(*newgr); - if (gr->gr_name != NULL) - len += strlen(gr->gr_name) + 1; - if (gr->gr_passwd != NULL) - len += strlen(gr->gr_passwd) + 1; - if (gr->gr_mem != NULL) { - for (num_mem = 0; gr->gr_mem[num_mem] != NULL; num_mem++) - len += strlen(gr->gr_mem[num_mem]) + 1; - len += (num_mem + 1) * sizeof(*gr->gr_mem); - } else - num_mem = -1; + num_mem = 0; + len = grmemlen(gr, newmember, &num_mem); /* Create new group and copy old group into it. */ if ((newgr = malloc(len)) == NULL) return (NULL); - /* point new gr_mem to end of struct + 1 */ - if (gr->gr_mem != NULL) + return (grcopy(gr, newgr, newmember, num_mem)); +} + +/* It is safer to walk the pointers given at gr_mem since there is no + * guarantee the gr_mem + strings are continguous in the given struct group + * but compact the new group into the following form. + * + * The new struct is laid out like this in memory. The example given is + * for a group with two members only. + * + * { + * (char *name) + * (char *passwd) + * (int gid) + * (gr_mem * newgrp + sizeof(struct group) + sizeof(**)) points to gr_mem area + * gr_mem area + * (member1 *) + * (member2 *) + * (NULL) + * (name string) + * (passwd string) + * (member1 string) + * (member2 string) + * } + */ +/* + * Copy the guts of a group plus given name to a preallocated group struct + */ +static struct group * +grcopy(const struct group *gr, struct group *newgr, const char *name, int ndx) +{ + char *dst; + int i; + + if (name != NULL) + ndx++; + /* point new gr_mem to end of struct + 1 if there are names */ + if (ndx != 0) newgr->gr_mem = (char **)(newgr + 1); else newgr->gr_mem = NULL; /* point dst after the end of all the gr_mem pointers in newgr */ - dst = (char *)&newgr->gr_mem[num_mem + 1]; + dst = (char *)&newgr->gr_mem[ndx + 1]; if (gr->gr_name != NULL) { newgr->gr_name = dst; dst = stpcpy(dst, gr->gr_name) + 1; - } else { + } else newgr->gr_name = NULL; - } if (gr->gr_passwd != NULL) { newgr->gr_passwd = dst; dst = stpcpy(dst, gr->gr_passwd) + 1; - } else { + } else newgr->gr_passwd = NULL; - } newgr->gr_gid = gr->gr_gid; - if (gr->gr_mem != NULL) { - for (ndx = 0; ndx < num_mem; ndx++) { - newgr->gr_mem[ndx] = dst; - dst = stpcpy(dst, gr->gr_mem[ndx]) + 1; + if (ndx != 0) { + for (i = 0; gr->gr_mem[i] != NULL; i++) { + newgr->gr_mem[i] = dst; + dst = stpcpy(dst, gr->gr_mem[i]) + 1; + } + if (name != NULL) { + newgr->gr_mem[i++] = dst; + dst = stpcpy(dst, name) + 1; } - newgr->gr_mem[ndx] = NULL; + newgr->gr_mem[i] = NULL; } return (newgr); } /* - * Add a new member name to a struct group. + * Calculate length of a struct group + given name */ -struct group * -gr_add(struct group *gr, char *newmember) +static size_t +grmemlen(const struct group *gr, const char *name, int *num_mem) { - size_t mlen; - int num_mem=0; - char **members; - struct group *newgr; - - if (newmember == NULL) - return(gr_dup(gr)); + size_t len; + int i; + if (gr == NULL) + return (0); + /* Calculate size of the group. */ + len = sizeof(*gr); + if (gr->gr_name != NULL) + len += strlen(gr->gr_name) + 1; + if (gr->gr_passwd != NULL) + len += strlen(gr->gr_passwd) + 1; if (gr->gr_mem != NULL) { - for (num_mem = 0; gr->gr_mem[num_mem] != NULL; num_mem++) { - if (strcmp(gr->gr_mem[num_mem], newmember) == 0) { - errno = EEXIST; - return (NULL); - } + for (len = i = 0; gr->gr_mem[i] != NULL; i++) { + len += strlen(gr->gr_mem[i]) + 1; + len += sizeof(*gr->gr_mem); } + *num_mem = i; } - /* Allocate enough for current pointers + 1 more and NULL marker */ - mlen = (num_mem + 2) * sizeof(*gr->gr_mem); - if ((members = malloc(mlen)) == NULL) - return (NULL); - memcpy(members, gr->gr_mem, num_mem * sizeof(*gr->gr_mem)); - members[num_mem++] = newmember; - members[num_mem] = NULL; - gr->gr_mem = members; - newgr = gr_dup(gr); - free(members); - return (newgr); + if (name != NULL) { + len += strlen(name) + 1; + if (gr->gr_mem == NULL) + len += sizeof(*gr->gr_mem); + } + return(len); } /* Modified: projects/libzfs_core/lib/libutil/libutil.h ============================================================================== --- projects/libzfs_core/lib/libutil/libutil.h Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/lib/libutil/libutil.h Sat Mar 9 11:57:51 2013 (r248094) @@ -167,7 +167,7 @@ int gr_copy(int __ffd, int _tfd, const struct group * gr_dup(const struct group *_gr); struct group * - gr_add(struct group *_gr, char *_newmember); + gr_add(const struct group *_gr, const char *_newmember); int gr_equal(const struct group *_gr1, const struct group *_gr2); void gr_fini(void); int gr_init(const char *_dir, const char *_master); Modified: projects/libzfs_core/sbin/geom/class/raid/graid.8 ============================================================================== --- projects/libzfs_core/sbin/geom/class/raid/graid.8 Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/geom/class/raid/graid.8 Sat Mar 9 11:57:51 2013 (r248094) @@ -305,6 +305,9 @@ Write errors are always considered as di Time to wait for missing array components on startup. .It Va kern.geom.raid. Ns Ar X Ns Va .enable : No 1 Enable taste for specific metadata or transformation module. +.It Va kern.geom.raid.legacy_aliases : No 0 +Enable geom raid emulation of /dev/ar%d devices from ataraid(4) +This should aid the upgrade of systems from legacy to modern releases. .El .Sh EXIT STATUS Exit status is 0 on success, and non-zero if the command fails. Modified: projects/libzfs_core/sbin/ipfw/ipfw2.c ============================================================================== --- projects/libzfs_core/sbin/ipfw/ipfw2.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/ipfw/ipfw2.c Sat Mar 9 11:57:51 2013 (r248094) @@ -3083,9 +3083,14 @@ chkarg: } else { len = sizeof(c->max_log); if (sysctlbyname("net.inet.ip.fw.verbose_limit", - &c->max_log, &len, NULL, 0) == -1) + &c->max_log, &len, NULL, 0) == -1) { + if (co.test_only) { + c->max_log = 0; + break; + } errx(1, "sysctlbyname(\"%s\")", "net.inet.ip.fw.verbose_limit"); + } } } break; @@ -3986,9 +3991,13 @@ ipfw_table_handler(int ac, char *av[]) mask = 0; // XXX uninitialized ? len = sizeof(tables_max); if (sysctlbyname("net.inet.ip.fw.tables_max", &tables_max, &len, - NULL, 0) == -1) - errx(1, "Can't determine maximum number of ipfw tables. " - "Perhaps you forgot to load ipfw module?"); + NULL, 0) == -1) { + if (co.test_only) + tables_max = 128; /* Old conservative default */ + else + errx(1, "Can't determine maximum number of ipfw tables." + " Perhaps you forgot to load ipfw module?"); + } memset(&xent, 0, sizeof(xent)); Modified: projects/libzfs_core/sbin/mount_cd9660/mount_cd9660.8 ============================================================================== --- projects/libzfs_core/sbin/mount_cd9660/mount_cd9660.8 Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/mount_cd9660/mount_cd9660.8 Sat Mar 9 11:57:51 2013 (r248094) @@ -32,7 +32,7 @@ .\" @(#)mount_cd9660.8 8.3 (Berkeley) 3/27/94 .\" $FreeBSD$ .\" -.Dd October 3, 2005 +.Dd March 5, 2013 .Dt MOUNT_CD9660 8 .Os .Sh NAME @@ -80,7 +80,7 @@ See the man page for possible options and their meanings. The following cd9660 specific options are available: .Pp -.Bl -tag -width "nostrictjoliet" -compact +.Bl -tag -width "brokenjoliet" -compact .It Cm extatt Same as .Fl e . @@ -93,7 +93,7 @@ Same as .It Cm norrip Same as .Fl r . -.It Cm nostrictjoliet +.It Cm brokenjoliet Same as .Fl b . .El Modified: projects/libzfs_core/sbin/mount_cd9660/mount_cd9660.c ============================================================================== --- projects/libzfs_core/sbin/mount_cd9660/mount_cd9660.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/mount_cd9660/mount_cd9660.c Sat Mar 9 11:57:51 2013 (r248094) @@ -83,7 +83,7 @@ main(int argc, char **argv) { struct iovec *iov; int iovlen; - int ch, mntflags, opts; + int ch, mntflags; char *dev, *dir, *p, *val, mntpath[MAXPATHLEN]; int verbose; int ssector; /* starting sector, 0 for 1st session */ @@ -91,7 +91,7 @@ main(int argc, char **argv) iov = NULL; iovlen = 0; - mntflags = opts = verbose = 0; + mntflags = verbose = 0; ssector = -1; while ((ch = getopt(argc, argv, "begjo:rs:vC:")) != -1) @@ -109,7 +109,7 @@ main(int argc, char **argv) build_iovec(&iov, &iovlen, "nojoliet", NULL, (size_t)-1); break; case 'o': - getmntopts(optarg, mopts, &mntflags, &opts); + getmntopts(optarg, mopts, &mntflags, NULL); p = strchr(optarg, '='); val = NULL; if (p != NULL) { Modified: projects/libzfs_core/sbin/mount_msdosfs/mount_msdosfs.c ============================================================================== --- projects/libzfs_core/sbin/mount_msdosfs/mount_msdosfs.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/mount_msdosfs/mount_msdosfs.c Sat Mar 9 11:57:51 2013 (r248094) @@ -69,7 +69,7 @@ main(int argc, char **argv) struct iovec *iov = NULL; int iovlen = 0; struct stat sb; - int c, mntflags, set_gid, set_uid, set_mask, set_dirmask; + int c, set_gid, set_uid, set_mask, set_dirmask; char *dev, *dir, mntpath[MAXPATHLEN], *csp; char fstype[] = "msdosfs"; char errmsg[255] = {0}; @@ -78,9 +78,8 @@ main(int argc, char **argv) mode_t mask = 0, dirmask = 0; uid_t uid = 0; gid_t gid = 0; - getmnt_silent = 1; - mntflags = set_gid = set_uid = set_mask = set_dirmask = 0; + set_gid = set_uid = set_mask = set_dirmask = 0; while ((c = getopt(argc, argv, "sl9u:g:m:M:o:L:D:W:")) != -1) { switch (c) { @@ -219,7 +218,7 @@ main(int argc, char **argv) build_iovec_argf(&iov, &iovlen, "mask", "%u", mask); build_iovec_argf(&iov, &iovlen, "dirmask", "%u", dirmask); - if (nmount(iov, iovlen, mntflags) < 0) { + if (nmount(iov, iovlen, 0) < 0) { if (errmsg[0]) err(1, "%s: %s", dev, errmsg); else Modified: projects/libzfs_core/sbin/mount_nfs/mount_nfs.c ============================================================================== --- projects/libzfs_core/sbin/mount_nfs/mount_nfs.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/mount_nfs/mount_nfs.c Sat Mar 9 11:57:51 2013 (r248094) @@ -130,7 +130,7 @@ enum tryret { TRYRET_LOCALERR /* Local failure. */ }; -static int fallback_mount(struct iovec *iov, int iovlen, int mntflags); +static int fallback_mount(struct iovec *iov, int iovlen); static int sec_name_to_num(char *sec); static char *sec_num_to_name(int num); static int getnfsargs(char *, struct iovec **iov, int *iovlen); @@ -149,13 +149,12 @@ main(int argc, char *argv[]) { int c; struct iovec *iov; - int mntflags, num, iovlen; + int num, iovlen; int osversion; char *name, *p, *spec, *fstype; char mntpath[MAXPATHLEN], errmsg[255]; char hostname[MAXHOSTNAMELEN + 1], *gssname, gssn[MAXHOSTNAMELEN + 50]; - mntflags = 0; iov = NULL; iovlen = 0; memset(errmsg, 0, sizeof(errmsg)); @@ -427,10 +426,10 @@ main(int argc, char *argv[]) */ osversion = getosreldate(); if (osversion >= 702100) { - if (nmount(iov, iovlen, mntflags)) + if (nmount(iov, iovlen, 0)) err(1, "%s, %s", mntpath, errmsg); } else { - if (fallback_mount(iov, iovlen, mntflags)) + if (fallback_mount(iov, iovlen)) err(1, "%s, %s", mntpath, errmsg); } @@ -473,7 +472,7 @@ copyopt(struct iovec **newiov, int *newi * parameters. It should be eventually be removed. */ static int -fallback_mount(struct iovec *iov, int iovlen, int mntflags) +fallback_mount(struct iovec *iov, int iovlen) { struct nfs_args args = { .version = NFS_ARGSVERSION, @@ -663,7 +662,7 @@ fallback_mount(struct iovec *iov, int io copyopt(&newiov, &newiovlen, iov, iovlen, "fspath"); copyopt(&newiov, &newiovlen, iov, iovlen, "errmsg"); - return nmount(newiov, newiovlen, mntflags); + return nmount(newiov, newiovlen, 0); } static int Modified: projects/libzfs_core/sbin/mount_nullfs/mount_nullfs.c ============================================================================== --- projects/libzfs_core/sbin/mount_nullfs/mount_nullfs.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/mount_nullfs/mount_nullfs.c Sat Mar 9 11:57:51 2013 (r248094) @@ -68,12 +68,11 @@ main(int argc, char *argv[]) char source[MAXPATHLEN]; char target[MAXPATHLEN]; char errmsg[255]; - int ch, mntflags, iovlen; + int ch, iovlen; char nullfs[] = "nullfs"; iov = NULL; iovlen = 0; - mntflags = 0; errmsg[0] = '\0'; while ((ch = getopt(argc, argv, "o:")) != -1) switch(ch) { @@ -111,7 +110,7 @@ main(int argc, char *argv[]) build_iovec(&iov, &iovlen, "fspath", source, (size_t)-1); build_iovec(&iov, &iovlen, "target", target, (size_t)-1); build_iovec(&iov, &iovlen, "errmsg", errmsg, sizeof(errmsg)); - if (nmount(iov, iovlen, mntflags) < 0) { + if (nmount(iov, iovlen, 0) < 0) { if (errmsg[0] != 0) err(1, "%s: %s", source, errmsg); else Modified: projects/libzfs_core/sbin/mount_udf/Makefile ============================================================================== --- projects/libzfs_core/sbin/mount_udf/Makefile Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/mount_udf/Makefile Sat Mar 9 11:57:51 2013 (r248094) @@ -9,7 +9,6 @@ LDADD= -lkiconv MOUNT= ${.CURDIR}/../mount CFLAGS+= -I${MOUNT} -I${.CURDIR}/../../sys .PATH: ${MOUNT} -WARNS?= 1 # Needs to be dynamically linked for optional dlopen() access to # userland libiconv Modified: projects/libzfs_core/sbin/mount_udf/mount_udf.c ============================================================================== --- projects/libzfs_core/sbin/mount_udf/mount_udf.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/mount_udf/mount_udf.c Sat Mar 9 11:57:51 2013 (r248094) @@ -73,18 +73,19 @@ void usage(void); int main(int argc, char **argv) { - struct iovec iov[12]; - int ch, i, mntflags, opts, udf_flags; - char *dev, *dir, mntpath[MAXPATHLEN]; - char *cs_disk, *cs_local; - int verbose; + char mntpath[MAXPATHLEN]; + char fstype[] = "udf"; + struct iovec *iov; + char *cs_disk, *cs_local, *dev, *dir; + int ch, i, iovlen, mntflags, udf_flags, verbose; - i = mntflags = opts = udf_flags = verbose = 0; + i = iovlen = mntflags = udf_flags = verbose = 0; cs_disk = cs_local = NULL; + iov = NULL; while ((ch = getopt(argc, argv, "o:vC:")) != -1) switch (ch) { case 'o': - getmntopts(optarg, mopts, &mntflags, &opts); + getmntopts(optarg, mopts, &mntflags, NULL); break; case 'v': verbose++; @@ -120,32 +121,13 @@ main(int argc, char **argv) */ mntflags |= MNT_RDONLY; - iov[i].iov_base = "fstype"; - iov[i++].iov_len = sizeof("fstype"); - iov[i].iov_base = "udf"; - iov[i].iov_len = strlen(iov[i].iov_base) + 1; - i++; - iov[i].iov_base = "fspath"; - iov[i++].iov_len = sizeof("fspath"); - iov[i].iov_base = mntpath; - iov[i++].iov_len = strlen(mntpath) + 1; - iov[i].iov_base = "from"; - iov[i++].iov_len = sizeof("from"); - iov[i].iov_base = dev; - iov[i++].iov_len = strlen(dev) + 1; - iov[i].iov_base = "flags"; - iov[i++].iov_len = sizeof("flags"); - iov[i].iov_base = &udf_flags; - iov[i++].iov_len = sizeof(udf_flags); + build_iovec(&iov, &iovlen, "fstype", fstype, (size_t)-1); + build_iovec(&iov, &iovlen, "fspath", mntpath, (size_t)-1); + build_iovec(&iov, &iovlen, "from", dev, (size_t)-1); + build_iovec(&iov, &iovlen, "flags", &udf_flags, sizeof(udf_flags)); if (udf_flags & UDFMNT_KICONV) { - iov[i].iov_base = "cs_disk"; - iov[i++].iov_len = sizeof("cs_disk"); - iov[i].iov_base = cs_disk; - iov[i++].iov_len = strlen(cs_disk) + 1; - iov[i].iov_base = "cs_local"; - iov[i++].iov_len = sizeof("cs_local"); - iov[i].iov_base = cs_local; - iov[i++].iov_len = strlen(cs_local) + 1; + build_iovec(&iov, &iovlen, "cs_disk", cs_disk, (size_t)-1); + build_iovec(&iov, &iovlen, "cs_local", cs_local, (size_t)-1); } if (nmount(iov, i, mntflags) < 0) err(1, "%s", dev); Modified: projects/libzfs_core/sbin/mount_unionfs/mount_unionfs.c ============================================================================== --- projects/libzfs_core/sbin/mount_unionfs/mount_unionfs.c Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/sbin/mount_unionfs/mount_unionfs.c Sat Mar 9 11:57:51 2013 (r248094) @@ -129,7 +129,7 @@ int main(int argc, char *argv[]) { struct iovec *iov; - int ch, mntflags, iovlen; + int ch, iovlen; char source [MAXPATHLEN], target[MAXPATHLEN], errmsg[255]; char uid_str[20], gid_str[20]; char fstype[] = "unionfs"; @@ -137,7 +137,6 @@ main(int argc, char *argv[]) iov = NULL; iovlen = 0; - mntflags = 0; memset(errmsg, 0, sizeof(errmsg)); while ((ch = getopt(argc, argv, "bo:")) != -1) { @@ -190,7 +189,7 @@ main(int argc, char *argv[]) build_iovec(&iov, &iovlen, "from", target, (size_t)-1); build_iovec(&iov, &iovlen, "errmsg", errmsg, sizeof(errmsg)); - if (nmount(iov, iovlen, mntflags)) + if (nmount(iov, iovlen, 0)) err(EX_OSERR, "%s: %s", source, errmsg); exit(0); } Modified: projects/libzfs_core/share/man/man4/eventtimers.4 ============================================================================== --- projects/libzfs_core/share/man/man4/eventtimers.4 Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/share/man/man4/eventtimers.4 Sat Mar 9 11:57:51 2013 (r248094) @@ -143,14 +143,6 @@ By default this options is disabled. If chosen timer is per-CPU and runs in periodic mode, this option has no effect - all interrupts are always generating. -.It Va kern.eventtimer.activetick -makes each CPU to receive all kinds of timer interrupts when they are busy. -Disabling it allows to skip some -.Fn hardclock -calls in some cases. -By default this options is enabled. -If chosen timer is per-CPU, this option has no effect - all interrupts are -always generating, as timer reprogramming is too expensive for that case. .El .Sh SEE ALSO .Xr apic 4 , Modified: projects/libzfs_core/share/man/man4/zyd.4 ============================================================================== --- projects/libzfs_core/share/man/man4/zyd.4 Sat Mar 9 10:16:08 2013 (r248093) +++ projects/libzfs_core/share/man/man4/zyd.4 Sat Mar 9 11:57:51 2013 (r248094) @@ -32,7 +32,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF .\" THE POSSIBILITY OF SUCH DAMAGE. .\" -.Dd October 2, 2009 +.Dd March 7, 2013 .Dt ZYD 4 .Os .Sh NAME @@ -121,6 +121,7 @@ driver: *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***