svn commit: r193031 - in projects/pnet/sys: . arm/at91 arm/conf arm/xscale/ixp425 boot/common boot/pc98/boot2 cddl/compat/opensolaris/kern cddl/compat/opensolaris/sys cddl/contrib/opensolaris/commo...

Robert Watson rwatson at FreeBSD.org
Fri May 29 12:50:37 UTC 2009


Author: rwatson
Date: Fri May 29 12:50:35 2009
New Revision: 193031
URL: http://svn.freebsd.org/changeset/base/193031

Log:
  Merge r192636-r193030 from head to projects/pnet.

Added:
  projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c
     - copied unchanged from r193030, head/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c
  projects/pnet/sys/cddl/compat/opensolaris/sys/acl.h
     - copied unchanged from r193030, head/sys/cddl/compat/opensolaris/sys/acl.h
  projects/pnet/sys/cddl/dev/lockstat/
     - copied from r193030, head/sys/cddl/dev/lockstat/
  projects/pnet/sys/dev/ksyms/
     - copied from r193030, head/sys/dev/ksyms/
  projects/pnet/sys/dev/usb/wlan/if_urtw.c
     - copied unchanged from r193030, head/sys/dev/usb/wlan/if_urtw.c
  projects/pnet/sys/dev/usb/wlan/if_urtwreg.h
     - copied unchanged from r193030, head/sys/dev/usb/wlan/if_urtwreg.h
  projects/pnet/sys/dev/usb/wlan/if_urtwvar.h
     - copied unchanged from r193030, head/sys/dev/usb/wlan/if_urtwvar.h
  projects/pnet/sys/i386/xen/xen_rtc.c
     - copied unchanged from r193030, head/sys/i386/xen/xen_rtc.c
  projects/pnet/sys/kern/kern_fail.c
     - copied unchanged from r193030, head/sys/kern/kern_fail.c
  projects/pnet/sys/kern/kern_lockstat.c
     - copied unchanged from r193030, head/sys/kern/kern_lockstat.c
  projects/pnet/sys/modules/ksyms/
     - copied from r193030, head/sys/modules/ksyms/
  projects/pnet/sys/modules/nfscl/
     - copied from r193030, head/sys/modules/nfscl/
  projects/pnet/sys/modules/nfscommon/
     - copied from r193030, head/sys/modules/nfscommon/
  projects/pnet/sys/modules/nfsd/
     - copied from r193030, head/sys/modules/nfsd/
  projects/pnet/sys/modules/usb/urtw/
     - copied from r193030, head/sys/modules/usb/urtw/
  projects/pnet/sys/netipx/spx_reass.c
     - copied unchanged from r193030, head/sys/netipx/spx_reass.c
  projects/pnet/sys/sys/fail.h
     - copied unchanged from r193030, head/sys/sys/fail.h
  projects/pnet/sys/sys/ksyms.h
     - copied unchanged from r193030, head/sys/sys/ksyms.h
  projects/pnet/sys/sys/lockstat.h
     - copied unchanged from r193030, head/sys/sys/lockstat.h
Replaced:
  projects/pnet/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
     - copied unchanged from r193030, head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
  projects/pnet/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h
     - copied unchanged from r193030, head/sys/netgraph/bluetooth/drivers/ubt/ng_ubt_var.h
  projects/pnet/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c
     - copied unchanged from r193030, head/sys/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c
Deleted:
  projects/pnet/sys/arm/at91/ohci_atmelarm.c
  projects/pnet/sys/dev/usb/bluetooth/
  projects/pnet/sys/legacy/
  projects/pnet/sys/netgraph/bluetooth/drivers/ubt/TODO
Modified:
  projects/pnet/sys/   (props changed)
  projects/pnet/sys/arm/conf/AVILA
  projects/pnet/sys/arm/xscale/ixp425/files.ixp425
  projects/pnet/sys/arm/xscale/ixp425/if_npe.c
  projects/pnet/sys/boot/common/ufsread.c
  projects/pnet/sys/boot/pc98/boot2/sys.c
  projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c
  projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h
  projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h
  projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c
  projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.h
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
  projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h
  projects/pnet/sys/compat/freebsd32/freebsd32_misc.c
  projects/pnet/sys/compat/linux/linux_ioctl.c
  projects/pnet/sys/compat/linux/linux_mib.c
  projects/pnet/sys/compat/ndis/kern_ndis.c
  projects/pnet/sys/compat/ndis/subr_usbd.c
  projects/pnet/sys/compat/svr4/svr4_fcntl.c
  projects/pnet/sys/compat/svr4/svr4_ioctl.c
  projects/pnet/sys/compat/svr4/svr4_misc.c
  projects/pnet/sys/compat/svr4/svr4_resource.c
  projects/pnet/sys/compat/svr4/svr4_signal.c
  projects/pnet/sys/compat/svr4/svr4_socket.c
  projects/pnet/sys/compat/svr4/svr4_stat.c
  projects/pnet/sys/compat/svr4/svr4_stream.c
  projects/pnet/sys/compat/svr4/svr4_sysconfig.h
  projects/pnet/sys/conf/NOTES
  projects/pnet/sys/conf/files
  projects/pnet/sys/conf/files.i386
  projects/pnet/sys/conf/kern.pre.mk
  projects/pnet/sys/conf/options
  projects/pnet/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c
  projects/pnet/sys/contrib/ipfilter/netinet/ip_nat.c
  projects/pnet/sys/crypto/via/padlock_hash.c
  projects/pnet/sys/dev/ata/ata-usb.c
  projects/pnet/sys/dev/bktr/bktr_os.c
  projects/pnet/sys/dev/cfe/cfe_console.c
  projects/pnet/sys/dev/cxgb/cxgb_main.c
  projects/pnet/sys/dev/dcons/dcons_os.c
  projects/pnet/sys/dev/if_ndis/if_ndis_usb.c
  projects/pnet/sys/dev/if_ndis/if_ndisvar.h
  projects/pnet/sys/dev/mii/e1000phy.c
  projects/pnet/sys/dev/mii/e1000phyreg.h
  projects/pnet/sys/dev/mii/miidevs
  projects/pnet/sys/dev/msk/if_msk.c
  projects/pnet/sys/dev/msk/if_mskreg.h
  projects/pnet/sys/dev/nfe/if_nfe.c
  projects/pnet/sys/dev/nmdm/nmdm.c
  projects/pnet/sys/dev/ofw/ofw_console.c
  projects/pnet/sys/dev/random/nehemiah.c
  projects/pnet/sys/dev/random/randomdev_soft.c
  projects/pnet/sys/dev/rp/rp.c
  projects/pnet/sys/dev/si/si.c
  projects/pnet/sys/dev/sound/pci/cmi.c
  projects/pnet/sys/dev/sound/pci/cs4281.c
  projects/pnet/sys/dev/sound/pci/vibes.c
  projects/pnet/sys/dev/sound/pcm/sound.c
  projects/pnet/sys/dev/sound/pcm/sound.h
  projects/pnet/sys/dev/sound/usb/uaudio.c
  projects/pnet/sys/dev/sound/usb/uaudioreg.h
  projects/pnet/sys/dev/syscons/syscons.c
  projects/pnet/sys/dev/syscons/sysmouse.c
  projects/pnet/sys/dev/uart/uart_tty.c
  projects/pnet/sys/dev/usb/controller/at91dci.c
  projects/pnet/sys/dev/usb/controller/at91dci.h
  projects/pnet/sys/dev/usb/controller/atmegadci.c
  projects/pnet/sys/dev/usb/controller/atmegadci.h
  projects/pnet/sys/dev/usb/controller/atmegadci_atmelarm.c
  projects/pnet/sys/dev/usb/controller/avr32dci.c
  projects/pnet/sys/dev/usb/controller/avr32dci.h
  projects/pnet/sys/dev/usb/controller/ehci.c
  projects/pnet/sys/dev/usb/controller/ehci.h
  projects/pnet/sys/dev/usb/controller/musb_otg.c
  projects/pnet/sys/dev/usb/controller/musb_otg.h
  projects/pnet/sys/dev/usb/controller/ohci.c
  projects/pnet/sys/dev/usb/controller/ohci.h
  projects/pnet/sys/dev/usb/controller/uhci.c
  projects/pnet/sys/dev/usb/controller/uhci.h
  projects/pnet/sys/dev/usb/controller/usb_controller.c
  projects/pnet/sys/dev/usb/controller/uss820dci.c
  projects/pnet/sys/dev/usb/controller/uss820dci.h
  projects/pnet/sys/dev/usb/input/uhid.c
  projects/pnet/sys/dev/usb/input/ukbd.c
  projects/pnet/sys/dev/usb/input/ums.c
  projects/pnet/sys/dev/usb/misc/udbp.c
  projects/pnet/sys/dev/usb/misc/ufm.c
  projects/pnet/sys/dev/usb/net/if_aue.c
  projects/pnet/sys/dev/usb/net/if_auereg.h
  projects/pnet/sys/dev/usb/net/if_axe.c
  projects/pnet/sys/dev/usb/net/if_axereg.h
  projects/pnet/sys/dev/usb/net/if_cdce.c
  projects/pnet/sys/dev/usb/net/if_cdcereg.h
  projects/pnet/sys/dev/usb/net/if_cue.c
  projects/pnet/sys/dev/usb/net/if_cuereg.h
  projects/pnet/sys/dev/usb/net/if_kue.c
  projects/pnet/sys/dev/usb/net/if_kuereg.h
  projects/pnet/sys/dev/usb/net/if_rue.c
  projects/pnet/sys/dev/usb/net/if_ruereg.h
  projects/pnet/sys/dev/usb/net/if_udav.c
  projects/pnet/sys/dev/usb/net/if_udavreg.h
  projects/pnet/sys/dev/usb/net/usb_ethernet.c
  projects/pnet/sys/dev/usb/net/usb_ethernet.h
  projects/pnet/sys/dev/usb/quirk/usb_quirk.c
  projects/pnet/sys/dev/usb/serial/u3g.c
  projects/pnet/sys/dev/usb/serial/uark.c
  projects/pnet/sys/dev/usb/serial/ubsa.c
  projects/pnet/sys/dev/usb/serial/ubser.c
  projects/pnet/sys/dev/usb/serial/uchcom.c
  projects/pnet/sys/dev/usb/serial/ucycom.c
  projects/pnet/sys/dev/usb/serial/ufoma.c
  projects/pnet/sys/dev/usb/serial/uftdi.c
  projects/pnet/sys/dev/usb/serial/ugensa.c
  projects/pnet/sys/dev/usb/serial/uipaq.c
  projects/pnet/sys/dev/usb/serial/ulpt.c
  projects/pnet/sys/dev/usb/serial/umct.c
  projects/pnet/sys/dev/usb/serial/umodem.c
  projects/pnet/sys/dev/usb/serial/umoscom.c
  projects/pnet/sys/dev/usb/serial/uplcom.c
  projects/pnet/sys/dev/usb/serial/usb_serial.c
  projects/pnet/sys/dev/usb/serial/usb_serial.h
  projects/pnet/sys/dev/usb/serial/uslcom.c
  projects/pnet/sys/dev/usb/serial/uvisor.c
  projects/pnet/sys/dev/usb/serial/uvscom.c
  projects/pnet/sys/dev/usb/storage/umass.c
  projects/pnet/sys/dev/usb/storage/urio.c
  projects/pnet/sys/dev/usb/storage/ustorage_fs.c
  projects/pnet/sys/dev/usb/template/usb_template.c
  projects/pnet/sys/dev/usb/template/usb_template.h
  projects/pnet/sys/dev/usb/template/usb_template_cdce.c
  projects/pnet/sys/dev/usb/template/usb_template_msc.c
  projects/pnet/sys/dev/usb/template/usb_template_mtp.c
  projects/pnet/sys/dev/usb/usb.h
  projects/pnet/sys/dev/usb/usb_bus.h
  projects/pnet/sys/dev/usb/usb_busdma.c
  projects/pnet/sys/dev/usb/usb_busdma.h
  projects/pnet/sys/dev/usb/usb_cdc.h
  projects/pnet/sys/dev/usb/usb_compat_linux.c
  projects/pnet/sys/dev/usb/usb_compat_linux.h
  projects/pnet/sys/dev/usb/usb_controller.h
  projects/pnet/sys/dev/usb/usb_core.h
  projects/pnet/sys/dev/usb/usb_debug.c
  projects/pnet/sys/dev/usb/usb_debug.h
  projects/pnet/sys/dev/usb/usb_dev.c
  projects/pnet/sys/dev/usb/usb_dev.h
  projects/pnet/sys/dev/usb/usb_device.c
  projects/pnet/sys/dev/usb/usb_device.h
  projects/pnet/sys/dev/usb/usb_dynamic.c
  projects/pnet/sys/dev/usb/usb_dynamic.h
  projects/pnet/sys/dev/usb/usb_generic.c
  projects/pnet/sys/dev/usb/usb_generic.h
  projects/pnet/sys/dev/usb/usb_handle_request.c
  projects/pnet/sys/dev/usb/usb_hid.c
  projects/pnet/sys/dev/usb/usb_hid.h
  projects/pnet/sys/dev/usb/usb_hub.c
  projects/pnet/sys/dev/usb/usb_hub.h
  projects/pnet/sys/dev/usb/usb_ioctl.h
  projects/pnet/sys/dev/usb/usb_lookup.c
  projects/pnet/sys/dev/usb/usb_lookup.h
  projects/pnet/sys/dev/usb/usb_mbuf.c
  projects/pnet/sys/dev/usb/usb_mbuf.h
  projects/pnet/sys/dev/usb/usb_msctest.c
  projects/pnet/sys/dev/usb/usb_msctest.h
  projects/pnet/sys/dev/usb/usb_parse.c
  projects/pnet/sys/dev/usb/usb_parse.h
  projects/pnet/sys/dev/usb/usb_process.c
  projects/pnet/sys/dev/usb/usb_process.h
  projects/pnet/sys/dev/usb/usb_request.c
  projects/pnet/sys/dev/usb/usb_request.h
  projects/pnet/sys/dev/usb/usb_transfer.c
  projects/pnet/sys/dev/usb/usb_transfer.h
  projects/pnet/sys/dev/usb/usb_util.c
  projects/pnet/sys/dev/usb/usbdevs
  projects/pnet/sys/dev/usb/usbhid.h
  projects/pnet/sys/dev/usb/wlan/if_rum.c
  projects/pnet/sys/dev/usb/wlan/if_rumvar.h
  projects/pnet/sys/dev/usb/wlan/if_uath.c
  projects/pnet/sys/dev/usb/wlan/if_uathvar.h
  projects/pnet/sys/dev/usb/wlan/if_upgt.c
  projects/pnet/sys/dev/usb/wlan/if_upgtvar.h
  projects/pnet/sys/dev/usb/wlan/if_ural.c
  projects/pnet/sys/dev/usb/wlan/if_uralvar.h
  projects/pnet/sys/dev/usb/wlan/if_zyd.c
  projects/pnet/sys/dev/usb/wlan/if_zydreg.h
  projects/pnet/sys/dev/xen/console/console.c
  projects/pnet/sys/dev/xen/netfront/   (props changed)
  projects/pnet/sys/dev/xen/netfront/netfront.c
  projects/pnet/sys/dev/xen/xenpci/   (props changed)
  projects/pnet/sys/fs/nfs/nfs_commonacl.c
  projects/pnet/sys/fs/nfs/nfs_commonkrpc.c
  projects/pnet/sys/fs/nfs/nfs_commonport.c
  projects/pnet/sys/fs/nfs/nfs_commonsubs.c
  projects/pnet/sys/fs/nfs/nfsport.h
  projects/pnet/sys/fs/nfsclient/nfs_clbio.c
  projects/pnet/sys/fs/nfsclient/nfs_clnode.c
  projects/pnet/sys/fs/nfsclient/nfs_clvfsops.c
  projects/pnet/sys/fs/nfsserver/nfs_nfsdkrpc.c
  projects/pnet/sys/fs/nfsserver/nfs_nfsdport.c
  projects/pnet/sys/fs/nfsserver/nfs_nfsdserv.c
  projects/pnet/sys/fs/nfsserver/nfs_nfsdsocket.c
  projects/pnet/sys/fs/nwfs/nwfs_io.c
  projects/pnet/sys/fs/procfs/procfs_status.c
  projects/pnet/sys/fs/pseudofs/pseudofs_vnops.c
  projects/pnet/sys/fs/smbfs/smbfs_io.c
  projects/pnet/sys/fs/tmpfs/tmpfs_vnops.c
  projects/pnet/sys/geom/geom_subr.c
  projects/pnet/sys/ia64/ia64/mp_machdep.c
  projects/pnet/sys/ia64/ia64/ssc.c
  projects/pnet/sys/kern/init_main.c
  projects/pnet/sys/kern/kern_cpuset.c
  projects/pnet/sys/kern/kern_descrip.c
  projects/pnet/sys/kern/kern_exit.c
  projects/pnet/sys/kern/kern_fork.c
  projects/pnet/sys/kern/kern_jail.c
  projects/pnet/sys/kern/kern_linker.c
  projects/pnet/sys/kern/kern_lock.c
  projects/pnet/sys/kern/kern_lockf.c
  projects/pnet/sys/kern/kern_mib.c
  projects/pnet/sys/kern/kern_mutex.c
  projects/pnet/sys/kern/kern_osd.c
  projects/pnet/sys/kern/kern_proc.c
  projects/pnet/sys/kern/kern_prot.c
  projects/pnet/sys/kern/kern_rmlock.c
  projects/pnet/sys/kern/kern_rwlock.c
  projects/pnet/sys/kern/kern_sx.c
  projects/pnet/sys/kern/kern_vimage.c
  projects/pnet/sys/kern/link_elf.c
  projects/pnet/sys/kern/link_elf_obj.c
  projects/pnet/sys/kern/linker_if.m
  projects/pnet/sys/kern/sysv_msg.c
  projects/pnet/sys/kern/sysv_sem.c
  projects/pnet/sys/kern/sysv_shm.c
  projects/pnet/sys/kern/tty.c
  projects/pnet/sys/kern/tty_pts.c
  projects/pnet/sys/kern/uipc_debug.c
  projects/pnet/sys/kern/vfs_bio.c
  projects/pnet/sys/kern/vfs_lookup.c
  projects/pnet/sys/kern/vfs_mount.c
  projects/pnet/sys/kern/vfs_subr.c
  projects/pnet/sys/kern/vfs_syscalls.c
  projects/pnet/sys/kgssapi/gsstest.c
  projects/pnet/sys/mips/mips/pmap.c
  projects/pnet/sys/modules/Makefile
  projects/pnet/sys/modules/dtrace/Makefile
  projects/pnet/sys/modules/dtrace/dtnfsclient/   (props changed)
  projects/pnet/sys/modules/dtrace/dtraceall/dtraceall.c
  projects/pnet/sys/modules/ip6_mroute_mod/   (props changed)
  projects/pnet/sys/modules/ipmi/ipmi_linux/   (props changed)
  projects/pnet/sys/modules/linux/Makefile
  projects/pnet/sys/modules/netgraph/bluetooth/ubt/Makefile
  projects/pnet/sys/modules/netgraph/bluetooth/ubtbcmfw/Makefile
  projects/pnet/sys/modules/usb/Makefile
  projects/pnet/sys/modules/zfs/Makefile
  projects/pnet/sys/net/bpf.c
  projects/pnet/sys/net/if_clone.c
  projects/pnet/sys/net/if_loop.c
  projects/pnet/sys/net/netisr2.c
  projects/pnet/sys/net/pfil.h
  projects/pnet/sys/net/rtsock.c
  projects/pnet/sys/net/vnet.h
  projects/pnet/sys/net80211/ieee80211_adhoc.c
  projects/pnet/sys/net80211/ieee80211_freebsd.c
  projects/pnet/sys/net80211/ieee80211_hostap.c
  projects/pnet/sys/net80211/ieee80211_monitor.c
  projects/pnet/sys/net80211/ieee80211_radiotap.c
  projects/pnet/sys/net80211/ieee80211_sta.c
  projects/pnet/sys/net80211/ieee80211_wds.c
  projects/pnet/sys/netinet/accf_dns.c
  projects/pnet/sys/netinet/in_pcb.c
  projects/pnet/sys/netinet/ip_input.c
  projects/pnet/sys/netinet/ip_ipsec.c
  projects/pnet/sys/netinet/tcp_input.c
  projects/pnet/sys/netinet/tcp_reass.c
  projects/pnet/sys/netinet/tcp_subr.c
  projects/pnet/sys/netinet/udp_usrreq.c
  projects/pnet/sys/netinet/udp_var.h
  projects/pnet/sys/netinet/vinet.h
  projects/pnet/sys/netinet6/icmp6.c
  projects/pnet/sys/netinet6/in6.c
  projects/pnet/sys/netinet6/in6.h
  projects/pnet/sys/netinet6/in6_ifattach.c
  projects/pnet/sys/netinet6/in6_mcast.c
  projects/pnet/sys/netinet6/in6_pcb.c
  projects/pnet/sys/netinet6/ip6_input.c
  projects/pnet/sys/netinet6/ip6_ipsec.c
  projects/pnet/sys/netinet6/mld6.c
  projects/pnet/sys/netinet6/udp6_usrreq.c
  projects/pnet/sys/netipsec/ipsec.c
  projects/pnet/sys/netipsec/ipsec.h
  projects/pnet/sys/netipsec/ipsec6.h
  projects/pnet/sys/netipsec/key.c
  projects/pnet/sys/netipsec/vipsec.h
  projects/pnet/sys/netipx/spx.h
  projects/pnet/sys/netipx/spx_usrreq.c
  projects/pnet/sys/netipx/spx_var.h
  projects/pnet/sys/nfsclient/bootp_subr.c
  projects/pnet/sys/nfsclient/nfs_bio.c
  projects/pnet/sys/nfsclient/nfs_krpc.c
  projects/pnet/sys/nfsserver/nfs_srvkrpc.c
  projects/pnet/sys/nfsserver/nfs_srvsock.c
  projects/pnet/sys/opencrypto/cryptodev.c
  projects/pnet/sys/powerpc/booke/pmap.c
  projects/pnet/sys/rpc/xdr.h
  projects/pnet/sys/security/mac/mac_framework.c
  projects/pnet/sys/security/mac/mac_internal.h
  projects/pnet/sys/security/mac_bsdextended/mac_bsdextended.c
  projects/pnet/sys/sun4v/sun4v/hvcons.c
  projects/pnet/sys/sys/acl.h
  projects/pnet/sys/sys/cpuset.h
  projects/pnet/sys/sys/eventhandler.h
  projects/pnet/sys/sys/jail.h
  projects/pnet/sys/sys/lock.h
  projects/pnet/sys/sys/lockf.h
  projects/pnet/sys/sys/mutex.h
  projects/pnet/sys/sys/namei.h
  projects/pnet/sys/sys/param.h
  projects/pnet/sys/sys/queue.h
  projects/pnet/sys/sys/rmlock.h
  projects/pnet/sys/sys/rwlock.h
  projects/pnet/sys/sys/sx.h
  projects/pnet/sys/sys/syscallsubr.h
  projects/pnet/sys/sys/systm.h
  projects/pnet/sys/sys/tty.h
  projects/pnet/sys/sys/vimage.h
  projects/pnet/sys/ufs/ufs/ufs_vnops.c
  projects/pnet/sys/vm/vm_object.c
  projects/pnet/sys/vm/vm_pageout.c
  projects/pnet/sys/xdr/xdr_mem.c
  projects/pnet/sys/xen/xenbus/init.txt   (props changed)
  projects/pnet/sys/xen/xenbus/xenbus_xs.c

Modified: projects/pnet/sys/arm/conf/AVILA
==============================================================================
--- projects/pnet/sys/arm/conf/AVILA	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/arm/conf/AVILA	Fri May 29 12:50:35 2009	(r193031)
@@ -132,15 +132,14 @@ device		ath_ar5416
 options 	AH_SUPPORT_AR5416
 device		ath_ar9160
 
-makeoptions	WITH_LEGACY
-device		ousb
+device		usb
 #options 	USB_DEBUG
-device		oohci
-device		oehci
-device		oumass
+device		ohci
+device		ehci
+device		umass
 device		scbus		# SCSI bus (required for SCSI)
 device		da		# Direct Access (disks)
 
-#device		oural
-#device		ozyd
+#device		ural
+#device		zyd
 #device		wlan_amrr

Modified: projects/pnet/sys/arm/xscale/ixp425/files.ixp425
==============================================================================
--- projects/pnet/sys/arm/xscale/ixp425/files.ixp425	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/arm/xscale/ixp425/files.ixp425	Fri May 29 12:50:35 2009	(r193031)
@@ -47,4 +47,3 @@ IxNpeMicrocode.dat			optional npe_fw			\
 arm/xscale/ixp425/ixp425_qmgr.c		optional qmgr
 #
 dev/usb/controller/ehci_ixp4xx.c	optional ehci usb
-legacy/dev/usb/ehci_ixp4xx.c		optional oehci ousb

Modified: projects/pnet/sys/arm/xscale/ixp425/if_npe.c
==============================================================================
--- projects/pnet/sys/arm/xscale/ixp425/if_npe.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/arm/xscale/ixp425/if_npe.c	Fri May 29 12:50:35 2009	(r193031)
@@ -143,6 +143,7 @@ struct npe_softc {
 	struct npestats	*sc_stats;
 	bus_dmamap_t	sc_stats_map;
 	bus_addr_t	sc_stats_phys;	/* phys addr of sc_stats */
+	struct npestats	sc_totals;	/* accumulated sc_stats */
 };
 
 /*
@@ -374,6 +375,8 @@ npe_attach(device_t dev)
 	    CTLFLAG_RW, &sc->sc_debug, 0, "control debugging printfs");
 	SYSCTL_ADD_INT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "tickinterval",
 	    CTLFLAG_RW, &sc->sc_tickinterval, 0, "periodic work frequency");
+	SYSCTL_ADD_STRUCT(ctx, SYSCTL_CHILDREN(tree), OID_AUTO, "stats",
+	    CTLFLAG_RD, &sc->sc_totals, npestats, "onboard stats");
 
 	ether_ifattach(ifp, eaddr);
 	return 0;
@@ -867,12 +870,24 @@ npe_ifmedia_status(struct ifnet *ifp, st
 static void
 npe_addstats(struct npe_softc *sc)
 {
-#define	MIBADD(x)	sc->mibdata.x += be32toh(ns->x)
+#define	NPEADD(x)	sc->sc_totals.x += be32toh(ns->x)
+#define	MIBADD(x) do { sc->mibdata.x += be32toh(ns->x); NPEADD(x); } while (0)
 	struct ifnet *ifp = sc->sc_ifp;
 	struct npestats *ns = sc->sc_stats;
 
 	MIBADD(dot3StatsAlignmentErrors);
 	MIBADD(dot3StatsFCSErrors);
+	MIBADD(dot3StatsInternalMacReceiveErrors);
+	NPEADD(RxOverrunDiscards);
+	NPEADD(RxLearnedEntryDiscards);
+	NPEADD(RxLargeFramesDiscards);
+	NPEADD(RxSTPBlockedDiscards);
+	NPEADD(RxVLANTypeFilterDiscards);
+	NPEADD(RxVLANIdFilterDiscards);
+	NPEADD(RxInvalidSourceDiscards);
+	NPEADD(RxBlackListDiscards);
+	NPEADD(RxWhiteListDiscards);
+	NPEADD(RxUnderflowEntryDiscards);
 	MIBADD(dot3StatsSingleCollisionFrames);
 	MIBADD(dot3StatsMultipleCollisionFrames);
 	MIBADD(dot3StatsDeferredTransmissions);
@@ -880,10 +895,12 @@ npe_addstats(struct npe_softc *sc)
 	MIBADD(dot3StatsExcessiveCollisions);
 	MIBADD(dot3StatsInternalMacTransmitErrors);
 	MIBADD(dot3StatsCarrierSenseErrors);
+	NPEADD(TxLargeFrameDiscards);
+	NPEADD(TxVLANIdFilterDiscards);
+
 	sc->mibdata.dot3StatsFrameTooLongs +=
 	      be32toh(ns->RxLargeFramesDiscards)
 	    + be32toh(ns->TxLargeFrameDiscards);
-	MIBADD(dot3StatsInternalMacReceiveErrors);
 	sc->mibdata.dot3StatsMissedFrames +=
 	      be32toh(ns->RxOverrunDiscards)
 	    + be32toh(ns->RxUnderflowEntryDiscards);
@@ -902,6 +919,7 @@ npe_addstats(struct npe_softc *sc)
 		  be32toh(ns->dot3StatsSingleCollisionFrames)
 		+ be32toh(ns->dot3StatsMultipleCollisionFrames)
 		;
+#undef NPEADD
 #undef MIBADD
 }
 

Modified: projects/pnet/sys/boot/common/ufsread.c
==============================================================================
--- projects/pnet/sys/boot/common/ufsread.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/boot/common/ufsread.c	Fri May 29 12:50:35 2009	(r193031)
@@ -47,6 +47,7 @@
 __FBSDID("$FreeBSD$");
 
 #include <ufs/ufs/dinode.h>
+#include <ufs/ufs/dir.h>
 #include <ufs/ffs/fs.h>
 #ifdef UFS_SMALL_CGBASE
 /* XXX: Revert to old (broken for over 1.5Tb filesystems) version of cgbase
@@ -93,7 +94,7 @@ static __inline int
 fsfind(const char *name, ino_t * ino)
 {
 	char buf[DEV_BSIZE];
-	struct dirent *d;
+	struct direct *d;
 	char *s;
 	ssize_t n;
 
@@ -104,7 +105,7 @@ fsfind(const char *name, ino_t * ino)
 			if (ls)
 				printf("%s ", d->d_name);
 			else if (!strcmp(name, d->d_name)) {
-				*ino = d->d_fileno;
+				*ino = d->d_ino;
 				return d->d_type;
 			}
 			s += d->d_reclen;

Modified: projects/pnet/sys/boot/pc98/boot2/sys.c
==============================================================================
--- projects/pnet/sys/boot/pc98/boot2/sys.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/boot/pc98/boot2/sys.c	Fri May 29 12:50:35 2009	(r193031)
@@ -34,7 +34,7 @@ __FBSDID("$FreeBSD$");
  */
 
 #include "boot.h"
-#include <sys/dirent.h>
+#include <ufs/ufs/dir.h>
 
 #if 0
 /* #define BUFSIZE 4096 */
@@ -142,7 +142,7 @@ find(char *path)
 {
 	char *rest, ch;
 	int block, off, loc, ino = ROOTINO;
-	struct dirent *dp;
+	struct direct *dp;
 	char list_only;
 
 	list_only = (path[0] == '?' && path[1] == '\0');
@@ -174,12 +174,12 @@ loop:
 			devread(iobuf, fsbtodb(fs, block_map(block)) + boff,
 				blksize(fs, &inode, block));
 		}
-		dp = (struct dirent *)(iobuf + off);
+		dp = (struct direct *)(iobuf + off);
 		loc += dp->d_reclen;
-		if (dp->d_fileno && list_only)
+		if (dp->d_ino && list_only)
 			printf("%s ", dp->d_name);
-	} while (!dp->d_fileno || strcmp(path, dp->d_name));
-	ino = dp->d_fileno;
+	} while (!dp->d_ino || strcmp(path, dp->d_name));
+	ino = dp->d_ino;
 	*(path = rest) = ch;
 	goto loop;
 }

Copied: projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c (from r193030, head/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c	Fri May 29 12:50:35 2009	(r193031, copy of r193030, head/sys/cddl/compat/opensolaris/kern/opensolaris_acl.c)
@@ -0,0 +1,216 @@
+/*-
+ * Copyright (c) 2008, 2009 Edward Tomasz Napierała <trasz at FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#include <sys/param.h>
+#include <sys/systm.h>
+#include <sys/types.h>
+#include <sys/malloc.h>
+#include <sys/errno.h>
+#include <sys/zfs_acl.h>
+#include <sys/acl.h>
+
+struct zfs2bsd {
+	uint32_t	zb_zfs;
+	int		zb_bsd;
+};
+
+struct zfs2bsd perms[] = {{ACE_READ_DATA, ACL_READ_DATA},
+			{ACE_WRITE_DATA, ACL_WRITE_DATA},
+			{ACE_EXECUTE, ACL_EXECUTE},
+			{ACE_APPEND_DATA, ACL_APPEND_DATA},
+			{ACE_DELETE_CHILD, ACL_DELETE_CHILD},
+			{ACE_DELETE, ACL_DELETE},
+			{ACE_READ_ATTRIBUTES, ACL_READ_ATTRIBUTES},
+			{ACE_WRITE_ATTRIBUTES, ACL_WRITE_ATTRIBUTES},
+			{ACE_READ_NAMED_ATTRS, ACL_READ_NAMED_ATTRS},
+			{ACE_WRITE_NAMED_ATTRS, ACL_WRITE_NAMED_ATTRS},
+			{ACE_READ_ACL, ACL_READ_ACL},
+			{ACE_WRITE_ACL, ACL_WRITE_ACL},
+			{ACE_WRITE_OWNER, ACL_WRITE_OWNER},
+			{ACE_SYNCHRONIZE, ACL_SYNCHRONIZE},
+			{0, 0}};
+
+struct zfs2bsd flags[] = {{ACE_FILE_INHERIT_ACE,
+			    ACL_ENTRY_FILE_INHERIT},
+			{ACE_DIRECTORY_INHERIT_ACE,
+			    ACL_ENTRY_DIRECTORY_INHERIT},
+			{ACE_NO_PROPAGATE_INHERIT_ACE,
+			    ACL_ENTRY_NO_PROPAGATE_INHERIT},
+			{ACE_INHERIT_ONLY_ACE,
+			    ACL_ENTRY_INHERIT_ONLY},
+			{ACE_SUCCESSFUL_ACCESS_ACE_FLAG,
+			    ACL_ENTRY_SUCCESSFUL_ACCESS},
+			{ACE_FAILED_ACCESS_ACE_FLAG,
+			    ACL_ENTRY_FAILED_ACCESS},
+			{0, 0}};
+
+static int
+_bsd_from_zfs(uint32_t zfs, const struct zfs2bsd *table)
+{
+	const struct zfs2bsd *tmp;
+	int bsd = 0;
+
+	for (tmp = table; tmp->zb_zfs != 0; tmp++) {
+		if (zfs & tmp->zb_zfs)
+			bsd |= tmp->zb_bsd;
+	}
+
+	return (bsd);
+}
+
+static uint32_t
+_zfs_from_bsd(int bsd, const struct zfs2bsd *table)
+{
+	const struct zfs2bsd *tmp;
+	uint32_t zfs = 0;
+
+	for (tmp = table; tmp->zb_bsd != 0; tmp++) {
+		if (bsd & tmp->zb_bsd)
+			zfs |= tmp->zb_zfs;
+	}
+
+	return (zfs);
+}
+
+int
+acl_from_aces(struct acl *aclp, const ace_t *aces, int nentries)
+{
+	int i;
+	struct acl_entry *entry;
+	const ace_t *ace;
+
+	KASSERT(nentries >= 1, ("empty ZFS ACL"));
+
+	if (nentries > ACL_MAX_ENTRIES) {
+		/*
+		 * I believe it may happen only when moving a pool
+		 * from SunOS to FreeBSD.
+		 */
+		printf("acl_from_aces: ZFS ACL too big to fit "
+		    "into 'struct acl'; returning EINVAL.\n");
+		return (EINVAL);
+	}
+
+	bzero(aclp, sizeof(*aclp));
+	aclp->acl_maxcnt = ACL_MAX_ENTRIES;
+	aclp->acl_cnt = nentries;
+
+	for (i = 0; i < nentries; i++) {
+		entry = &(aclp->acl_entry[i]);
+		ace = &(aces[i]);
+
+		if (ace->a_flags & ACE_OWNER)
+			entry->ae_tag = ACL_USER_OBJ;
+		else if (ace->a_flags & ACE_GROUP)
+			entry->ae_tag = ACL_GROUP_OBJ;
+		else if (ace->a_flags & ACE_EVERYONE)
+			entry->ae_tag = ACL_EVERYONE;
+		else if (ace->a_flags & ACE_IDENTIFIER_GROUP)
+			entry->ae_tag = ACL_GROUP;
+		else
+			entry->ae_tag = ACL_USER;
+
+		if (entry->ae_tag == ACL_USER || entry->ae_tag == ACL_GROUP)
+			entry->ae_id = ace->a_who;
+		else
+			entry->ae_id = ACL_UNDEFINED_ID;
+
+		entry->ae_perm = _bsd_from_zfs(ace->a_access_mask, perms);
+		entry->ae_flags = _bsd_from_zfs(ace->a_flags, flags);
+
+		switch (ace->a_type) {
+		case ACE_ACCESS_ALLOWED_ACE_TYPE:
+			entry->ae_entry_type = ACL_ENTRY_TYPE_ALLOW;
+			break;
+		case ACE_ACCESS_DENIED_ACE_TYPE:
+			entry->ae_entry_type = ACL_ENTRY_TYPE_DENY;
+			break;
+		case ACE_SYSTEM_AUDIT_ACE_TYPE:
+			entry->ae_entry_type = ACL_ENTRY_TYPE_AUDIT;
+			break;
+		case ACE_SYSTEM_ALARM_ACE_TYPE:
+			entry->ae_entry_type = ACL_ENTRY_TYPE_ALARM;
+			break;
+		default:
+			panic("acl_from_aces: a_type is 0x%x", ace->a_type);
+		}
+	}
+
+	return (0);
+}
+
+void
+aces_from_acl(ace_t *aces, int *nentries, const struct acl *aclp)
+{
+	int i;
+	const struct acl_entry *entry;
+	ace_t *ace;
+
+	bzero(aces, sizeof(*aces) * aclp->acl_cnt);
+
+	*nentries = aclp->acl_cnt;
+
+	for (i = 0; i < aclp->acl_cnt; i++) {
+		entry = &(aclp->acl_entry[i]);
+		ace = &(aces[i]);
+
+		ace->a_who = entry->ae_id;
+
+		if (entry->ae_tag == ACL_USER_OBJ)
+			ace->a_flags = ACE_OWNER;
+		else if (entry->ae_tag == ACL_GROUP_OBJ)
+			ace->a_flags = (ACE_GROUP | ACE_IDENTIFIER_GROUP);
+		else if (entry->ae_tag == ACL_GROUP)
+			ace->a_flags = ACE_IDENTIFIER_GROUP;
+		else if (entry->ae_tag == ACL_EVERYONE)
+			ace->a_flags = ACE_EVERYONE;
+		else /* ACL_USER */
+			ace->a_flags = 0;
+
+		ace->a_access_mask = _zfs_from_bsd(entry->ae_perm, perms);
+		ace->a_flags |= _zfs_from_bsd(entry->ae_flags, flags);
+
+		switch (entry->ae_entry_type) {
+		case ACL_ENTRY_TYPE_ALLOW:
+			ace->a_type = ACE_ACCESS_ALLOWED_ACE_TYPE;
+			break;
+		case ACL_ENTRY_TYPE_DENY:
+			ace->a_type = ACE_ACCESS_DENIED_ACE_TYPE;
+			break;
+		case ACL_ENTRY_TYPE_ALARM:
+			ace->a_type = ACE_SYSTEM_ALARM_ACE_TYPE;
+			break;
+		case ACL_ENTRY_TYPE_AUDIT:
+			ace->a_type = ACE_SYSTEM_AUDIT_ACE_TYPE;
+			break;
+		default:
+			panic("aces_from_acl: ae_entry_type is 0x%x", entry->ae_entry_type);
+		}
+	}
+}

Modified: projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c
==============================================================================
--- projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/compat/opensolaris/kern/opensolaris_policy.c	Fri May 29 12:50:35 2009	(r193031)
@@ -302,6 +302,14 @@ secpolicy_setid_setsticky_clear(struct v
 		if (error)
 			return (error);
 	}
+	/*
+	 * Deny setting setuid if we are not the file owner.
+	 */
+	if ((vap->va_mode & S_ISUID) && ovap->va_uid != cred->cr_uid) {
+		error = priv_check_cred(cred, PRIV_VFS_ADMIN, 0);
+		if (error)
+			return (error);
+	}
 	return (0);
 }
 

Copied: projects/pnet/sys/cddl/compat/opensolaris/sys/acl.h (from r193030, head/sys/cddl/compat/opensolaris/sys/acl.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ projects/pnet/sys/cddl/compat/opensolaris/sys/acl.h	Fri May 29 12:50:35 2009	(r193031, copy of r193030, head/sys/cddl/compat/opensolaris/sys/acl.h)
@@ -0,0 +1,39 @@
+/*-
+ * Copyright (c) 2008, 2009 Edward Tomasz Napierała <trasz at FreeBSD.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
+ * $FreeBSD$
+ */
+
+#ifndef OPENSOLARIS_SYS_ACL_H
+#define OPENSOLARIS_SYS_ACL_H
+
+#include_next <sys/acl.h>
+
+struct acl;
+
+void aces_from_acl(ace_t *aces, int *nentries, const struct acl *aclp);
+int acl_from_aces(struct acl *aclp, const ace_t *aces, int nentries);
+
+#endif /* OPENSOLARIS_SYS_ACL_H */

Modified: projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h
==============================================================================
--- projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/compat/opensolaris/sys/mutex.h	Fri May 29 12:50:35 2009	(r193031)
@@ -47,9 +47,9 @@ typedef enum {
 typedef struct sx	kmutex_t;
 
 #ifndef DEBUG
-#define	MUTEX_FLAGS	(SX_DUPOK | SX_NOWITNESS | SX_ADAPTIVESPIN)
+#define	MUTEX_FLAGS	(SX_DUPOK | SX_NOWITNESS)
 #else
-#define	MUTEX_FLAGS	(SX_DUPOK | SX_ADAPTIVESPIN)
+#define	MUTEX_FLAGS	(SX_DUPOK)
 #endif
 
 #define	mutex_init(lock, desc, type, arg)	do {			\

Modified: projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h
==============================================================================
--- projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/compat/opensolaris/sys/rwlock.h	Fri May 29 12:50:35 2009	(r193031)
@@ -49,9 +49,9 @@ typedef enum {
 typedef	struct sx	krwlock_t;
 
 #ifndef DEBUG
-#define	RW_FLAGS	(SX_DUPOK | SX_NOWITNESS | SX_ADAPTIVESPIN)
+#define	RW_FLAGS	(SX_DUPOK | SX_NOWITNESS)
 #else
-#define	RW_FLAGS	(SX_DUPOK | SX_ADAPTIVESPIN)
+#define	RW_FLAGS	(SX_DUPOK)
 #endif
 
 #define	RW_READ_HELD(x)		(rw_read_held((x)))

Modified: projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.c	Fri May 29 12:50:35 2009	(r193031)
@@ -424,7 +424,7 @@ cacl_free(void *ptr, size_t size)
 #endif
 }
 
-#ifndef __FreeBSD__
+#if !defined(_KERNEL)
 acl_t *
 acl_alloc(enum acl_type type)
 {
@@ -470,7 +470,6 @@ acl_free(acl_t *aclp)
 
 	cacl_free(aclp, sizeof (acl_t));
 }
-#endif
 
 static uint32_t
 access_mask_set(int haswriteperm, int hasreadperm, int isowner, int isallow)
@@ -1727,3 +1726,4 @@ out:
 	return (error);
 #endif
 }
+#endif /* _KERNEL */

Modified: projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.h
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.h	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/common/acl/acl_common.h	Fri May 29 12:50:35 2009	(r193031)
@@ -46,6 +46,7 @@ extern int ace_trivial(ace_t *acep, int 
 extern int ace_trivial_common(void *, int,
     uint64_t (*walk)(void *, uint64_t, int aclcnt, uint16_t *, uint16_t *,
     uint32_t *mask));
+#if !defined(_KERNEL)
 extern acl_t *acl_alloc(acl_type_t);
 extern void acl_free(acl_t *aclp);
 extern int acl_translate(acl_t *aclp, int target_flavor,
@@ -53,6 +54,7 @@ extern int acl_translate(acl_t *aclp, in
 void ksort(caddr_t v, int n, int s, int (*f)());
 int cmp2acls(void *a, void *b);
 
+#endif /* _KERNEL */
 
 #ifdef	__cplusplus
 }

Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c	Fri May 29 12:50:35 2009	(r193031)
@@ -122,6 +122,7 @@
 #include <sys/sysctl.h>
 #include <sys/lock.h>
 #include <sys/mutex.h>
+#include <sys/rwlock.h>
 #include <sys/sx.h>
 #include <sys/dtrace_bsd.h>
 #include <netinet/in.h>
@@ -3168,14 +3169,11 @@ dtrace_dif_subr(uint_t subr, uint_t rd, 
 		uintptr_t rw;
 	} r;
 #else
+	struct thread *lowner;
 	union {
-		struct mtx *mi;
-		uintptr_t mx;
-	} m;
-	union {
-		struct sx *si;
-		uintptr_t sx;
-	} s;
+		struct lock_object *li;
+		uintptr_t lx;
+	} l;
 #endif
 
 	switch (subr) {
@@ -3272,75 +3270,83 @@ dtrace_dif_subr(uint_t subr, uint_t rd, 
 		break;
 
 #else
-	/* 
-         * XXX - The following code works because mutex, rwlocks, & sxlocks
-         *       all have similar data structures in FreeBSD.  This may not be
-         *	 good if someone changes one of the lock data structures.
-	 * 	 Ideally, it would be nice if all these shared a common lock 
-	 * 	 object.
-         */
 	case DIF_SUBR_MUTEX_OWNED:
-		/* XXX - need to use dtrace_canload() and dtrace_loadptr() */ 
-		m.mx = tupregs[0].dttk_value;
-
-#ifdef DOODAD
-		if (LO_CLASSINDEX(&(m.mi->lock_object)) < 2) { 
-			regs[rd] = !(m.mi->mtx_lock & MTX_UNOWNED);
-		} else {	
-			regs[rd] = !(m.mi->mtx_lock & SX_UNLOCKED);
+		if (!dtrace_canload(tupregs[0].dttk_value,
+			sizeof (struct lock_object), mstate, vstate)) {
+			regs[rd] = 0;
+			break;
 		}
-#endif
+		l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value);
+		regs[rd] = LOCK_CLASS(l.li)->lc_owner(l.li, &lowner);
 		break;
 
 	case DIF_SUBR_MUTEX_OWNER:
-		/* XXX - need to use dtrace_canload() and dtrace_loadptr() */ 
-		m.mx = tupregs[0].dttk_value;
-
-		if (LO_CLASSINDEX(&(m.mi->lock_object)) < 2) { 
-			regs[rd] = m.mi->mtx_lock & ~MTX_FLAGMASK;
-		} else {
-			if (!(m.mi->mtx_lock & SX_LOCK_SHARED)) 
-				regs[rd] = SX_OWNER(m.mi->mtx_lock);
-			else
-				regs[rd] = 0;
+		if (!dtrace_canload(tupregs[0].dttk_value,
+			sizeof (struct lock_object), mstate, vstate)) {
+			regs[rd] = 0;
+			break;
 		}
+		l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value);
+		LOCK_CLASS(l.li)->lc_owner(l.li, &lowner);
+		regs[rd] = (uintptr_t)lowner;
 		break;
 
 	case DIF_SUBR_MUTEX_TYPE_ADAPTIVE:
-		/* XXX - need to use dtrace_canload() and dtrace_loadptr() */ 
-		m.mx = tupregs[0].dttk_value;
-
-		regs[rd] = (LO_CLASSINDEX(&(m.mi->lock_object)) != 0);
+		if (!dtrace_canload(tupregs[0].dttk_value, sizeof (struct mtx),
+		    mstate, vstate)) {
+			regs[rd] = 0;
+			break;
+		}
+		l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value);
+		/* XXX - should be only LC_SLEEPABLE? */
+		regs[rd] = (LOCK_CLASS(l.li)->lc_flags &
+		    (LC_SLEEPLOCK | LC_SLEEPABLE)) != 0;
 		break;
 
 	case DIF_SUBR_MUTEX_TYPE_SPIN:
-		/* XXX - need to use dtrace_canload() and dtrace_loadptr() */ 
-		m.mx = tupregs[0].dttk_value;
-
-		regs[rd] = (LO_CLASSINDEX(&(m.mi->lock_object)) == 0);
+		if (!dtrace_canload(tupregs[0].dttk_value, sizeof (struct mtx),
+		    mstate, vstate)) {
+			regs[rd] = 0;
+			break;
+		}
+		l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value);
+		regs[rd] = (LOCK_CLASS(l.li)->lc_flags & LC_SPINLOCK) != 0;
 		break;
 
 	case DIF_SUBR_RW_READ_HELD: 
 	case DIF_SUBR_SX_SHARED_HELD: 
-		/* XXX - need to use dtrace_canload() and dtrace_loadptr() */ 
-		s.sx = tupregs[0].dttk_value;
-		regs[rd] = ((s.si->sx_lock & SX_LOCK_SHARED)  && 
-			    (SX_OWNER(s.si->sx_lock) >> SX_SHARERS_SHIFT) != 0);
+		if (!dtrace_canload(tupregs[0].dttk_value, sizeof (uintptr_t),
+		    mstate, vstate)) {
+			regs[rd] = 0;
+			break;
+		}
+		l.lx = dtrace_loadptr((uintptr_t)&tupregs[0].dttk_value);
+		regs[rd] = LOCK_CLASS(l.li)->lc_owner(l.li, &lowner) &&
+		    lowner == NULL;
 		break;
 
 	case DIF_SUBR_RW_WRITE_HELD:
 	case DIF_SUBR_SX_EXCLUSIVE_HELD:
-		/* XXX - need to use dtrace_canload() and dtrace_loadptr() */ 
-		s.sx = tupregs[0].dttk_value;
-		regs[rd] = (SX_OWNER(s.si->sx_lock) == (uintptr_t) curthread); 
+		if (!dtrace_canload(tupregs[0].dttk_value, sizeof (uintptr_t),
+		    mstate, vstate)) {
+			regs[rd] = 0;
+			break;
+		}
+		l.lx = dtrace_loadptr(tupregs[0].dttk_value);
+		LOCK_CLASS(l.li)->lc_owner(l.li, &lowner);
+		regs[rd] = (lowner == curthread);
 		break;
 
 	case DIF_SUBR_RW_ISWRITER:
 	case DIF_SUBR_SX_ISEXCLUSIVE:
-		/* XXX - need to use dtrace_canload() and dtrace_loadptr() */ 
-		s.sx = tupregs[0].dttk_value;
-		regs[rd] = ((s.si->sx_lock & SX_LOCK_EXCLUSIVE_WAITERS) ||
-		            !(s.si->sx_lock & SX_LOCK_SHARED));
+		if (!dtrace_canload(tupregs[0].dttk_value, sizeof (uintptr_t),
+		    mstate, vstate)) {
+			regs[rd] = 0;
+			break;
+		}
+		l.lx = dtrace_loadptr(tupregs[0].dttk_value);
+		regs[rd] = LOCK_CLASS(l.li)->lc_owner(l.li, &lowner) &&
+		    lowner != NULL;
 		break;
 #endif /* ! defined(sun) */
 

Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zfs_acl.h	Fri May 29 12:50:35 2009	(r193031)
@@ -188,10 +188,8 @@ struct zfs_fuid_info;
 #ifdef _KERNEL
 void zfs_perm_init(struct znode *, struct znode *, int, vattr_t *,
     dmu_tx_t *, cred_t *, zfs_acl_t *, zfs_fuid_info_t **);
-#ifdef TODO
 int zfs_getacl(struct znode *, vsecattr_t *, boolean_t, cred_t *);
 int zfs_setacl(struct znode *, vsecattr_t *, boolean_t, cred_t *);
-#endif
 void zfs_acl_rele(void *);
 void zfs_oldace_byteswap(ace_t *, int);
 void zfs_ace_byteswap(void *, size_t, boolean_t);

Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c	Fri May 29 12:50:35 2009	(r193031)
@@ -1909,7 +1909,6 @@ zfs_perm_init(znode_t *zp, znode_t *pare
 		zfs_acl_free(aclp);
 }
 
-#ifdef TODO
 /*
  * Retrieve a files ACL
  */
@@ -2005,7 +2004,6 @@ zfs_getacl(znode_t *zp, vsecattr_t *vsec
 
 	return (0);
 }
-#endif	/* TODO */
 
 int
 zfs_vsec_2_aclp(zfsvfs_t *zfsvfs, vtype_t obj_type,
@@ -2062,7 +2060,6 @@ zfs_vsec_2_aclp(zfsvfs_t *zfsvfs, vtype_
 	return (0);
 }
 
-#ifdef TODO
 /*
  * Set a files ACL
  */
@@ -2170,7 +2167,6 @@ done:
 
 	return (error);
 }
-#endif	/* TODO */
 
 /*
  * working_mode returns the permissions that were not granted

Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c	Fri May 29 12:50:35 2009	(r193031)
@@ -45,7 +45,6 @@
 #include <sys/errno.h>
 #include <sys/unistd.h>
 #include <sys/zfs_dir.h>
-#include <sys/zfs_acl.h>
 #include <sys/zfs_ioctl.h>
 #include <sys/fs/zfs.h>
 #include <sys/dmu.h>
@@ -67,6 +66,7 @@
 #include <sys/buf.h>
 #include <sys/sf_buf.h>
 #include <sys/sched.h>
+#include <sys/acl.h>
 
 /*
  * Programming rules.
@@ -3846,7 +3846,6 @@ zfs_pathconf(vnode_t *vp, int cmd, ulong
 	}
 }
 
-#ifdef TODO
 /*ARGSUSED*/
 static int
 zfs_getsecattr(vnode_t *vp, vsecattr_t *vsecp, int flag, cred_t *cr,
@@ -3864,9 +3863,7 @@ zfs_getsecattr(vnode_t *vp, vsecattr_t *
 
 	return (error);
 }
-#endif	/* TODO */
 
-#ifdef TODO
 /*ARGSUSED*/
 static int
 zfs_setsecattr(vnode_t *vp, vsecattr_t *vsecp, int flag, cred_t *cr,
@@ -3883,7 +3880,6 @@ zfs_setsecattr(vnode_t *vp, vsecattr_t *
 	ZFS_EXIT(zfsvfs);
 	return (error);
 }
-#endif	/* TODO */
 
 static int
 zfs_freebsd_open(ap)
@@ -3963,7 +3959,7 @@ static int
 zfs_freebsd_access(ap)
 	struct vop_access_args /* {
 		struct vnode *a_vp;
-		int  a_accmode;
+		accmode_t a_accmode;
 		struct ucred *a_cred;
 		struct thread *a_td;
 	} */ *ap;
@@ -4777,6 +4773,90 @@ vop_listextattr {
 	return (error);
 }
 
+int
+zfs_freebsd_getacl(ap)
+	struct vop_getacl_args /* {
+		struct vnode *vp;
+		acl_type_t type;
+		struct acl *aclp;
+		struct ucred *cred;
+		struct thread *td;
+	} */ *ap;
+{
+	int		error;
+	vsecattr_t      vsecattr;
+
+	if (ap->a_type != ACL_TYPE_NFS4)
+		return (EOPNOTSUPP);
+
+	vsecattr.vsa_mask = VSA_ACE | VSA_ACECNT;
+	if (error = zfs_getsecattr(ap->a_vp, &vsecattr, 0, ap->a_cred, NULL))
+		return (error);
+
+	error = acl_from_aces(ap->a_aclp, vsecattr.vsa_aclentp, vsecattr.vsa_aclcnt);
+        if (vsecattr.vsa_aclentp != NULL)
+                kmem_free(vsecattr.vsa_aclentp, vsecattr.vsa_aclentsz);
+
+        return (error);
+}
+
+int
+zfs_freebsd_setacl(ap)
+	struct vop_setacl_args /* {
+		struct vnode *vp;
+		acl_type_t type;
+		struct acl *aclp;
+		struct ucred *cred;
+		struct thread *td;
+	} */ *ap;
+{
+	int		error;
+	vsecattr_t      vsecattr;
+	int		aclbsize;	/* size of acl list in bytes */
+	aclent_t	*aaclp;
+
+	if (ap->a_type != ACL_TYPE_NFS4)
+		return (EOPNOTSUPP);
+
+	if (ap->a_aclp->acl_cnt < 1 || ap->a_aclp->acl_cnt > MAX_ACL_ENTRIES)
+		return (EINVAL);
+
+	/*
+	 * With NFS4 ACLs, chmod(2) may need to add additional entries,
+	 * splitting every entry into two and appending "canonical six"
+	 * entries at the end.  Don't allow for setting an ACL that would
+	 * cause chmod(2) to run out of ACL entries.
+	 */
+	if (ap->a_aclp->acl_cnt * 2 + 6 > ACL_MAX_ENTRIES)
+		return (ENOSPC);
+
+	vsecattr.vsa_mask = VSA_ACE;
+	aclbsize = ap->a_aclp->acl_cnt * sizeof(ace_t);
+	vsecattr.vsa_aclentp = kmem_alloc(aclbsize, KM_SLEEP);
+	aaclp = vsecattr.vsa_aclentp;
+	vsecattr.vsa_aclentsz = aclbsize;
+
+	aces_from_acl(vsecattr.vsa_aclentp, &vsecattr.vsa_aclcnt, ap->a_aclp);
+	error = zfs_setsecattr(ap->a_vp, &vsecattr, 0, ap->a_cred, NULL);
+	kmem_free(aaclp, aclbsize);
+
+	return (error);
+}
+
+int
+zfs_freebsd_aclcheck(ap)
+	struct vop_aclcheck_args /* {
+		struct vnode *vp;
+		acl_type_t type;
+		struct acl *aclp;
+		struct ucred *cred;
+		struct thread *td;
+	} */ *ap;
+{
+
+	return (EOPNOTSUPP);
+}
+
 struct vop_vector zfs_vnodeops;
 struct vop_vector zfs_fifoops;
 
@@ -4816,6 +4896,11 @@ struct vop_vector zfs_vnodeops = {
 	.vop_deleteextattr =	zfs_deleteextattr,
 	.vop_setextattr =	zfs_setextattr,
 	.vop_listextattr =	zfs_listextattr,
+#ifdef notyet
+	.vop_getacl =		zfs_freebsd_getacl,
+	.vop_setacl =		zfs_freebsd_setacl,
+	.vop_aclcheck =		zfs_freebsd_aclcheck,
+#endif
 };
 
 struct vop_vector zfs_fifoops = {
@@ -4829,4 +4914,9 @@ struct vop_vector zfs_fifoops = {
 	.vop_setattr =		zfs_freebsd_setattr,
 	.vop_write =		VOP_PANIC,
 	.vop_fid =		zfs_freebsd_fid,
+#ifdef notyet
+	.vop_getacl =		zfs_freebsd_getacl,
+	.vop_setacl =		zfs_freebsd_setacl,
+	.vop_aclcheck =		zfs_freebsd_aclcheck,
+#endif
 };

Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/rpc/xdr.h	Fri May 29 12:50:35 2009	(r193031)
@@ -121,6 +121,7 @@ typedef struct XDR {
  * Changes must be reviewed by Solaris File Sharing
  * Changes must be communicated to contract-2003-523 at sun.com
  */
+#ifndef __FreeBSD__	
 struct xdr_ops {
 #ifdef __STDC__
 #if !defined(_KERNEL)
@@ -168,6 +169,28 @@ struct xdr_ops {
 #endif
 };
 
+#else /* FreeBSD */
+struct xdr_ops {
+	/* get a long from underlying stream */
+	bool_t	(*x_getint32)(struct XDR *, int32_t *);
+	/* put a long to " */
+	bool_t	(*x_putint32)(struct XDR *, const int32_t *);
+	/* get some bytes from " */
+	bool_t	(*x_getbytes)(struct XDR *, char *, u_int);
+	/* put some bytes to " */
+	bool_t	(*x_putbytes)(struct XDR *, const char *, u_int);
+	/* returns bytes off from beginning */
+	u_int	(*x_getpostn)(struct XDR *);
+	/* lets you reposition the stream */
+	bool_t  (*x_setpostn)(struct XDR *, u_int);
+	/* buf quick ptr to buffered data */
+	int32_t *(*x_inline)(struct XDR *, u_int);
+	/* free privates of this xdr_stream */
+	void	(*x_destroy)(struct XDR *);
+	bool_t	(*x_control)(struct XDR *, int, void *);
+};
+#endif
+	
 /*
  * Operations defined on a XDR handle
  *

Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl.h	Fri May 29 12:50:35 2009	(r193031)
@@ -31,12 +31,22 @@
 #include <sys/types.h>
 #include <sys/acl_impl.h>
 
+#if defined(_KERNEL)
+/*
+ * When compiling OpenSolaris kernel code, this file is getting
+ * included instead of FreeBSD one.  Pull the original sys/acl.h as well.
+ */
+#undef _SYS_ACL_H
+#include_next <sys/acl.h>
+#define	_SYS_ACL_H
+#endif /* _KERNEL */
+
 #ifdef	__cplusplus
 extern "C" {
 #endif
 
 #define	MAX_ACL_ENTRIES		(1024)	/* max entries of each type */
-typedef struct acl {
+typedef struct {
 	int		a_type;		/* the type of ACL entry */
 	uid_t		a_id;		/* the entry in -uid or gid */
 	o_mode_t	a_perm;		/* the permission field */
@@ -49,7 +59,9 @@ typedef struct ace {
 	uint16_t	a_type;		/* allow or deny */
 } ace_t;
 
+#if !defined(_KERNEL)
 typedef struct acl_info acl_t;
+#endif
 
 /*
  * The following are Defined types for an aclent_t.

Modified: projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h
==============================================================================
--- projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/cddl/contrib/opensolaris/uts/common/sys/acl_impl.h	Fri May 29 12:50:35 2009	(r193031)
@@ -44,10 +44,10 @@ extern "C" {
 typedef enum acl_type {
 	ACLENT_T = 0,
 	ACE_T = 1
-} acl_type_t;
+} zfs_acl_type_t;
 
 struct acl_info {
-	acl_type_t acl_type;		/* style of acl */
+	zfs_acl_type_t acl_type;		/* style of acl */
 	int acl_cnt;			/* number of acl entries */
 	int acl_entry_size;		/* sizeof acl entry */
 	int acl_flags;			/* special flags about acl */

Modified: projects/pnet/sys/compat/freebsd32/freebsd32_misc.c
==============================================================================
--- projects/pnet/sys/compat/freebsd32/freebsd32_misc.c	Fri May 29 10:52:37 2009	(r193030)
+++ projects/pnet/sys/compat/freebsd32/freebsd32_misc.c	Fri May 29 12:50:35 2009	(r193031)
@@ -112,8 +112,6 @@ CTASSERT(sizeof(struct msghdr32) == 28);
 CTASSERT(sizeof(struct stat32) == 96);
 CTASSERT(sizeof(struct sigaction32) == 24);
 
-extern int jail_max_af_ips;
-
 static int freebsd32_kevent_copyout(void *arg, struct kevent *kevp, int count);
 static int freebsd32_kevent_copyin(void *arg, struct kevent *kevp, int count);
 
@@ -2044,17 +2042,9 @@ freebsd32_sysctl(struct thread *td, stru
 int
 freebsd32_jail(struct thread *td, struct freebsd32_jail_args *uap)
 {
-	struct iovec optiov[10];
-	struct uio opt;
-	char *u_path, *u_hostname, *u_name;
-#ifdef INET
-	struct in_addr *u_ip4;
-#endif
-#ifdef INET6
-	struct in6_addr *u_ip6;
-#endif
 	uint32_t version;
 	int error;
+	struct jail j;
 

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


More information about the svn-src-projects mailing list