From owner-svn-src-projects@FreeBSD.ORG Mon Sep 17 03:21:19 2012 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 019791065670; Mon, 17 Sep 2012 03:21:19 +0000 (UTC) (envelope-from attilio@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id DC9738FC14; Mon, 17 Sep 2012 03:21:18 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id q8H3LIsQ037702; Mon, 17 Sep 2012 03:21:18 GMT (envelope-from attilio@svn.freebsd.org) Received: (from attilio@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id q8H3LIHl037684; Mon, 17 Sep 2012 03:21:18 GMT (envelope-from attilio@svn.freebsd.org) Message-Id: <201209170321.q8H3LIHl037684@svn.freebsd.org> From: Attilio Rao Date: Mon, 17 Sep 2012 03:21:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r240593 - in projects/fuse: . bin/sh cddl/contrib/opensolaris/cmd/zfs cddl/contrib/opensolaris/cmd/zpool cddl/contrib/opensolaris/cmd/ztest cddl/contrib/opensolaris/lib/libuutil/common ... X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 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: Mon, 17 Sep 2012 03:21:19 -0000 Author: attilio Date: Mon Sep 17 03:21:17 2012 New Revision: 240593 URL: http://svn.freebsd.org/changeset/base/240593 Log: MFC Added: projects/fuse/sbin/pfctl/parse.y - copied unchanged from r240591, head/sbin/pfctl/parse.y projects/fuse/sbin/pfctl/pf_print_state.c - copied unchanged from r240591, head/sbin/pfctl/pf_print_state.c projects/fuse/sbin/pfctl/pfctl.8 - copied unchanged from r240591, head/sbin/pfctl/pfctl.8 projects/fuse/sbin/pfctl/pfctl.c - copied unchanged from r240591, head/sbin/pfctl/pfctl.c projects/fuse/sbin/pfctl/pfctl.h - copied unchanged from r240591, head/sbin/pfctl/pfctl.h projects/fuse/sbin/pfctl/pfctl_altq.c - copied unchanged from r240591, head/sbin/pfctl/pfctl_altq.c projects/fuse/sbin/pfctl/pfctl_optimize.c - copied unchanged from r240591, head/sbin/pfctl/pfctl_optimize.c projects/fuse/sbin/pfctl/pfctl_osfp.c - copied unchanged from r240591, head/sbin/pfctl/pfctl_osfp.c projects/fuse/sbin/pfctl/pfctl_parser.c - copied unchanged from r240591, head/sbin/pfctl/pfctl_parser.c projects/fuse/sbin/pfctl/pfctl_parser.h - copied unchanged from r240591, head/sbin/pfctl/pfctl_parser.h projects/fuse/sbin/pfctl/pfctl_qstats.c - copied unchanged from r240591, head/sbin/pfctl/pfctl_qstats.c projects/fuse/sbin/pfctl/pfctl_radix.c - copied unchanged from r240591, head/sbin/pfctl/pfctl_radix.c projects/fuse/sbin/pfctl/pfctl_table.c - copied unchanged from r240591, head/sbin/pfctl/pfctl_table.c projects/fuse/share/man/man4/pf.4 - copied unchanged from r240591, head/share/man/man4/pf.4 projects/fuse/share/man/man4/pflog.4 - copied unchanged from r240591, head/share/man/man4/pflog.4 projects/fuse/share/man/man4/pfsync.4 - copied unchanged from r240591, head/share/man/man4/pfsync.4 projects/fuse/share/man/man5/pf.conf.5 - copied unchanged from r240591, head/share/man/man5/pf.conf.5 projects/fuse/share/man/man5/pf.os.5 - copied unchanged from r240591, head/share/man/man5/pf.os.5 projects/fuse/share/mk/bsd.compiler.mk - copied unchanged from r240591, head/share/mk/bsd.compiler.mk projects/fuse/sys/arm/broadcom/bcm2835/dwc_otg_brcm.c - copied unchanged from r240591, head/sys/arm/broadcom/bcm2835/dwc_otg_brcm.c projects/fuse/sys/boot/fdt/dts/db78460.dts - copied unchanged from r240591, head/sys/boot/fdt/dts/db78460.dts projects/fuse/sys/cddl/compat/opensolaris/sys/assfail.h - copied unchanged from r240591, head/sys/cddl/compat/opensolaris/sys/assfail.h projects/fuse/sys/dev/cxgbe/firmware/t4fw-1.6.2.0.bin.uu - copied unchanged from r240591, head/sys/dev/cxgbe/firmware/t4fw-1.6.2.0.bin.uu projects/fuse/sys/net/if_pflog.h - copied unchanged from r240591, head/sys/net/if_pflog.h projects/fuse/sys/net/if_pfsync.h - copied unchanged from r240591, head/sys/net/if_pfsync.h projects/fuse/sys/net/pf_mtag.h - copied unchanged from r240591, head/sys/net/pf_mtag.h projects/fuse/sys/net/pfvar.h - copied unchanged from r240591, head/sys/net/pfvar.h projects/fuse/sys/netpfil/ - copied from r240591, head/sys/netpfil/ Deleted: projects/fuse/contrib/bzip2/Makefile projects/fuse/contrib/bzip2/Makefile-libbz2_so projects/fuse/contrib/bzip2/dlltest.c projects/fuse/contrib/bzip2/makefile.msc projects/fuse/contrib/pf/man/ projects/fuse/contrib/pf/pfctl/ projects/fuse/sbin/pfctl/missing/ projects/fuse/share/examples/cvsup/doc-supfile projects/fuse/share/examples/cvsup/www-supfile projects/fuse/sys/boot/fdt/dts/db88f78160.dts projects/fuse/sys/cam/scsi/scsi_low_pisa.c projects/fuse/sys/cam/scsi/scsi_low_pisa.h projects/fuse/sys/compat/netbsd/physio_proc.h projects/fuse/sys/contrib/pf/ projects/fuse/sys/netinet/ipfw/ projects/fuse/tools/diag/ac/ projects/fuse/tools/tools/backout_commit/ projects/fuse/tools/tools/mfc/ Modified: projects/fuse/MAINTAINERS (contents, props changed) projects/fuse/Makefile projects/fuse/Makefile.inc1 projects/fuse/ObsoleteFiles.inc projects/fuse/UPDATING projects/fuse/bin/sh/cd.c projects/fuse/bin/sh/eval.c projects/fuse/bin/sh/histedit.c projects/fuse/bin/sh/jobs.c projects/fuse/bin/sh/main.c projects/fuse/bin/sh/options.c projects/fuse/bin/sh/sh.1 projects/fuse/bin/sh/var.c projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c projects/fuse/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c projects/fuse/cddl/contrib/opensolaris/cmd/ztest/ztest.c projects/fuse/cddl/contrib/opensolaris/lib/libuutil/common/uu_misc.c projects/fuse/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_dataset.c projects/fuse/cddl/contrib/opensolaris/lib/libzpool/common/sys/zfs_context.h projects/fuse/cddl/lib/libzpool/Makefile projects/fuse/cddl/usr.bin/ztest/Makefile projects/fuse/cddl/usr.sbin/zdb/Makefile projects/fuse/cddl/usr.sbin/zhack/Makefile projects/fuse/contrib/bsnmp/snmpd/main.c projects/fuse/contrib/bsnmp/snmpd/trans_lsock.c projects/fuse/contrib/bsnmp/snmpd/trans_udp.c projects/fuse/contrib/byacc/CHANGES projects/fuse/contrib/byacc/VERSION projects/fuse/contrib/byacc/defs.h projects/fuse/contrib/byacc/lr0.c projects/fuse/contrib/byacc/main.c projects/fuse/contrib/byacc/mkpar.c projects/fuse/contrib/byacc/output.c projects/fuse/contrib/byacc/package/byacc.spec projects/fuse/contrib/byacc/package/debian/changelog projects/fuse/contrib/byacc/reader.c projects/fuse/contrib/byacc/symtab.c projects/fuse/contrib/byacc/verbose.c projects/fuse/contrib/bzip2/FREEBSD-Xlist projects/fuse/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/fuse/contrib/sendmail/include/libmilter/mfapi.h projects/fuse/contrib/tzdata/africa projects/fuse/contrib/tzdata/antarctica projects/fuse/contrib/tzdata/asia projects/fuse/contrib/tzdata/australasia projects/fuse/contrib/tzdata/backward projects/fuse/contrib/tzdata/etcetera projects/fuse/contrib/tzdata/europe projects/fuse/contrib/tzdata/factory projects/fuse/contrib/tzdata/leapseconds projects/fuse/contrib/tzdata/northamerica projects/fuse/contrib/tzdata/pacificnew projects/fuse/contrib/tzdata/southamerica projects/fuse/contrib/tzdata/systemv projects/fuse/contrib/tzdata/yearistype.sh projects/fuse/contrib/tzdata/zone.tab projects/fuse/crypto/openssl/crypto/opensslv.h projects/fuse/etc/rc.d/FILESYSTEMS projects/fuse/etc/rc.d/Makefile projects/fuse/etc/rc.d/addswap projects/fuse/etc/rc.d/amd projects/fuse/etc/rc.d/cleanvar projects/fuse/etc/rc.d/cron projects/fuse/etc/rc.d/dmesg projects/fuse/etc/rc.d/ftpd projects/fuse/etc/rc.d/inetd projects/fuse/etc/rc.d/ipmon projects/fuse/etc/rc.d/jail projects/fuse/etc/rc.d/ldconfig projects/fuse/etc/rc.d/mixer projects/fuse/etc/rc.d/mountcritremote projects/fuse/etc/rc.d/moused projects/fuse/etc/rc.d/mrouted projects/fuse/etc/rc.d/named projects/fuse/etc/rc.d/netif projects/fuse/etc/rc.d/newsyslog projects/fuse/etc/rc.d/ntpd projects/fuse/etc/rc.d/pflog projects/fuse/etc/rc.d/postrandom projects/fuse/etc/rc.d/power_profile projects/fuse/etc/rc.d/random projects/fuse/etc/rc.d/rarpd projects/fuse/etc/rc.d/resolv projects/fuse/etc/rc.d/sendmail projects/fuse/etc/rc.d/sshd projects/fuse/etc/rc.d/syslogd projects/fuse/etc/rc.d/utx projects/fuse/etc/rc.d/var projects/fuse/etc/rc.d/watchdogd projects/fuse/include/Makefile projects/fuse/include/mqueue.h projects/fuse/include/time.h projects/fuse/include/unistd.h projects/fuse/lib/libc/gen/rand48.3 projects/fuse/lib/libc/stdio/scanf_l.3 projects/fuse/lib/libc/stdlib/ptsname.3 projects/fuse/lib/libc/stdlib/ptsname.c projects/fuse/lib/libc/stdlib/random.3 projects/fuse/lib/libc/stdlib/realpath.c projects/fuse/lib/libc/sys/recv.2 projects/fuse/lib/libfetch/Makefile projects/fuse/lib/libfetch/file.c projects/fuse/lib/libfetch/http.c projects/fuse/lib/libkvm/kvm_i386.c projects/fuse/lib/libmagic/Makefile projects/fuse/lib/libmagic/config.h projects/fuse/lib/libpam/modules/pam_lastlog/pam_lastlog.8 projects/fuse/lib/libutil/humanize_number.c projects/fuse/lib/msun/i387/s_cos.S projects/fuse/lib/msun/i387/s_sin.S projects/fuse/lib/msun/i387/s_tan.S projects/fuse/lib/msun/man/cexp.3 projects/fuse/libexec/comsat/comsat.8 projects/fuse/libexec/ftpd/ftpd.8 projects/fuse/release/doc/de_DE.ISO8859-1/early-adopter/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/errata/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/alpha/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/i386/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/ia64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/pc98/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/hardware/sparc64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/alpha/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/install.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/common/layout.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/i386/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/ia64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/pc98/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/installation/sparc64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/readme/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/alpha/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/i386/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/ia64/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/pc98/article.sgml projects/fuse/release/doc/de_DE.ISO8859-1/relnotes/sparc64/article.sgml projects/fuse/release/doc/en_US.ISO8859-1/errata/article.sgml projects/fuse/release/doc/en_US.ISO8859-1/hardware/article.sgml projects/fuse/release/doc/en_US.ISO8859-1/readme/article.sgml projects/fuse/release/doc/en_US.ISO8859-1/relnotes/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/early-adopter/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/errata/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/alpha/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/common/dev.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/i386/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/ia64/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/pc98/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/hardware/sparc64/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/alpha/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/install.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/layout.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/trouble.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/common/upgrade.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/i386/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/pc98/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/sparc64/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/installation/sparc64/install.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/alpha/article.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/common/new.sgml projects/fuse/release/doc/fr_FR.ISO8859-1/relnotes/i386/article.sgml projects/fuse/release/generate-release.sh projects/fuse/sbin/fsck_ffs/fsck.h projects/fuse/sbin/fsck_ffs/fsutil.c projects/fuse/sbin/fsck_ffs/main.c projects/fuse/sbin/fsck_ffs/suj.c projects/fuse/sbin/geom/class/raid/graid.8 projects/fuse/sbin/ipfw/nat.c projects/fuse/sbin/pfctl/Makefile projects/fuse/share/examples/Makefile projects/fuse/share/examples/cvsup/cvs-supfile projects/fuse/share/examples/cvsup/refuse projects/fuse/share/examples/cvsup/refuse.README projects/fuse/share/examples/cvsup/stable-supfile projects/fuse/share/examples/diskless/README.BOOTP projects/fuse/share/examples/etc/make.conf projects/fuse/share/man/man3/Makefile projects/fuse/share/man/man3/queue.3 projects/fuse/share/man/man3/siginfo.3 projects/fuse/share/man/man3/sysexits.3 projects/fuse/share/man/man4/Makefile projects/fuse/share/man/man4/acpi.4 projects/fuse/share/man/man4/ip.4 projects/fuse/share/man/man5/Makefile projects/fuse/share/man/man5/make.conf.5 projects/fuse/share/man/man5/rc.conf.5 projects/fuse/share/man/man5/src.conf.5 projects/fuse/share/man/man7/hier.7 projects/fuse/share/man/man7/release.7 projects/fuse/share/man/man9/VFS.9 projects/fuse/share/man/man9/pfil.9 projects/fuse/share/misc/committers-doc.dot projects/fuse/share/misc/committers-ports.dot projects/fuse/share/misc/committers-src.dot projects/fuse/share/misc/organization.dot projects/fuse/share/mk/Makefile projects/fuse/share/mk/bsd.own.mk projects/fuse/share/mk/bsd.sys.mk projects/fuse/sys/amd64/amd64/pmap.c projects/fuse/sys/amd64/amd64/trap.c projects/fuse/sys/amd64/conf/GENERIC projects/fuse/sys/arm/arm/cpufunc.c projects/fuse/sys/arm/arm/identcpu.c projects/fuse/sys/arm/arm/pmap-v6.c projects/fuse/sys/arm/arm/pmap.c projects/fuse/sys/arm/arm/vm_machdep.c projects/fuse/sys/arm/broadcom/bcm2835/files.bcm2835 projects/fuse/sys/arm/conf/ARMADAXP projects/fuse/sys/arm/conf/BEAGLEBONE projects/fuse/sys/arm/conf/CNS11XXNAS projects/fuse/sys/arm/conf/DOCKSTAR projects/fuse/sys/arm/conf/EA3250 projects/fuse/sys/arm/conf/GUMSTIX-QEMU projects/fuse/sys/arm/conf/HL201 projects/fuse/sys/arm/conf/KB920X projects/fuse/sys/arm/conf/LN2410SBC projects/fuse/sys/arm/conf/PANDABOARD projects/fuse/sys/arm/conf/QILA9G20 projects/fuse/sys/arm/conf/RPI-B projects/fuse/sys/arm/conf/SAM9G20EK projects/fuse/sys/arm/conf/SAM9X25EK projects/fuse/sys/arm/conf/SHEEVAPLUG projects/fuse/sys/arm/conf/SN9G45 projects/fuse/sys/arm/conf/TS7800 projects/fuse/sys/arm/include/armreg.h projects/fuse/sys/arm/include/intr.h projects/fuse/sys/arm/mv/armadaxp/armadaxp.c projects/fuse/sys/arm/mv/common.c projects/fuse/sys/arm/mv/mpic.c projects/fuse/sys/arm/mv/mv_pci.c projects/fuse/sys/arm/mv/mvreg.h projects/fuse/sys/arm/mv/mvvar.h projects/fuse/sys/arm/mv/mvwin.h projects/fuse/sys/arm/mv/timer.c projects/fuse/sys/arm/tegra/common.c projects/fuse/sys/arm/tegra/std.tegra2 projects/fuse/sys/arm/tegra/tegra2_machdep.c projects/fuse/sys/arm/ti/cpsw/if_cpsw.c projects/fuse/sys/arm/ti/ti_scm.c projects/fuse/sys/boot/arm/uboot/Makefile projects/fuse/sys/boot/common/load_elf.c projects/fuse/sys/boot/common/module.c projects/fuse/sys/boot/common/part.c projects/fuse/sys/boot/i386/libi386/pxe.c projects/fuse/sys/boot/i386/libi386/pxe.h projects/fuse/sys/boot/i386/loader/conf.c projects/fuse/sys/boot/i386/loader/main.c projects/fuse/sys/boot/powerpc/uboot/Makefile projects/fuse/sys/boot/sparc64/loader/main.c projects/fuse/sys/boot/uboot/common/main.c projects/fuse/sys/boot/uboot/lib/Makefile projects/fuse/sys/boot/uboot/lib/devicename.c projects/fuse/sys/boot/uboot/lib/disk.c projects/fuse/sys/boot/uboot/lib/libuboot.h projects/fuse/sys/boot/zfs/zfs.c projects/fuse/sys/boot/zfs/zfsimpl.c projects/fuse/sys/cam/scsi/scsi_enc.c projects/fuse/sys/cam/scsi/scsi_low.c projects/fuse/sys/cam/scsi/scsi_low.h projects/fuse/sys/cddl/boot/zfs/zfsimpl.h projects/fuse/sys/cddl/compat/opensolaris/kern/opensolaris_cmn_err.c projects/fuse/sys/cddl/compat/opensolaris/sys/debug.h projects/fuse/sys/cddl/contrib/opensolaris/common/nvpair/fnvpair.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bptree.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dbuf.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_send.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_synctask.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/metaslab.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/space_map.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_micro.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_debug.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zio.c projects/fuse/sys/cddl/contrib/opensolaris/uts/common/sys/debug.h projects/fuse/sys/compat/linux/linux_file.c projects/fuse/sys/conf/Makefile.amd64 projects/fuse/sys/conf/Makefile.arm projects/fuse/sys/conf/Makefile.powerpc projects/fuse/sys/conf/files projects/fuse/sys/conf/files.amd64 projects/fuse/sys/conf/files.i386 projects/fuse/sys/conf/kern.mk projects/fuse/sys/conf/kern.pre.mk projects/fuse/sys/conf/kmod.mk projects/fuse/sys/conf/newvers.sh projects/fuse/sys/conf/options.amd64 projects/fuse/sys/conf/options.i386 projects/fuse/sys/contrib/altq/altq/altq_cbq.c projects/fuse/sys/contrib/altq/altq/altq_hfsc.c projects/fuse/sys/contrib/altq/altq/altq_priq.c projects/fuse/sys/contrib/altq/altq/altq_subr.c projects/fuse/sys/dev/acpica/acpi_hpet.c projects/fuse/sys/dev/ahci/ahci.c projects/fuse/sys/dev/altera/jtag_uart/altera_jtag_uart_cons.c projects/fuse/sys/dev/ath/ath_hal/ah.c projects/fuse/sys/dev/ath/ath_hal/ar5416/ar5416_attach.c projects/fuse/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c projects/fuse/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c projects/fuse/sys/dev/ath/ath_hal/ar5416/ar5416reg.h projects/fuse/sys/dev/ath/ath_hal/ar9002/ar9280.c projects/fuse/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c projects/fuse/sys/dev/ath/ath_rate/sample/sample.c projects/fuse/sys/dev/ath/if_ath.c projects/fuse/sys/dev/ath/if_ath_debug.h projects/fuse/sys/dev/ath/if_ath_tx.c projects/fuse/sys/dev/ath/if_ath_tx_ht.c projects/fuse/sys/dev/ath/if_athvar.h projects/fuse/sys/dev/buslogic/bt.c projects/fuse/sys/dev/ct/bshw_machdep.c projects/fuse/sys/dev/ct/ct.c projects/fuse/sys/dev/ct/ct_isa.c projects/fuse/sys/dev/ct/ct_machdep.h projects/fuse/sys/dev/ct/ctvar.h projects/fuse/sys/dev/cxgbe/common/common.h projects/fuse/sys/dev/cxgbe/firmware/t4fw_interface.h projects/fuse/sys/dev/cxgbe/osdep.h projects/fuse/sys/dev/cxgbe/t4_l2t.h projects/fuse/sys/dev/cxgbe/t4_main.c projects/fuse/sys/dev/cxgbe/tom/t4_ddp.c projects/fuse/sys/dev/drm2/drm_gem.c projects/fuse/sys/dev/drm2/i915/i915_drv.h projects/fuse/sys/dev/e1000/e1000_82575.c projects/fuse/sys/dev/e1000/e1000_ich8lan.c projects/fuse/sys/dev/fdt/fdt_common.c projects/fuse/sys/dev/fdt/fdt_common.h projects/fuse/sys/dev/fdt/fdt_pci.c projects/fuse/sys/dev/hwpmc/hwpmc_arm.c projects/fuse/sys/dev/hwpmc/hwpmc_x86.c projects/fuse/sys/dev/isci/scil/sati.c projects/fuse/sys/dev/isci/scil/sati_callbacks.h projects/fuse/sys/dev/isci/scil/sati_util.c projects/fuse/sys/dev/isci/scil/sati_write_buffer.c projects/fuse/sys/dev/isci/scil/sci_base_controller.h projects/fuse/sys/dev/isci/scil/sci_base_domain.h projects/fuse/sys/dev/isci/scil/sci_base_phy.h projects/fuse/sys/dev/isci/scil/sci_base_remote_device.h projects/fuse/sys/dev/isci/scil/scic_io_request.h projects/fuse/sys/dev/isci/scil/scic_sds_phy.c projects/fuse/sys/dev/isci/scil/scic_sds_port.h projects/fuse/sys/dev/isci/scil/scic_sds_remote_device.h projects/fuse/sys/dev/isci/scil/scic_sds_remote_node_context.h projects/fuse/sys/dev/isci/scil/scic_sds_request.c projects/fuse/sys/dev/isci/scil/scu_bios_definitions.h projects/fuse/sys/dev/isp/isp_freebsd.c projects/fuse/sys/dev/ixgbe/ixgbe.c projects/fuse/sys/dev/ixgbe/ixgbe_osdep.h projects/fuse/sys/dev/mps/mps_sas.c projects/fuse/sys/dev/ncv/ncr53c500.c projects/fuse/sys/dev/ncv/ncr53c500_pccard.c projects/fuse/sys/dev/ncv/ncr53c500hw.h projects/fuse/sys/dev/ncv/ncr53c500var.h projects/fuse/sys/dev/nsp/nsp.c projects/fuse/sys/dev/nsp/nsp_pccard.c projects/fuse/sys/dev/nsp/nspvar.h projects/fuse/sys/dev/pci/pcireg.h projects/fuse/sys/dev/random/ivy.c projects/fuse/sys/dev/random/probe.c projects/fuse/sys/dev/stg/tmc18c30.c projects/fuse/sys/dev/stg/tmc18c30_isa.c projects/fuse/sys/dev/stg/tmc18c30_pccard.c projects/fuse/sys/dev/stg/tmc18c30_pci.c projects/fuse/sys/dev/stg/tmc18c30_subr.c projects/fuse/sys/dev/stg/tmc18c30var.h projects/fuse/sys/dev/usb/controller/at91dci.c projects/fuse/sys/dev/usb/controller/at91dci_atmelarm.c projects/fuse/sys/dev/usb/controller/dwc_otg.c projects/fuse/sys/dev/usb/controller/dwc_otg.h projects/fuse/sys/dev/usb/controller/dwc_otgreg.h projects/fuse/sys/dev/usb/controller/usb_controller.c projects/fuse/sys/dev/usb/serial/ufoma.c projects/fuse/sys/dev/virtio/virtio.h projects/fuse/sys/dev/virtio/virtqueue.c projects/fuse/sys/dev/vxge/include/vxgehal-ll.h projects/fuse/sys/dev/xen/netback/netback_unit_tests.c projects/fuse/sys/fs/deadfs/dead_vnops.c projects/fuse/sys/fs/devfs/devfs_int.h projects/fuse/sys/fs/ext2fs/ext2_inode.c projects/fuse/sys/fs/nandfs/bmap.c projects/fuse/sys/fs/nfs/nfs_commonport.c projects/fuse/sys/fs/nfs/nfscl.h projects/fuse/sys/fs/nfsclient/nfs_clrpcops.c projects/fuse/sys/fs/ntfs/ntfs_vfsops.c projects/fuse/sys/fs/nullfs/null.h projects/fuse/sys/fs/nullfs/null_subr.c projects/fuse/sys/fs/nullfs/null_vfsops.c projects/fuse/sys/fs/nullfs/null_vnops.c projects/fuse/sys/geom/mirror/g_mirror.c projects/fuse/sys/geom/raid/g_raid.c projects/fuse/sys/geom/raid/g_raid.h projects/fuse/sys/geom/raid/md_ddf.c projects/fuse/sys/geom/raid/md_intel.c projects/fuse/sys/geom/raid/md_jmicron.c projects/fuse/sys/geom/raid/md_nvidia.c projects/fuse/sys/geom/raid/md_promise.c projects/fuse/sys/geom/raid/md_sii.c projects/fuse/sys/geom/raid/tr_concat.c projects/fuse/sys/geom/raid/tr_raid0.c projects/fuse/sys/geom/raid/tr_raid1.c projects/fuse/sys/geom/raid/tr_raid1e.c projects/fuse/sys/geom/raid/tr_raid5.c projects/fuse/sys/geom/raid3/g_raid3.c projects/fuse/sys/gnu/fs/xfs/FreeBSD/xfs_mountops.c projects/fuse/sys/i386/conf/GENERIC projects/fuse/sys/i386/i386/pmap.c projects/fuse/sys/i386/i386/trap.c projects/fuse/sys/i386/include/xen/xen-os.h projects/fuse/sys/i386/xen/pmap.c projects/fuse/sys/ia64/ia32/ia32_trap.c projects/fuse/sys/ia64/ia64/trap.c projects/fuse/sys/kern/kern_condvar.c projects/fuse/sys/kern/kern_exit.c projects/fuse/sys/kern/kern_fork.c projects/fuse/sys/kern/kern_lock.c projects/fuse/sys/kern/kern_mutex.c projects/fuse/sys/kern/kern_rmlock.c projects/fuse/sys/kern/kern_rwlock.c projects/fuse/sys/kern/kern_sig.c projects/fuse/sys/kern/kern_sx.c projects/fuse/sys/kern/kern_thread.c projects/fuse/sys/kern/sched_ule.c projects/fuse/sys/kern/subr_sleepqueue.c projects/fuse/sys/kern/subr_syscall.c projects/fuse/sys/kern/subr_trap.c projects/fuse/sys/kern/subr_turnstile.c projects/fuse/sys/kern/subr_unit.c projects/fuse/sys/kern/vfs_lookup.c projects/fuse/sys/kern/vfs_mount.c projects/fuse/sys/kern/vfs_subr.c projects/fuse/sys/libkern/jenkins_hash.c projects/fuse/sys/mips/mips/pmap.c projects/fuse/sys/mips/mips/trap.c projects/fuse/sys/modules/Makefile projects/fuse/sys/modules/cxgbe/firmware/Makefile projects/fuse/sys/modules/dummynet/Makefile projects/fuse/sys/modules/ipfw/Makefile projects/fuse/sys/modules/ipfw_nat/Makefile projects/fuse/sys/modules/pf/Makefile projects/fuse/sys/modules/pflog/Makefile projects/fuse/sys/modules/pfsync/Makefile projects/fuse/sys/modules/scsi_low/Makefile projects/fuse/sys/net/if.c projects/fuse/sys/net80211/ieee80211_mesh.c projects/fuse/sys/net80211/ieee80211_node.c projects/fuse/sys/netgraph/ng_ipfw.c projects/fuse/sys/netinet/in_gif.c projects/fuse/sys/netinet/ip_icmp.c projects/fuse/sys/netinet/raw_ip.c projects/fuse/sys/netinet/sctp_asconf.c projects/fuse/sys/netinet/sctp_input.c projects/fuse/sys/netinet/sctp_pcb.c projects/fuse/sys/netinet/sctputil.c projects/fuse/sys/netinet/tcp_subr.c projects/fuse/sys/netinet6/icmp6.c projects/fuse/sys/netinet6/in6_gif.c projects/fuse/sys/netipsec/ipsec_input.c projects/fuse/sys/netipsec/ipsec_output.c projects/fuse/sys/netipsec/key.c projects/fuse/sys/netipsec/xform_ipip.c projects/fuse/sys/powerpc/aim/trap.c projects/fuse/sys/powerpc/booke/trap.c projects/fuse/sys/powerpc/wii/wii_bus.c projects/fuse/sys/sparc64/sparc64/ata_machdep.c projects/fuse/sys/sparc64/sparc64/trap.c projects/fuse/sys/sys/cdefs.h projects/fuse/sys/sys/mbuf.h projects/fuse/sys/sys/mount.h projects/fuse/sys/sys/param.h projects/fuse/sys/sys/queue.h projects/fuse/sys/vm/vm_pageout.c projects/fuse/tools/build/Makefile projects/fuse/tools/diag/README projects/fuse/tools/kerneldoc/subsys/common-Doxyfile projects/fuse/tools/test/hwpmc/pmctest.py projects/fuse/tools/tools/README projects/fuse/tools/tools/ath/athratestats/Makefile projects/fuse/tools/tools/ath/athratestats/main.c projects/fuse/usr.bin/Makefile projects/fuse/usr.bin/calendar/calendars/calendar.freebsd projects/fuse/usr.bin/chat/chat.8 projects/fuse/usr.bin/fetch/Makefile projects/fuse/usr.bin/find/find.1 projects/fuse/usr.bin/finger/finger.1 projects/fuse/usr.bin/last/last.1 projects/fuse/usr.bin/last/last.c projects/fuse/usr.bin/lex/NEWS projects/fuse/usr.bin/mkcsmapper/lex.l projects/fuse/usr.bin/mkesdb/lex.l projects/fuse/usr.bin/ncplist/ncplist.1 projects/fuse/usr.bin/netstat/if.c projects/fuse/usr.bin/printf/printf.c projects/fuse/usr.bin/procstat/procstat_auxv.c projects/fuse/usr.bin/rctl/rctl.8 projects/fuse/usr.bin/sort/sort.1.in projects/fuse/usr.bin/stdbuf/Makefile projects/fuse/usr.bin/talk/talk.1 projects/fuse/usr.bin/truss/amd64-fbsd.c projects/fuse/usr.bin/truss/amd64-fbsd32.c projects/fuse/usr.bin/truss/amd64-linux32.c projects/fuse/usr.bin/truss/i386-fbsd.c projects/fuse/usr.bin/truss/i386-linux.c projects/fuse/usr.bin/truss/ia64-fbsd.c projects/fuse/usr.bin/truss/main.c projects/fuse/usr.bin/truss/mips-fbsd.c projects/fuse/usr.bin/truss/powerpc-fbsd.c projects/fuse/usr.bin/truss/powerpc64-fbsd.c projects/fuse/usr.bin/truss/setup.c projects/fuse/usr.bin/truss/sparc64-fbsd.c projects/fuse/usr.bin/truss/syscalls.c projects/fuse/usr.bin/truss/truss.h projects/fuse/usr.bin/users/users.1 projects/fuse/usr.bin/w/w.1 projects/fuse/usr.bin/xlint/lint1/makeman projects/fuse/usr.sbin/ac/ac.8 projects/fuse/usr.sbin/adduser/adduser.8 projects/fuse/usr.sbin/authpf/Makefile projects/fuse/usr.sbin/bsdconfig/networking/include/media.subr projects/fuse/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c projects/fuse/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swrun_tbl.c projects/fuse/usr.sbin/bsnmpd/modules/snmp_pf/BEGEMOT-PF-MIB.txt projects/fuse/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c projects/fuse/usr.sbin/bsnmpd/modules/snmp_pf/pf_tree.def projects/fuse/usr.sbin/ftp-proxy/ftp-proxy/Makefile projects/fuse/usr.sbin/jail/jail.8 projects/fuse/usr.sbin/lpr/lpd/printjob.c projects/fuse/usr.sbin/pciconf/cap.c projects/fuse/usr.sbin/pciconf/err.c projects/fuse/usr.sbin/pkg_install/add/add.h projects/fuse/usr.sbin/pkg_install/add/extract.c projects/fuse/usr.sbin/pkg_install/add/futil.c projects/fuse/usr.sbin/pkg_install/add/perform.c projects/fuse/usr.sbin/pkg_install/lib/lib.h projects/fuse/usr.sbin/ppp/ppp.8.m4 projects/fuse/usr.sbin/rpc.lockd/lockd_lock.c projects/fuse/usr.sbin/rwhod/rwhod.8 projects/fuse/usr.sbin/syslogd/syslog.conf.5 projects/fuse/usr.sbin/syslogd/syslogd.c projects/fuse/usr.sbin/tcpdump/tcpdump/tcpdump.1 projects/fuse/usr.sbin/timed/timed/timed.c Directory Properties: projects/fuse/ (props changed) projects/fuse/cddl/contrib/opensolaris/ (props changed) projects/fuse/cddl/contrib/opensolaris/cmd/zfs/ (props changed) projects/fuse/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/fuse/contrib/byacc/ (props changed) projects/fuse/contrib/bzip2/ (props changed) projects/fuse/contrib/llvm/ (props changed) projects/fuse/contrib/pf/ (props changed) projects/fuse/contrib/sendmail/ (props changed) projects/fuse/contrib/tzdata/ (props changed) projects/fuse/crypto/openssl/ (props changed) projects/fuse/lib/libc/ (props changed) projects/fuse/lib/libutil/ (props changed) projects/fuse/sbin/ (props changed) projects/fuse/sbin/ipfw/ (props changed) projects/fuse/share/man/man4/ (props changed) projects/fuse/sys/ (props changed) projects/fuse/sys/boot/ (props changed) projects/fuse/sys/cddl/contrib/opensolaris/ (props changed) projects/fuse/sys/conf/ (props changed) projects/fuse/usr.bin/calendar/ (props changed) projects/fuse/usr.bin/procstat/ (props changed) projects/fuse/usr.sbin/jail/ (props changed) Modified: projects/fuse/MAINTAINERS ============================================================================== --- projects/fuse/MAINTAINERS Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/MAINTAINERS Mon Sep 17 03:21:17 2012 (r240593) @@ -3,7 +3,7 @@ $FreeBSD$ Please note that the content of this file is strictly advisory. No locks listed here are valid. The only strict review requirements are granted by core. These are documented in head/LOCKS and enforced -by CVSROOT/approvers. +by svnadmin/conf/approvers. The source tree is a community effort. However, some folks go to the trouble of looking after particular areas of the tree. In return for Modified: projects/fuse/Makefile ============================================================================== --- projects/fuse/Makefile Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/Makefile Mon Sep 17 03:21:17 2012 (r240593) @@ -216,7 +216,7 @@ ${TGTS}: .MAIN: all STARTTIME!= LC_ALL=C date -CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s +CHECK_TIME!= find ${.CURDIR}/sys/sys/param.h -mtime -0s ; echo .if !empty(CHECK_TIME) .error check your date/time: ${STARTTIME} .endif Modified: projects/fuse/Makefile.inc1 ============================================================================== --- projects/fuse/Makefile.inc1 Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/Makefile.inc1 Mon Sep 17 03:21:17 2012 (r240593) @@ -46,6 +46,7 @@ TARGET_ARCH=${TARGET} .include .include +.include # We must do share/info early so that installation of info `dir' # entries works correctly. Do it first since it is less likely to @@ -235,7 +236,8 @@ BMAKEENV= INSTALL="sh ${.CURDIR}/tools/i PATH=${BPATH}:${PATH} \ WORLDTMP=${WORLDTMP} \ VERSION="${VERSION}" \ - MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" + MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}" \ + COMPILER_TYPE=${COMPILER_TYPE} BMAKE= MAKEOBJDIRPREFIX=${WORLDTMP} \ ${BMAKEENV} ${MAKE} -f Makefile.inc1 \ DESTDIR= \ @@ -270,6 +272,16 @@ WMAKEENV= ${CROSSENV} \ .if ${MK_CDDL} == "no" WMAKEENV+= NO_CTF=1 .endif +.if ${CC:T:Mgcc} == "gcc" +WMAKE_COMPILER_TYPE= gcc +.elif ${CC:T:Mclang} == "clang" +WMAKE_COMPILER_TYPE= clang +.elif ${MK_CLANG_IS_CC} == "no" +WMAKE_COMPILER_TYPE= gcc +.else +WMAKE_COMPILER_TYPE= clang +.endif +WMAKEENV+= COMPILER_TYPE=${WMAKE_COMPILER_TYPE} WMAKE= ${WMAKEENV} ${MAKE} -f Makefile.inc1 DESTDIR=${WORLDTMP} .if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64" @@ -313,7 +325,8 @@ LIB32WMAKEENV+= MAKEOBJDIRPREFIX=${OBJTR CC="${CC} ${LIB32FLAGS}" \ CXX="${CXX} ${LIB32FLAGS}" \ LIBDIR=/usr/lib32 \ - SHLIBDIR=/usr/lib32 + SHLIBDIR=/usr/lib32 \ + COMPILER_TYPE=${WMAKE_COMPILER_TYPE} LIB32WMAKE= ${LIB32WMAKEENV} ${MAKE} -DNO_CPU_CFLAGS -DCOMPAT_32BIT \ -DWITHOUT_BIND -DWITHOUT_MAN -DWITHOUT_INFO \ @@ -1558,7 +1571,7 @@ DTBOUTPUTPATH= ${KRNLOBJDIR}/${KERNCONF} .if !defined(FDT_DTS_FILE) || empty(FDT_DTS_FILE) .if exists(${KERNCONFDIR}/${KERNCONF}) FDT_DTS_FILE!= awk 'BEGIN {FS="="} /^makeoptions[[:space:]]+FDT_DTS_FILE/ {print $$2}' \ - ${KERNCONFDIR}/${KERNCONF} + ${KERNCONFDIR}/${KERNCONF} ; echo .endif .endif Modified: projects/fuse/ObsoleteFiles.inc ============================================================================== --- projects/fuse/ObsoleteFiles.inc Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/ObsoleteFiles.inc Mon Sep 17 03:21:17 2012 (r240593) @@ -38,6 +38,8 @@ # xargs -n1 | sort | uniq -d; # done +# 20120908: pf cleanup +OLD_FILES+=usr/include/net/if_pflow.h # 20120816: new clang import which bumps version from 3.1 to 3.2 OLD_FILES+=usr/bin/llvm-ld OLD_FILES+=usr/bin/llvm-stub Modified: projects/fuse/UPDATING ============================================================================== --- projects/fuse/UPDATING Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/UPDATING Mon Sep 17 03:21:17 2012 (r240593) @@ -24,6 +24,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 10 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20120908: + The pf(4) packet filter ABI has been changed. pfctl(8) and + snmp_pf module need to be recompiled to work with new kernel. + 20120828: A new ZFS feature flag "com.delphix:empty_bpobj" has been merged to -HEAD. Pools that have empty_bpobj in active state can not be Modified: projects/fuse/bin/sh/cd.c ============================================================================== --- projects/fuse/bin/sh/cd.c Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/bin/sh/cd.c Mon Sep 17 03:21:17 2012 (r240593) @@ -79,7 +79,7 @@ static char *prevdir; /* previous worki static char *cdcomppath; int -cdcmd(int argc, char **argv) +cdcmd(int argc __unused, char **argv __unused) { const char *dest; const char *path; @@ -89,9 +89,8 @@ cdcmd(int argc, char **argv) int rc; int errno1 = ENOENT; - optreset = 1; optind = 1; opterr = 0; /* initialize getopt */ phys = Pflag; - while ((ch = getopt(argc, argv, "eLP")) != -1) { + while ((ch = nextopt("eLP")) != '\0') { switch (ch) { case 'e': getcwderr = 1; @@ -102,18 +101,13 @@ cdcmd(int argc, char **argv) case 'P': phys = 1; break; - default: - error("unknown option: -%c", optopt); - break; } } - argc -= optind; - argv += optind; - if (argc > 1) + if (*argptr != NULL && argptr[1] != NULL) error("too many arguments"); - if ((dest = *argv) == NULL && (dest = bltinlookup("HOME", 1)) == NULL) + if ((dest = *argptr) == NULL && (dest = bltinlookup("HOME", 1)) == NULL) error("HOME not set"); if (*dest == '\0') dest = "."; @@ -330,14 +324,13 @@ updatepwd(char *dir) } int -pwdcmd(int argc, char **argv) +pwdcmd(int argc __unused, char **argv __unused) { char *p; int ch, phys; - optreset = 1; optind = 1; opterr = 0; /* initialize getopt */ phys = Pflag; - while ((ch = getopt(argc, argv, "LP")) != -1) { + while ((ch = nextopt("LP")) != '\0') { switch (ch) { case 'L': phys = 0; @@ -345,15 +338,10 @@ pwdcmd(int argc, char **argv) case 'P': phys = 1; break; - default: - error("unknown option: -%c", optopt); - break; } } - argc -= optind; - argv += optind; - if (argc != 0) + if (*argptr != NULL) error("too many arguments"); if (!phys && getpwd()) { Modified: projects/fuse/bin/sh/eval.c ============================================================================== --- projects/fuse/bin/sh/eval.c Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/bin/sh/eval.c Mon Sep 17 03:21:17 2012 (r240593) @@ -1223,7 +1223,7 @@ breakcmd(int argc, char **argv) * The `command' command. */ int -commandcmd(int argc, char **argv) +commandcmd(int argc __unused, char **argv __unused) { const char *path; int ch; @@ -1231,9 +1231,7 @@ commandcmd(int argc, char **argv) path = bltinlookup("PATH", 1); - optind = optreset = 1; - opterr = 0; - while ((ch = getopt(argc, argv, "pvV")) != -1) { + while ((ch = nextopt("pvV")) != '\0') { switch (ch) { case 'p': path = _PATH_STDPATH; @@ -1244,20 +1242,15 @@ commandcmd(int argc, char **argv) case 'V': cmd = TYPECMD_BIGV; break; - case '?': - default: - error("unknown option: -%c", optopt); } } - argc -= optind; - argv += optind; if (cmd != -1) { - if (argc != 1) + if (*argptr == NULL || argptr[1] != NULL) error("wrong number of arguments"); - return typecmd_impl(2, argv - 1, cmd, path); + return typecmd_impl(2, argptr - 1, cmd, path); } - if (argc != 0) + if (*argptr != NULL) error("commandcmd bad call"); /* Modified: projects/fuse/bin/sh/histedit.c ============================================================================== --- projects/fuse/bin/sh/histedit.c Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/bin/sh/histedit.c Mon Sep 17 03:21:17 2012 (r240593) @@ -182,7 +182,7 @@ setterm(const char *term) } int -histcmd(int argc, char **argv) +histcmd(int argc, char **argv __unused) { int ch; const char *editor = NULL; @@ -206,13 +206,10 @@ histcmd(int argc, char **argv) if (argc == 1) error("missing history argument"); - optreset = 1; optind = 1; /* initialize getopt */ - opterr = 0; - while (not_fcnumber(argv[optind]) && - (ch = getopt(argc, argv, ":e:lnrs")) != -1) + while (not_fcnumber(*argptr) && (ch = nextopt("e:lnrs")) != '\0') switch ((char)ch) { case 'e': - editor = optarg; + editor = shoptarg; break; case 'l': lflg = 1; @@ -226,13 +223,7 @@ histcmd(int argc, char **argv) case 's': sflg = 1; break; - case ':': - error("option -%c expects argument", optopt); - case '?': - default: - error("unknown option: -%c", optopt); } - argc -= optind, argv += optind; savehandler = handler; /* @@ -276,31 +267,26 @@ histcmd(int argc, char **argv) /* * If executing, parse [old=new] now */ - if (lflg == 0 && argc > 0 && - ((repl = strchr(argv[0], '=')) != NULL)) { - pat = argv[0]; + if (lflg == 0 && *argptr != NULL && + ((repl = strchr(*argptr, '=')) != NULL)) { + pat = *argptr; *repl++ = '\0'; - argc--, argv++; + argptr++; } /* * determine [first] and [last] */ - switch (argc) { - case 0: + if (*argptr == NULL) { firststr = lflg ? "-16" : "-1"; laststr = "-1"; - break; - case 1: - firststr = argv[0]; - laststr = lflg ? "-1" : argv[0]; - break; - case 2: - firststr = argv[0]; - laststr = argv[1]; - break; - default: + } else if (argptr[1] == NULL) { + firststr = argptr[0]; + laststr = lflg ? "-1" : argptr[0]; + } else if (argptr[2] == NULL) { + firststr = argptr[0]; + laststr = argptr[1]; + } else error("too many arguments"); - } /* * Turn into event numbers. */ Modified: projects/fuse/bin/sh/jobs.c ============================================================================== --- projects/fuse/bin/sh/jobs.c Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/bin/sh/jobs.c Mon Sep 17 03:21:17 2012 (r240593) @@ -250,15 +250,13 @@ restartjob(struct job *jp) int -jobscmd(int argc, char *argv[]) +jobscmd(int argc __unused, char *argv[] __unused) { char *id; int ch, mode; - optind = optreset = 1; - opterr = 0; mode = SHOWJOBS_DEFAULT; - while ((ch = getopt(argc, argv, "lps")) != -1) { + while ((ch = nextopt("lps")) != '\0') { switch (ch) { case 'l': mode = SHOWJOBS_VERBOSE; @@ -269,18 +267,13 @@ jobscmd(int argc, char *argv[]) case 's': mode = SHOWJOBS_PIDS; break; - case '?': - default: - error("unknown option: -%c", optopt); } } - argc -= optind; - argv += optind; - if (argc == 0) + if (*argptr == NULL) showjobs(0, mode); else - while ((id = *argv++) != NULL) + while ((id = *argptr++) != NULL) showjob(getjob(id), mode); return (0); Modified: projects/fuse/bin/sh/main.c ============================================================================== --- projects/fuse/bin/sh/main.c Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/bin/sh/main.c Mon Sep 17 03:21:17 2012 (r240593) @@ -266,14 +266,7 @@ read_profile(char *name) void readcmdfile(const char *name) { - int fd; - - INTOFF; - if ((fd = open(name, O_RDONLY)) >= 0) - setinputfd(fd, 1); - else - error("cannot open %s: %s", name, strerror(errno)); - INTON; + setinputfile(name, 1); cmdloop(0); popfile(); } Modified: projects/fuse/bin/sh/options.c ============================================================================== --- projects/fuse/bin/sh/options.c Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/bin/sh/options.c Mon Sep 17 03:21:17 2012 (r240593) @@ -531,10 +531,6 @@ out: } /* - * XXX - should get rid of. have all builtins use getopt(3). the - * library getopt must have the BSD extension static variable "optreset" - * otherwise it can't be used within the shell safely. - * * Standard option processing (a la getopt) for builtin routines. The * only argument that is passed to nextopt is the option string; the * other arguments are unnecessary. It return the character, or '\0' on Modified: projects/fuse/bin/sh/sh.1 ============================================================================== --- projects/fuse/bin/sh/sh.1 Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/bin/sh/sh.1 Mon Sep 17 03:21:17 2012 (r240593) @@ -487,8 +487,9 @@ and backslash The backslash inside double quotes is historically weird. It remains literal unless it precedes the following characters, which it serves to quote: +.Pp .Bl -column "XXX" "XXX" "XXX" "XXX" "XXX" -offset center -compact -.It Li $ Ta Li ` Ta Li \&" Ta Li \e\ Ta Li \en +.It Li $ Ta Li ` Ta Li \&" Ta Li \e Ta Li \en .El .It Backslash A backslash preserves the literal meaning of the following Modified: projects/fuse/bin/sh/var.c ============================================================================== --- projects/fuse/bin/sh/var.c Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/bin/sh/var.c Mon Sep 17 03:21:17 2012 (r240593) @@ -640,10 +640,11 @@ showvarscmd(int argc __unused, char **ar */ int -exportcmd(int argc, char **argv) +exportcmd(int argc __unused, char **argv) { struct var **vpp; struct var *vp; + char **ap; char *name; char *p; char *cmdname; @@ -651,26 +652,19 @@ exportcmd(int argc, char **argv) int flag = argv[0][0] == 'r'? VREADONLY : VEXPORT; cmdname = argv[0]; - optreset = optind = 1; - opterr = 0; values = 0; - while ((ch = getopt(argc, argv, "p")) != -1) { + while ((ch = nextopt("p")) != '\0') { switch (ch) { case 'p': values = 1; break; - case '?': - default: - error("unknown option: -%c", optopt); } } - argc -= optind; - argv += optind; - if (values && argc != 0) + if (values && *argptr != NULL) error("-p requires no arguments"); - if (argc != 0) { - while ((name = *argv++) != NULL) { + if (*argptr != NULL) { + for (ap = argptr; (name = *ap) != NULL; ap++) { if ((p = strchr(name, '=')) != NULL) { p++; } else { Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs.8 Mon Sep 17 03:21:17 2012 (r240593) @@ -137,17 +137,21 @@ .Fl a | Ar filesystem .Nm .Cm userspace -.Op Fl niHp +.Op Fl Hinp .Op Fl o Ar field Ns Op , Ns Ar ... -.Op Fl sS Ar field +.Op Fl s Ar field +.Ar ... +.Op Fl S Ar field .Ar ... .Op Fl t Ar type Ns Op , Ns Ar ... .Ar filesystem Ns | Ns Ar snapshot .Nm .Cm groupspace -.Op Fl niHp +.Op Fl Hinp .Op Fl o Ar field Ns Op , Ns Ar ... -.Op Fl sS Ar field +.Op Fl s Ar field +.Ar ... +.Op Fl S Ar field .Ar ... .Op Fl t Ar type Ns Op , Ns Ar ... .Ar filesystem Ns | Ns Ar snapshot @@ -1987,9 +1991,11 @@ Upgrade the specified file system. .It Xo .Nm .Cm userspace -.Op Fl niHp +.Op Fl Hinp .Op Fl o Ar field Ns Op , Ns Ar ... -.Op Fl sS Ar field +.Op Fl s Ar field +.Ar ... +.Op Fl S Ar field .Ar ... .Op Fl t Ar type Ns Op , Ns Ar ... .Ar filesystem Ns | Ns Ar snapshot @@ -2007,9 +2013,9 @@ Print numeric ID instead of user/group n .It Fl H Do not print headers, use tab-delimited output. .It Fl p -Use exact (parseable) numeric output. +Use exact (parsable) numeric output. .It Fl o Ar field Ns Op , Ns Ar ... -Display only the specified fields from the following set, +Display only the specified fields from the following set: .Sy type,name,used,quota . The default is to display all fields. .It Fl s Ar field @@ -2024,7 +2030,7 @@ another. The default is Sort by this field in reverse order. See .Fl s . .It Fl t Ar type Ns Op , Ns Ar ... -Print only the specified types from the following set, +Print only the specified types from the following set: .Sy all,posixuser,smbuser,posixgroup,smbgroup . .Pp The default is @@ -2038,9 +2044,11 @@ Translate SID to POSIX ID. This flag cur .It Xo .Nm .Cm groupspace -.Op Fl niHp +.Op Fl Hinp .Op Fl o Ar field Ns Op , Ns Ar ... -.Op Fl sS Ar field +.Op Fl s Ar field +.Ar ... +.Op Fl S Ar field .Ar ... .Op Fl t Ar type Ns Op , Ns Ar ... .Ar filesystem Ns | Ns Ar snapshot Modified: projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c ============================================================================== --- projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Sep 17 03:17:42 2012 (r240592) +++ projects/fuse/cddl/contrib/opensolaris/cmd/zfs/zfs_main.c Mon Sep 17 03:21:17 2012 (r240593) @@ -304,13 +304,13 @@ get_usage(zfs_help_t idx) "\tunallow [-r] -s @setname [[,...]] " "\n")); case HELP_USERSPACE: - return (gettext("\tuserspace [-niHp] [-o field[,...]] " - "[-sS field] ... [-t type[,...]]\n" - "\t \n")); + return (gettext("\tuserspace [-Hinp] [-o field[,...]] " + "[-s field] ...\n\t[-S field] ... " + "[-t type[,...]] \n")); case HELP_GROUPSPACE: - return (gettext("\tgroupspace [-niHp] [-o field[,...]] " - "[-sS field] ... [-t type[,...]]\n" - "\t \n")); + return (gettext("\tgroupspace [-Hinp] [-o field[,...]] " + "[-s field] ...\n\t[-S field] ... " + "[-t type[,...]] \n")); case HELP_HOLD: return (gettext("\thold [-r] ...\n")); case HELP_HOLDS: @@ -2068,30 +2068,52 @@ zfs_do_upgrade(int argc, char **argv) return (ret); } -#define USTYPE_USR_BIT (0) -#define USTYPE_GRP_BIT (1) -#define USTYPE_PSX_BIT (2) -#define USTYPE_SMB_BIT (3) - -#define USTYPE_USR (1 << USTYPE_USR_BIT) -#define USTYPE_GRP (1 << USTYPE_GRP_BIT) - -#define USTYPE_PSX (1 << USTYPE_PSX_BIT) -#define USTYPE_SMB (1 << USTYPE_SMB_BIT) - -#define USTYPE_PSX_USR (USTYPE_PSX | USTYPE_USR) -#define USTYPE_SMB_USR (USTYPE_SMB | USTYPE_USR) -#define USTYPE_PSX_GRP (USTYPE_PSX | USTYPE_GRP) -#define USTYPE_SMB_GRP (USTYPE_SMB | USTYPE_GRP) -#define USTYPE_ALL (USTYPE_PSX_USR | USTYPE_SMB_USR \ - | USTYPE_PSX_GRP | USTYPE_SMB_GRP) +/* + * zfs userspace [-Hinp] [-o field[,...]] [-s field [-s field]...] + * [-S field [-S field]...] [-t type[,...]] filesystem | snapshot + * zfs groupspace [-Hinp] [-o field[,...]] [-s field [-s field]...] + * [-S field [-S field]...] [-t type[,...]] filesystem | snapshot + * + * -H Scripted mode; elide headers and separate columns by tabs. + * -i Translate SID to POSIX ID. + * -n Print numeric ID instead of user/group name. + * -o Control which fields to display. + * -p Use exact (parseable) numeric output. + * -s Specify sort columns, descending order. + * -S Specify sort columns, ascending order. + * -t Control which object types to display. + * + * Displays space consumed by, and quotas on, each user in the specified + * filesystem or snapshot. + */ +/* us_field_types, us_field_hdr and us_field_names should be kept in sync */ +enum us_field_types { + USFIELD_TYPE, + USFIELD_NAME, + USFIELD_USED, + USFIELD_QUOTA +}; +static char *us_field_hdr[] = { "TYPE", "NAME", "USED", "QUOTA" }; +static char *us_field_names[] = { "type", "name", "used", "quota" }; +#define USFIELD_LAST (sizeof (us_field_names) / sizeof (char *)) -#define USPROP_USED_BIT (0) -#define USPROP_QUOTA_BIT (1) +#define USTYPE_PSX_GRP (1 << 0) +#define USTYPE_PSX_USR (1 << 1) +#define USTYPE_SMB_GRP (1 << 2) +#define USTYPE_SMB_USR (1 << 3) +#define USTYPE_ALL \ + (USTYPE_PSX_GRP | USTYPE_PSX_USR | USTYPE_SMB_GRP | USTYPE_SMB_USR) -#define USPROP_USED (1 << USPROP_USED_BIT) -#define USPROP_QUOTA (1 << USPROP_QUOTA_BIT) +static int us_type_bits[] = { + USTYPE_PSX_GRP, + USTYPE_PSX_USR, + USTYPE_SMB_GRP, + USTYPE_SMB_USR, + USTYPE_ALL +}; +static char *us_type_names[] = { "posixgroup", "posxiuser", "smbgroup", + "smbuser", "all" }; typedef struct us_node { nvlist_t *usn_nvl; @@ -2100,37 +2122,49 @@ typedef struct us_node { } us_node_t; typedef struct us_cbdata { - nvlist_t **cb_nvlp; - uu_avl_pool_t *cb_avl_pool; - uu_avl_t *cb_avl; - boolean_t cb_numname; - boolean_t cb_nicenum; - boolean_t cb_sid2posix; - zfs_userquota_prop_t cb_prop; - zfs_sort_column_t *cb_sortcol; - size_t cb_max_typelen; - size_t cb_max_namelen; - size_t cb_max_usedlen; - size_t cb_max_quotalen; + nvlist_t **cb_nvlp; + uu_avl_pool_t *cb_avl_pool; + uu_avl_t *cb_avl; + boolean_t cb_numname; + boolean_t cb_nicenum; + boolean_t cb_sid2posix; + zfs_userquota_prop_t cb_prop; + zfs_sort_column_t *cb_sortcol; + size_t cb_width[USFIELD_LAST]; } us_cbdata_t; +static boolean_t us_populated = B_FALSE; + typedef struct { zfs_sort_column_t *si_sortcol; - boolean_t si_num_name; - boolean_t si_parsable; + boolean_t si_numname; } us_sort_info_t; static int +us_field_index(char *field) +{ + int i; + + for (i = 0; i < USFIELD_LAST; i++) { + if (strcmp(field, us_field_names[i]) == 0) + return (i); + } + + return (-1); +} + +static int us_compare(const void *larg, const void *rarg, void *unused) { const us_node_t *l = larg; const us_node_t *r = rarg; - int rc = 0; us_sort_info_t *si = (us_sort_info_t *)unused; zfs_sort_column_t *sortcol = si->si_sortcol; - boolean_t num_name = si->si_num_name; + boolean_t numname = si->si_numname; nvlist_t *lnvl = l->usn_nvl; nvlist_t *rnvl = r->usn_nvl; + int rc = 0; + boolean_t lvb, rvb; for (; sortcol != NULL; sortcol = sortcol->sc_next) { char *lvstr = ""; @@ -2149,17 +2183,17 @@ us_compare(const void *larg, const void (void) nvlist_lookup_uint32(lnvl, propname, &lv32); (void) nvlist_lookup_uint32(rnvl, propname, &rv32); if (rv32 != lv32) - rc = (rv32 > lv32) ? 1 : -1; + rc = (rv32 < lv32) ? 1 : -1; break; case ZFS_PROP_NAME: propname = "name"; - if (num_name) { - (void) nvlist_lookup_uint32(lnvl, propname, - &lv32); - (void) nvlist_lookup_uint32(rnvl, propname, - &rv32); - if (rv32 != lv32) - rc = (rv32 > lv32) ? 1 : -1; + if (numname) { + (void) nvlist_lookup_uint64(lnvl, propname, + &lv64); + (void) nvlist_lookup_uint64(rnvl, propname, + &rv64); + if (rv64 != lv64) + rc = (rv64 < lv64) ? 1 : -1; } else { (void) nvlist_lookup_string(lnvl, propname, &lvstr); @@ -2168,27 +2202,40 @@ us_compare(const void *larg, const void rc = strcmp(lvstr, rvstr); } break; - case ZFS_PROP_USED: case ZFS_PROP_QUOTA: - if (ZFS_PROP_USED == prop) + if (!us_populated) + break; + if (prop == ZFS_PROP_USED) propname = "used"; else propname = "quota"; (void) nvlist_lookup_uint64(lnvl, propname, &lv64); (void) nvlist_lookup_uint64(rnvl, propname, &rv64); if (rv64 != lv64) - rc = (rv64 > lv64) ? 1 : -1; + rc = (rv64 < lv64) ? 1 : -1; + break; } - if (rc) + if (rc != 0) { if (rc < 0) return (reverse ? 1 : -1); else return (reverse ? -1 : 1); + } } - return (rc); + /* + * If entries still seem to be the same, check if they are of the same + * type (smbentity is added only if we are doing SID to POSIX ID + * translation where we can have duplicate type/name combinations). + */ + if (nvlist_lookup_boolean_value(lnvl, "smbentity", &lvb) == 0 && + nvlist_lookup_boolean_value(rnvl, "smbentity", &rvb) == 0 && + lvb != rvb) + return (lvb < rvb ? -1 : 1); + + return (0); } static inline const char * @@ -2208,9 +2255,6 @@ us_type2str(unsigned field_type) } } -/* - * zfs userspace - */ static int userspace_cb(void *arg, const char *domain, uid_t rid, uint64_t space) { @@ -2218,7 +2262,6 @@ userspace_cb(void *arg, const char *doma zfs_userquota_prop_t prop = cb->cb_prop; char *name = NULL; char *propname; - char namebuf[32]; char sizebuf[32]; us_node_t *node; uu_avl_pool_t *avl_pool = cb->cb_avl_pool; @@ -2232,32 +2275,30 @@ userspace_cb(void *arg, const char *doma size_t namelen; size_t typelen; size_t sizelen; + int typeidx, nameidx, sizeidx; us_sort_info_t sortinfo = { sortcol, cb->cb_numname }; + boolean_t smbentity = B_FALSE; - if (domain == NULL || domain[0] == '\0') { - /* POSIX */ - if (prop == ZFS_PROP_GROUPUSED || prop == ZFS_PROP_GROUPQUOTA) { - type = USTYPE_PSX_GRP; - struct group *g = getgrgid(rid); - if (g) - name = g->gr_name; - } else { - type = USTYPE_PSX_USR; - struct passwd *p = getpwuid(rid); - if (p) - name = p->pw_name; - } - } else { - char sid[ZFS_MAXNAMELEN+32]; + if (nvlist_alloc(&props, NV_UNIQUE_NAME, 0) != 0) + nomem(); + node = safe_malloc(sizeof (us_node_t)); + uu_avl_node_init(node, &node->usn_avlnode, avl_pool); + node->usn_nvl = props; + + if (domain != NULL && domain[0] != '\0') { + /* SMB */ + char sid[ZFS_MAXNAMELEN + 32]; uid_t id; uint64_t classes; #ifdef sun - int err = 0; + int err; directory_error_t e; #endif + smbentity = B_TRUE; + (void) snprintf(sid, sizeof (sid), "%s-%u", domain, rid); - /* SMB */ + if (prop == ZFS_PROP_GROUPUSED || prop == ZFS_PROP_GROUPQUOTA) { type = USTYPE_SMB_GRP; #ifdef sun @@ -2273,217 +2314,139 @@ userspace_cb(void *arg, const char *doma #ifdef sun if (err == 0) { rid = id; - - e = directory_name_from_sid(NULL, sid, &name, &classes); - if (e != NULL) { - directory_error_free(e); - return (NULL); + if (!cb->cb_sid2posix) { + e = directory_name_from_sid(NULL, sid, &name, + &classes); + if (e != NULL) + directory_error_free(e); + if (name == NULL) + name = sid; } - - if (name == NULL) - name = sid; } #endif } -/* - * if (prop == ZFS_PROP_GROUPUSED || prop == ZFS_PROP_GROUPQUOTA) - * ug = "group"; - * else - * ug = "user"; - */ - - if (prop == ZFS_PROP_USERUSED || prop == ZFS_PROP_GROUPUSED) - propname = "used"; - else - propname = "quota"; - - (void) snprintf(namebuf, sizeof (namebuf), "%u", rid); - if (name == NULL) - name = namebuf; - - if (cb->cb_nicenum) - zfs_nicenum(space, sizebuf, sizeof (sizebuf)); - else - (void) sprintf(sizebuf, "%llu", space); + if (cb->cb_sid2posix || domain == NULL || domain[0] == '\0') { + /* POSIX or -i */ + if (prop == ZFS_PROP_GROUPUSED || prop == ZFS_PROP_GROUPQUOTA) { + type = USTYPE_PSX_GRP; + if (!cb->cb_numname) { + struct group *g; - node = safe_malloc(sizeof (us_node_t)); - uu_avl_node_init(node, &node->usn_avlnode, avl_pool); + if ((g = getgrgid(rid)) != NULL) + name = g->gr_name; + } + } else { + type = USTYPE_PSX_USR; + if (!cb->cb_numname) { + struct passwd *p; - if (nvlist_alloc(&props, NV_UNIQUE_NAME, 0) != 0) { - free(node); - return (-1); + if ((p = getpwuid(rid)) != NULL) + name = p->pw_name; + } + } } + /* + * Make sure that the type/name combination is unique when doing + * SID to POSIX ID translation (hence changing the type from SMB to + * POSIX). + */ + if (cb->cb_sid2posix && + nvlist_add_boolean_value(props, "smbentity", smbentity) != 0) + nomem(); + + /* Calculate/update width of TYPE field */ + typestr = us_type2str(type); + typelen = strlen(gettext(typestr)); + typeidx = us_field_index("type"); + if (typelen > cb->cb_width[typeidx]) + cb->cb_width[typeidx] = typelen; if (nvlist_add_uint32(props, "type", type) != 0) nomem(); - if (cb->cb_numname) { - if (nvlist_add_uint32(props, "name", rid) != 0) + /* Calculate/update width of NAME field */ + if ((cb->cb_numname && cb->cb_sid2posix) || name == NULL) { + if (nvlist_add_uint64(props, "name", rid) != 0) nomem(); - namelen = strlen(namebuf); + namelen = snprintf(NULL, 0, "%u", rid); } else { if (nvlist_add_string(props, "name", name) != 0) nomem(); namelen = strlen(name); } + nameidx = us_field_index("name"); + if (namelen > cb->cb_width[nameidx]) + cb->cb_width[nameidx] = namelen; - typestr = us_type2str(type); - typelen = strlen(gettext(typestr)); - if (typelen > cb->cb_max_typelen) - cb->cb_max_typelen = typelen; - - if (namelen > cb->cb_max_namelen) - cb->cb_max_namelen = namelen; - - sizelen = strlen(sizebuf); - if (0 == strcmp(propname, "used")) { - if (sizelen > cb->cb_max_usedlen) - cb->cb_max_usedlen = sizelen; - } else { - if (sizelen > cb->cb_max_quotalen) - cb->cb_max_quotalen = sizelen; - } - - node->usn_nvl = props; - - n = uu_avl_find(avl, node, &sortinfo, &idx); - if (n == NULL) + /* + * Check if this type/name combination is in the list and update it; + * otherwise add new node to the list. + */ + if ((n = uu_avl_find(avl, node, &sortinfo, &idx)) == NULL) { uu_avl_insert(avl, node, idx); - else { + } else { nvlist_free(props); free(node); node = n; props = node->usn_nvl; } + /* Calculate/update width of USED/QUOTA fields */ + if (cb->cb_nicenum) + zfs_nicenum(space, sizebuf, sizeof (sizebuf)); + else + (void) snprintf(sizebuf, sizeof (sizebuf), "%llu", space); + sizelen = strlen(sizebuf); + if (prop == ZFS_PROP_USERUSED || prop == ZFS_PROP_GROUPUSED) { + propname = "used"; + if (!nvlist_exists(props, "quota")) + (void) nvlist_add_uint64(props, "quota", 0); + } else { + propname = "quota"; + if (!nvlist_exists(props, "used")) + (void) nvlist_add_uint64(props, "used", 0); + } + sizeidx = us_field_index(propname); + if (sizelen > cb->cb_width[sizeidx]) + cb->cb_width[sizeidx] = sizelen; + if (nvlist_add_uint64(props, propname, space) != 0) nomem(); return (0); } -static inline boolean_t -usprop_check(zfs_userquota_prop_t p, unsigned types, unsigned props) -{ - unsigned type; - unsigned prop; - - switch (p) { - case ZFS_PROP_USERUSED: - type = USTYPE_USR; - prop = USPROP_USED; - break; - case ZFS_PROP_USERQUOTA: - type = USTYPE_USR; - prop = USPROP_QUOTA; - break; - case ZFS_PROP_GROUPUSED: - type = USTYPE_GRP; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***