Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Sep 2012 03:21:18 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
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 ...
Message-ID:  <201209170321.q8H3LIHl037684@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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 <bsd.own.mk>
 .include <bsd.arch.inc.mk>
+.include <bsd.compiler.mk>
 
 # 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 [<perm|@setname>[,...]] "
 		    "<filesystem|volume>\n"));
 	case HELP_USERSPACE:
-		return (gettext("\tuserspace [-niHp] [-o field[,...]] "
-		    "[-sS field] ... [-t type[,...]]\n"
-		    "\t    <filesystem|snapshot>\n"));
+		return (gettext("\tuserspace [-Hinp] [-o field[,...]] "
+		    "[-s field] ...\n\t[-S field] ... "
+		    "[-t type[,...]] <filesystem|snapshot>\n"));
 	case HELP_GROUPSPACE:
-		return (gettext("\tgroupspace [-niHp] [-o field[,...]] "
-		    "[-sS field] ... [-t type[,...]]\n"
-		    "\t    <filesystem|snapshot>\n"));
+		return (gettext("\tgroupspace [-Hinp] [-o field[,...]] "
+		    "[-s field] ...\n\t[-S field] ... "
+		    "[-t type[,...]] <filesystem|snapshot>\n"));
 	case HELP_HOLD:
 		return (gettext("\thold [-r] <tag> <snapshot> ...\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 ***



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