From owner-p4-projects@FreeBSD.ORG Fri Apr 27 04:27:22 2007 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 2B9DF16A404; Fri, 27 Apr 2007 04:27:22 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id DC0CF16A401 for ; Fri, 27 Apr 2007 04:27:21 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [69.147.83.41]) by mx1.freebsd.org (Postfix) with ESMTP id CA78C13C44C for ; Fri, 27 Apr 2007 04:27:21 +0000 (UTC) (envelope-from kmacy@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.8/8.13.8) with ESMTP id l3R4RLxj042517 for ; Fri, 27 Apr 2007 04:27:21 GMT (envelope-from kmacy@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.8/8.13.8/Submit) id l3R4RKhT042514 for perforce@freebsd.org; Fri, 27 Apr 2007 04:27:20 GMT (envelope-from kmacy@freebsd.org) Date: Fri, 27 Apr 2007 04:27:20 GMT Message-Id: <200704270427.l3R4RKhT042514@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to kmacy@freebsd.org using -f From: Kip Macy To: Perforce Change Reviews Cc: Subject: PERFORCE change 118856 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Apr 2007 04:27:22 -0000 http://perforce.freebsd.org/chv.cgi?CH=118856 Change 118856 by kmacy@kmacy_vt-x:opentoe_init on 2007/04/27 04:26:27 IFC Affected files ... .. //depot/projects/opentoe/ObsoleteFiles.inc#6 integrate .. //depot/projects/opentoe/lib/libexpat/expat_config.h#2 integrate .. //depot/projects/opentoe/release/doc/en_US.ISO8859-1/relnotes/article.sgml#6 integrate .. //depot/projects/opentoe/share/examples/Makefile#2 integrate .. //depot/projects/opentoe/share/examples/netgraph/bluetooth/rc.bluetooth#2 delete .. //depot/projects/opentoe/share/man/man4/led.4#2 integrate .. //depot/projects/opentoe/share/man/man4/vlan.4#2 integrate .. //depot/projects/opentoe/share/misc/committers-ports.dot#5 integrate .. //depot/projects/opentoe/sys/amd64/amd64/local_apic.c#3 integrate .. //depot/projects/opentoe/sys/amd64/amd64/pmap.c#4 integrate .. //depot/projects/opentoe/sys/amd64/amd64/vm_machdep.c#2 integrate .. //depot/projects/opentoe/sys/conf/files#5 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/dnlc.c#2 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#2 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#2 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#3 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 integrate .. //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zil.c#2 integrate .. //depot/projects/opentoe/sys/dev/acpi_support/acpi_ibm.c#3 integrate .. //depot/projects/opentoe/sys/dev/acpica/acpi.c#4 integrate .. //depot/projects/opentoe/sys/dev/ata/ata-disk.c#2 integrate .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_main.c#7 integrate .. //depot/projects/opentoe/sys/dev/cxgb/cxgb_sge.c#19 integrate .. //depot/projects/opentoe/sys/dev/firewire/firewire.h#2 integrate .. //depot/projects/opentoe/sys/dev/firewire/fwdev.c#2 integrate .. //depot/projects/opentoe/sys/dev/msk/if_msk.c#3 integrate .. //depot/projects/opentoe/sys/dev/msk/if_mskreg.h#2 integrate .. //depot/projects/opentoe/sys/dev/pci/pci.c#4 integrate .. //depot/projects/opentoe/sys/dev/pci/pcireg.h#3 integrate .. //depot/projects/opentoe/sys/dev/usb/if_ural.c#4 integrate .. //depot/projects/opentoe/sys/i386/i386/local_apic.c#3 integrate .. //depot/projects/opentoe/sys/i386/i386/pmap.c#5 integrate .. //depot/projects/opentoe/sys/i386/i386/vm_machdep.c#3 integrate .. //depot/projects/opentoe/sys/kern/kern_descrip.c#3 integrate .. //depot/projects/opentoe/sys/kern/vfs_bio.c#3 integrate .. //depot/projects/opentoe/sys/kern/vfs_mount.c#5 integrate .. //depot/projects/opentoe/sys/modules/zfs/Makefile#2 integrate .. //depot/projects/opentoe/sys/netgraph/ng_l2tp.c#3 integrate .. //depot/projects/opentoe/sys/nfsclient/nfs_bio.c#2 integrate .. //depot/projects/opentoe/sys/nfsclient/nfs_vnops.c#2 integrate .. //depot/projects/opentoe/sys/sys/proc.h#4 integrate .. //depot/projects/opentoe/sys/vm/vm_map.c#3 integrate .. //depot/projects/opentoe/usr.bin/calendar/calendars/calendar.freebsd#4 integrate .. //depot/projects/opentoe/usr.sbin/pciconf/cap.c#2 integrate Differences ... ==== //depot/projects/opentoe/ObsoleteFiles.inc#6 (text+ko) ==== @@ -1,5 +1,5 @@ # -# $FreeBSD: src/ObsoleteFiles.inc,v 1.80 2007/04/20 23:47:30 brueffer Exp $ +# $FreeBSD: src/ObsoleteFiles.inc,v 1.81 2007/04/24 16:58:54 emax Exp $ # # This file lists old files (OLD_FILES), libraries (OLD_LIBS) and # directories (OLD_DIRS) which should get removed at an update. Recently @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20070423: rc.bluetooth (examples) removed +OLD_FILES+=usr/share/examples/netgraph/bluetooth/rc.bluetooth # 20070421: worm.4 removed OLD_FILES+=usr/share/man/man4/worm.4.gz # 20070417: trunk(4) renamed to lagg(4) ==== //depot/projects/opentoe/lib/libexpat/expat_config.h#2 (text+ko) ==== @@ -1,7 +1,13 @@ -/* $FreeBSD: src/lib/libexpat/expat_config.h,v 1.1 2002/10/02 07:35:35 phk Exp $ */ +/* $FreeBSD: src/lib/libexpat/expat_config.h,v 1.2 2007/04/24 06:29:27 phk Exp $ */ + +#include /* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */ +#if BYTE_ORDER == LITTLE_ENDIAN #define BYTEORDER 1234 +#else +#define BYTEORDER 4321 +#endif /* Define to 1 if you have the `bcopy' function. */ #define HAVE_BCOPY 1 @@ -67,7 +73,11 @@ #define STDC_HEADERS 1 /* whether byteorder is bigendian */ -/* #undef WORDS_BIGENDIAN */ +#if BYTE_ORDER == BIG_ENDIAN +#define WORDS_BIGENDIAN +#else +#undef WORDS_BIGENDIAN +#endif /* Define to specify how much context to retain around the current parse point. */ ==== //depot/projects/opentoe/release/doc/en_US.ISO8859-1/relnotes/article.sgml#6 (text+ko) ==== @@ -30,7 +30,7 @@ The &os; Project - $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1022 2007/04/23 22:48:13 gshapiro Exp $ + $FreeBSD: src/release/doc/en_US.ISO8859-1/relnotes/article.sgml,v 1.1023 2007/04/24 08:58:09 yar Exp $ 2000 @@ -1356,7 +1356,7 @@ The &man.arp.8; utility now allows the option together with the and options - to allow all entries for a given interface to be removed. + to allow all entries for a given interface to be removed. &merged; The OpenBSM userland tools, including &man.audit.8;, &man.auditd.8;, @@ -1490,16 +1490,17 @@ The &man.ifconfig.8; utility now supports a flag to allow printing potentially sensitive keying material to standard output. - This sensitive information will not be printed by default. + This sensitive information will not be printed by default. + &merged; The &man.ifconfig.8; utility now supports a parameter, which is just an alias for , - yet is more convenient and easier to type. + yet is more convenient and easier to type. &merged; The parameter to &man.ifconfig.8; no longer requires a network interface as its argument. The argument still is supported for backward compatibility, but - is now deprecated and its use is discouraged. + is now deprecated and its use is discouraged. &merged; The &man.iostat.8; utility now supports a flag (inspired by Solaris) to print ==== //depot/projects/opentoe/share/examples/Makefile#2 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/examples/Makefile,v 1.49 2006/03/17 18:54:33 ru Exp $ +# $FreeBSD: src/share/examples/Makefile,v 1.50 2007/04/24 16:58:54 emax Exp $ # # Doing a make install builds /usr/share/examples @@ -141,7 +141,6 @@ mdoc/example.3 \ mdoc/example.4 \ mdoc/example.9 \ - netgraph/bluetooth/rc.bluetooth \ netgraph/ether.bridge \ netgraph/frame_relay \ netgraph/ngctl \ ==== //depot/projects/opentoe/share/man/man4/led.4#2 (text+ko) ==== @@ -22,9 +22,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/led.4,v 1.12 2005/07/21 08:55:46 phk Exp $ +.\" $FreeBSD: src/share/man/man4/led.4,v 1.14 2007/04/24 07:10:10 phk Exp $ .\" -.Dd May 29, 2005 +.Dd April 24, 2007 .Dt LED 4 .Os .Sh NAME @@ -35,6 +35,8 @@ .Pp .Fd "typedef void led_t(void *priv, int onoff);" .Ft struct cdev * +.Fn led_create_state "led_t *func" "void *priv" "char const *name" "int state" +.Ft struct cdev * .Fn led_create "led_t *func" "void *priv" "char const *name" .Ft void .Fn led_destroy "struct cdev *" ==== //depot/projects/opentoe/share/man/man4/vlan.4#2 (text+ko) ==== @@ -23,9 +23,9 @@ .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" -.\" $FreeBSD: src/share/man/man4/vlan.4,v 1.33 2006/12/13 02:42:01 yongari Exp $ +.\" $FreeBSD: src/share/man/man4/vlan.4,v 1.41 2007/04/24 11:48:49 yar Exp $ .\" -.Dd December 13, 2006 +.Dd April 24, 2007 .Dt VLAN 4 .Os .Sh NAME @@ -108,8 +108,8 @@ Such interfaces are automatically recognized by their capabilities. Depending on the level of sophistication found in a physical interface, it may do full VLAN processing or just be able to -receive and transmit frames exceeding the maximum Ethernet frame size -by the length of a 802.1Q header. +receive and transmit long frames (up to 1522 bytes including an Ethernet +header and FCS). The capabilities may be user-controlled by the respective parameters to .Xr ifconfig 8 , .Cm vlanhwtag @@ -138,8 +138,8 @@ VLANs using software emulation in the .Nm driver. -However, most of them lack the capability -of transmitting and receiving oversized frames. +However, some of them lack the capability +of transmitting and receiving long frames. Assigning such an interface as the parent to .Nm will result in a reduced MTU on the corresponding @@ -151,79 +151,36 @@ .Xr icmp 4 filtering that breaks the Path MTU Discovery mechanism. .Pp -The interfaces that support oversized frames are as follows: -.Bl -tag -width ".Xr fxp 4 " -offset indent -.It Xr bfe 4 -supports long frames for +The following interfaces support long frames for .Nm -natively. -.It Xr dc 4 -supports long frames for -.Nm -natively. -.It Xr de 4 -requires defining -.Dv BIG_PACKET -in the -.Pa /usr/src/sys/pci/if_de.c -source file and rebuilding the kernel -or module. -The hack works only for the 21041, 21140, and 21140A chips. -.It Xr fxp 4 -supports long frames for -.Nm -natively. -.It Xr gem 4 -supports long frames for -.Nm -natively. -.It Xr hme 4 -supports long frames for -.Nm -natively. -.It Xr le 4 -supports long frames for -.Nm -natively. -.It Xr rl 4 -supports long frames for -.Nm -natively. -.It Xr sis 4 -supports long frames for -.Nm -natively. -.It Xr sk 4 -supports long frames for -.Nm -natively. -.It Xr ste 4 -supports long frames for -.Nm -natively. -.It Xr tl 4 -has support for long frames. -.It Xr tx 4 -supports long frames for -.Nm -natively. -.It Xr xl 4 -supports long frames only if the card is built on a newer chip -(Cyclone and above). -.El +natively: +.Xr bfe 4 , +.Xr dc 4 , +.Xr fxp 4 , +.Xr gem 4 , +.Xr hme 4 , +.Xr le 4 , +.Xr rl 4 , +.Xr sis 4 , +.Xr sk 4 , +.Xr ste 4 , +.Xr tx 4 , +.Xr vr 4 , +and +.Xr xl 4 . .Pp The .Nm -driver automatically recognizes devices that natively support oversized frames +driver automatically recognizes devices that natively support long frames for .Nm use and calculates the appropriate frame MTU based on the capabilities of the parent interface. -The other interfaces listed above can handle oversized frames, +Some other interfaces not listed above may handle long frames, but they do not advertise this ability of theirs. The MTU setting on .Nm -can be corrected manually if used in conjunction with such parent interface. +can be corrected manually if used in conjunction with such a parent interface. .Sh SEE ALSO .Xr kqueue 2 , .Xr miibus 4 , ==== //depot/projects/opentoe/share/misc/committers-ports.dot#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/share/misc/committers-ports.dot,v 1.51 2007/04/22 02:36:08 tmclaugh Exp $ +# $FreeBSD: src/share/misc/committers-ports.dot,v 1.53 2007/04/25 11:59:09 nemoliu Exp $ # This file is meant to list all FreeBSD ports committers and describe the # mentor-mentee relationships between them. @@ -96,6 +96,7 @@ miwi [label="Martin Wilke\nmiwi@FreeBSD.org\n2006/06/04"] mm [label="Martin Matuska\nmm@FreeBSD.org\n2007/04/04"] mnag [label="Marcus Alves Grando\nmnag@FreeBSD.org\n2005/09/15"] +nemoliu [label="Tong Liu\nnemoliu@FreeBSD.org\n2007/04/25"] netchild [label="Alexander Leidinger\nnetchild@FreeBSD.org\n2002/03/19"] nobutaka [label="Nobutaka Mantani\nnobutaka@FreeBSD.org\n2001/11/02"] nork [label="Norikatsu Shigemura\nnork@FreeBSD.org\n2002/04/01"] @@ -114,6 +115,7 @@ stas [label="Stanislav Sedov\nstas@FreeBSD.org\n2006/09/18"] stefan [label="Stefan Walter\nstefan@FreeBSD.org\n2006/05/07"] tdb [label="Tim Bishop\ntdb@FreeBSD.org\n2005/11/30"] +trasz [label="Edward Tomasz Napierala\ntrasz@FreeBSD.org\n2007/04/12"] trhodes [label="Tom Rhodes\ntrhodes@FreeBSD.org\n2004/07/06"] thierry [label="Thierry Thomas\nthierry@FreeBSD.org\n2004/03/15"] tmclaugh [label="Tom McLaughlin\ntmclaugh@FreeBSD.org\n2005/09/15"] @@ -143,6 +145,7 @@ clsung -> lwhsu +delphij -> nemoliu delphij -> rafan demon -> mat @@ -210,6 +213,7 @@ miwi -> farrokhi miwi -> nox +miwi -> trasz mnag -> jmelo ==== //depot/projects/opentoe/sys/amd64/amd64/local_apic.c#3 (text+ko) ==== @@ -32,7 +32,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.37 2007/03/20 21:53:30 jhb Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/local_apic.c,v 1.38 2007/04/25 19:58:41 ariff Exp $"); #include "opt_hwpmc_hooks.h" @@ -326,6 +326,29 @@ /* XXX: Error and thermal LVTs */ + if (strcmp(cpu_vendor, "AuthenticAMD") == 0) { + /* + * Detect the presence of C1E capability mostly on latest + * dual-cores (or future) k8 family. This feature renders + * the local APIC timer dead, so we disable it by reading + * the Interrupt Pending Message register and clearing both + * C1eOnCmpHalt (bit 28) and SmiOnCmpHalt (bit 27). + * + * Reference: + * "BIOS and Kernel Developer's Guide for AMD NPT + * Family 0Fh Processors" + * #32559 revision 3.00 + */ + if ((cpu_id & 0x00000f00) == 0x00000f00 && + (cpu_id & 0x0fff0000) >= 0x00040000) { + uint64_t msr; + + msr = rdmsr(0xc0010055); + if (msr & 0x18000000) + wrmsr(0xc0010055, msr & ~0x18000000ULL); + } + } + intr_restore(eflags); } ==== //depot/projects/opentoe/sys/amd64/amd64/pmap.c#4 (text+ko) ==== @@ -77,7 +77,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.583 2007/04/21 14:17:29 ups Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/pmap.c,v 1.584 2007/04/25 18:10:43 ups Exp $"); /* * Manages physical address maps. ==== //depot/projects/opentoe/sys/amd64/amd64/vm_machdep.c#2 (text+ko) ==== @@ -41,7 +41,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.252 2006/09/17 14:54:14 davidxu Exp $"); +__FBSDID("$FreeBSD: src/sys/amd64/amd64/vm_machdep.c,v 1.254 2007/04/24 21:17:45 jhb Exp $"); #include "opt_isa.h" #include "opt_cpu.h" @@ -457,6 +457,10 @@ static void cpu_reset_real() { + struct region_descriptor null_idt; + int b; + + disable_intr(); /* * Attempt to do a CPU reset via the keyboard controller, @@ -465,14 +469,44 @@ */ outb(IO_KBD + 4, 0xFE); DELAY(500000); /* wait 0.5 sec to see if that did it */ - printf("Keyboard reset did not work, attempting CPU shutdown\n"); + + /* + * Attempt to force a reset via the Reset Control register at + * I/O port 0xcf9. Bit 2 forces a system reset when it is + * written as 1. Bit 1 selects the type of reset to attempt: + * 0 selects a "soft" reset, and 1 selects a "hard" reset. We + * try to do a "soft" reset first, and then a "hard" reset. + */ + outb(0xcf9, 0x2); + outb(0xcf9, 0x6); + DELAY(500000); /* wait 0.5 sec to see if that did it */ + + /* + * Attempt to force a reset via the Fast A20 and Init register + * at I/O port 0x92. Bit 1 serves as an alternate A20 gate. + * Bit 0 asserts INIT# when set to 1. We are careful to only + * preserve bit 1 while setting bit 0. We also must clear bit + * 0 before setting it if it isn't already clear. + */ + b = inb(0x92); + if (b != 0xff) { + if ((b & 0x1) != 0) + outb(0x92, b & 0xfe); + outb(0x92, b | 0x1); + DELAY(500000); /* wait 0.5 sec to see if that did it */ + } + + printf("No known reset method worked, attempting CPU shutdown\n"); DELAY(1000000); /* wait 1 sec for printf to complete */ - /* Force a shutdown by unmapping entire address space. */ - bzero((caddr_t)PML4map, PAGE_SIZE); + /* Wipe the IDT. */ + null_idt.rd_limit = 0; + null_idt.rd_base = 0; + lidt(&null_idt); /* "good night, sweet prince .... " */ - invltlb(); + breakpoint(); + /* NOTREACHED */ while(1); } ==== //depot/projects/opentoe/sys/conf/files#5 (text+ko) ==== @@ -1,4 +1,4 @@ -# $FreeBSD: src/sys/conf/files,v 1.1197 2007/04/21 22:08:47 rwatson Exp $ +# $FreeBSD: src/sys/conf/files,v 1.1198 2007/04/25 15:30:17 mav Exp $ # # The long compile-with and dependency lines are required because of # limitations in config: backslash-newline doesn't work in strings, and @@ -1550,8 +1550,8 @@ net/if_mib.c standard net/if_ppp.c optional ppp net/if_sl.c optional sl -net/if_spppfr.c optional i4bisppp | sppp -net/if_spppsubr.c optional i4bisppp | sppp +net/if_spppfr.c optional i4bisppp | sppp | netgraph_sppp +net/if_spppsubr.c optional i4bisppp | sppp | netgraph_sppp net/if_stf.c optional stf net/if_tun.c optional tun net/if_tap.c optional tap @@ -1565,9 +1565,10 @@ net/raw_usrreq.c standard net/route.c standard net/rtsock.c standard -net/slcompress.c optional netgraph_vjc | ppp | sl | sppp +net/slcompress.c optional netgraph_vjc | ppp | sl | sppp | \ + netgraph_sppp net/zlib.c optional crypto | geom_uzip | ipsec | \ - ppp_deflate + ppp_deflate | netgraph_deflate net80211/ieee80211.c optional wlan net80211/ieee80211_acl.c optional wlan_acl net80211/ieee80211_amrr.c optional wlan_amrr @@ -1800,11 +1801,11 @@ netinet/tcp_timer.c optional inet netinet/tcp_usrreq.c optional inet netinet/udp_usrreq.c optional inet -netinet/libalias/alias.c optional libalias -netinet/libalias/alias_db.c optional libalias -netinet/libalias/alias_mod.c optional libalias -netinet/libalias/alias_proxy.c optional libalias -netinet/libalias/alias_util.c optional libalias +netinet/libalias/alias.c optional libalias | netgraph_nat +netinet/libalias/alias_db.c optional libalias | netgraph_nat +netinet/libalias/alias_mod.c optional libalias | netgraph_nat +netinet/libalias/alias_proxy.c optional libalias | netgraph_nat +netinet/libalias/alias_util.c optional libalias | netgraph_nat netinet6/ah_aesxcbcmac.c optional ipsec netinet6/ah_core.c optional ipsec netinet6/ah_input.c optional ipsec ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/dnlc.c#2 (text+ko) ==== @@ -203,7 +203,11 @@ { "pick_last", KSTAT_DATA_UINT64 }, }; +#ifdef FREEBSD_NAMECACHE +static int doingcache = 0; +#else static int doingcache = 1; +#endif TUNABLE_INT("vfs.zfs.dnlc.enable", &doingcache); SYSCTL_INT(_vfs_zfs_dnlc, OID_AUTO, enable, CTLFLAG_RDTUN, &doingcache, 0, "Enable/disable name cache"); ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/vdev.c#3 (text+ko) ==== @@ -1262,7 +1262,6 @@ vdev_config_dirty(vd->vdev_top); } - bzero(&smlock, sizeof(smlock)); mutex_init(&smlock, NULL, MUTEX_DEFAULT, NULL); space_map_create(&smsync, sm->sm_start, sm->sm_size, sm->sm_shift, ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_acl.c#2 (text+ko) ==== @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_dir.c#2 (text+ko) ==== @@ -41,6 +41,7 @@ #include #include #include +#include #include #include #include ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c#3 (text+ko) ==== @@ -1085,7 +1085,7 @@ } static int -zfs_ioc_pool_props_set(zfs_cmd_t *zc) +zfs_ioc_pool_set_props(zfs_cmd_t *zc) { nvlist_t *nvl; int error, reset_bootfs = 0; @@ -1181,7 +1181,7 @@ } static int -zfs_ioc_pool_props_get(zfs_cmd_t *zc) +zfs_ioc_pool_get_props(zfs_cmd_t *zc) { spa_t *spa; int error; @@ -1692,8 +1692,8 @@ { zfs_ioc_snapshot, zfs_secpolicy_operator, dataset_name }, { zfs_ioc_dsobj_to_dsname, zfs_secpolicy_config, pool_name }, { zfs_ioc_obj_to_path, zfs_secpolicy_config, no_name }, - { zfs_ioc_pool_props_set, zfs_secpolicy_config, pool_name }, - { zfs_ioc_pool_props_get, zfs_secpolicy_read, pool_name }, + { zfs_ioc_pool_set_props, zfs_secpolicy_config, pool_name }, + { zfs_ioc_pool_get_props, zfs_secpolicy_read, pool_name }, { zfs_ioc_jail, zfs_secpolicy_config, dataset_name }, { zfs_ioc_unjail, zfs_secpolicy_config, dataset_name } }; ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c#4 (text+ko) ==== @@ -288,6 +288,7 @@ int64_t start, off; int len = nbytes; int error = 0; + uint64_t dirbytes; ASSERT(vp->v_mount != NULL); obj = vp->v_object; @@ -295,34 +296,46 @@ start = uio->uio_loffset; off = start & PAGEOFFSET; + dirbytes = 0; VM_OBJECT_LOCK(obj); for (start &= PAGEMASK; len > 0; start += PAGESIZE) { uint64_t bytes = MIN(PAGESIZE - off, len); - uint64_t woff = uio->uio_loffset; + uint64_t fsize; again: if ((m = vm_page_lookup(obj, OFF_TO_IDX(start))) != NULL && vm_page_is_valid(m, (vm_offset_t)off, bytes)) { + uint64_t woff; caddr_t va; if (vm_page_sleep_if_busy(m, FALSE, "zfsmwb")) goto again; + fsize = obj->un_pager.vnp.vnp_size; vm_page_busy(m); + vm_page_lock_queues(); + vm_page_undirty(m); + vm_page_unlock_queues(); VM_OBJECT_UNLOCK(obj); - sched_pin(); - sf = sf_buf_alloc(m, SFB_CPUPRIVATE); - va = (caddr_t)sf_buf_kva(sf); - error = uiomove(va+off, bytes, UIO_WRITE, uio); - if (error == 0) - dmu_write(os, zp->z_id, woff, bytes, va+off, tx); - sf_buf_free(sf); - sched_unpin(); + if (dirbytes > 0) { + error = dmu_write_uio(os, zp->z_id, uio, + dirbytes, tx); + dirbytes = 0; + } + if (error == 0) { + sched_pin(); + sf = sf_buf_alloc(m, SFB_CPUPRIVATE); + va = (caddr_t)sf_buf_kva(sf); + woff = uio->uio_loffset - off; + error = uiomove(va + off, bytes, UIO_WRITE, uio); + dmu_write(os, zp->z_id, woff, + MIN(PAGESIZE, fsize - woff), va, tx); + sf_buf_free(sf); + sched_unpin(); + } VM_OBJECT_LOCK(obj); vm_page_wakeup(m); } else { - VM_OBJECT_UNLOCK(obj); - error = dmu_write_uio(os, zp->z_id, uio, bytes, tx); - VM_OBJECT_LOCK(obj); + dirbytes += bytes; } len -= bytes; off = 0; @@ -330,6 +343,8 @@ break; } VM_OBJECT_UNLOCK(obj); + if (error == 0 && dirbytes > 0) + error = dmu_write_uio(os, zp->z_id, uio, dirbytes, tx); return (error); } @@ -355,6 +370,7 @@ caddr_t va; int len = nbytes; int error = 0; + uint64_t dirbytes; ASSERT(vp->v_mount != NULL); obj = vp->v_object; @@ -362,6 +378,7 @@ start = uio->uio_loffset; off = start & PAGEOFFSET; + dirbytes = 0; VM_OBJECT_LOCK(obj); for (start &= PAGEMASK; len > 0; start += PAGESIZE) { uint64_t bytes = MIN(PAGESIZE - off, len); @@ -373,12 +390,19 @@ goto again; vm_page_busy(m); VM_OBJECT_UNLOCK(obj); - sched_pin(); - sf = sf_buf_alloc(m, SFB_CPUPRIVATE); - va = (caddr_t)sf_buf_kva(sf); - error = uiomove(va + off, bytes, UIO_READ, uio); - sf_buf_free(sf); - sched_unpin(); + if (dirbytes > 0) { + error = dmu_read_uio(os, zp->z_id, uio, + dirbytes); + dirbytes = 0; + } + if (error == 0) { + sched_pin(); + sf = sf_buf_alloc(m, SFB_CPUPRIVATE); + va = (caddr_t)sf_buf_kva(sf); + error = uiomove(va + off, bytes, UIO_READ, uio); + sf_buf_free(sf); + sched_unpin(); + } VM_OBJECT_LOCK(obj); vm_page_wakeup(m); } else if (m != NULL && uio->uio_segflg == UIO_NOCOPY) { @@ -393,20 +417,26 @@ goto again; vm_page_busy(m); VM_OBJECT_UNLOCK(obj); - sched_pin(); - sf = sf_buf_alloc(m, SFB_CPUPRIVATE); - va = (caddr_t)sf_buf_kva(sf); - error = dmu_read(os, zp->z_id, start + off, bytes, - (void *)(va + off)); - sf_buf_free(sf); - sched_unpin(); + if (dirbytes > 0) { + error = dmu_read_uio(os, zp->z_id, uio, + dirbytes); + dirbytes = 0; + } + if (error == 0) { + sched_pin(); + sf = sf_buf_alloc(m, SFB_CPUPRIVATE); + va = (caddr_t)sf_buf_kva(sf); + error = dmu_read(os, zp->z_id, start + off, + bytes, (void *)(va + off)); + sf_buf_free(sf); + sched_unpin(); + } VM_OBJECT_LOCK(obj); vm_page_wakeup(m); - uio->uio_resid -= bytes; + if (error == 0) + uio->uio_resid -= bytes; } else { - VM_OBJECT_UNLOCK(obj); - error = dmu_read_uio(os, zp->z_id, uio, bytes); - VM_OBJECT_LOCK(obj); + dirbytes += bytes; } len -= bytes; off = 0; @@ -414,6 +444,8 @@ break; } VM_OBJECT_UNLOCK(obj); + if (error == 0 && dirbytes > 0) + error = dmu_read_uio(os, zp->z_id, uio, dirbytes); return (error); } @@ -2963,7 +2995,7 @@ if (size == LONG_FID_LEN) { uint64_t objsetid = dmu_objset_id(zfsvfs->z_os); - zfid_long_t *zlfid; + zfid_long_t *zlfid; zlfid = (zfid_long_t *)fidp; @@ -3397,11 +3429,6 @@ { vnode_t *vp = ap->a_vp; - /* - * Destroy the vm object and flush associated pages. - */ - vnode_destroy_vobject(vp); - zfs_inactive(vp, ap->a_td->td_ucred); return (0); } @@ -3415,26 +3442,36 @@ { vnode_t *vp = ap->a_vp; znode_t *zp = VTOZ(vp); + zfsvfs_t *zfsvfs; + int rele = 1; + + ASSERT(zp != NULL); - if (zp != NULL) - mutex_enter(&zp->z_lock); -#if 0 /* - * We do it from zfs_inactive(), because after zfs_inactive() we can't - * VOP_WRITE() to the vnode. - */ /* * Destroy the vm object and flush associated pages. */ vnode_destroy_vobject(vp); -#endif + + mutex_enter(&zp->z_lock); + ASSERT(zp->z_phys); + ASSERT(zp->z_dbuf_held); + zfsvfs = zp->z_zfsvfs; + if (!zp->z_unlinked) { + zp->z_dbuf_held = 0; + ZTOV(zp) = NULL; + mutex_exit(&zp->z_lock); + dmu_buf_rele(zp->z_dbuf, NULL); + } else { + mutex_exit(&zp->z_lock); + } VI_LOCK(vp); + if (vp->v_count > 0) + rele = 0; vp->v_data = NULL; - if (zp != NULL) - zp->z_vnode = NULL; ASSERT(vp->v_holdcnt > 1); vdropl(vp); - if (zp != NULL) - mutex_exit(&zp->z_lock); + if (!zp->z_unlinked && rele) + VFS_RELE(zfsvfs->z_vfs); return (0); } ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zfs_znode.c#3 (text+ko) ==== @@ -369,7 +369,7 @@ mutex_enter(&zp->z_lock); - nzp = dmu_buf_set_user(db, zp, &zp->z_phys, znode_pageout_func); + nzp = dmu_buf_set_user_ie(db, zp, &zp->z_phys, znode_pageout_func); /* * there should be no @@ -683,12 +683,8 @@ } ASSERT(zp->z_phys); ASSERT(zp->z_dbuf_held); - - zp->z_dbuf_held = 0; mutex_exit(&zp->z_lock); - dmu_buf_rele(zp->z_dbuf, NULL); ZFS_OBJ_HOLD_EXIT(zfsvfs, z_id); - VFS_RELE(zfsvfs->z_vfs); } /* ==== //depot/projects/opentoe/sys/contrib/opensolaris/uts/common/fs/zfs/zil.c#2 (text+ko) ==== @@ -70,7 +70,7 @@ int zil_disable = 0; /* disable intent logging */ SYSCTL_DECL(_vfs_zfs); TUNABLE_INT("vfs.zfs.zil_disable", &zil_disable); -SYSCTL_INT(_vfs_zfs, OID_AUTO, zil_disable, CTLFLAG_RDTUN, &zil_disable, 0, +SYSCTL_INT(_vfs_zfs, OID_AUTO, zil_disable, CTLFLAG_RW, &zil_disable, 0, "Disable ZFS Intent Log (ZIL)"); /* ==== //depot/projects/opentoe/sys/dev/acpi_support/acpi_ibm.c#3 (text+ko) ==== @@ -26,7 +26,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpi_support/acpi_ibm.c,v 1.13 2007/03/22 18:16:40 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpi_support/acpi_ibm.c,v 1.14 2007/04/24 23:09:37 markus Exp $"); /* * Driver for extra ACPI-controlled gadgets found on IBM ThinkPad laptops. @@ -412,7 +412,7 @@ /* Hook up light to led(4) */ if (sc->light_set_supported) - sc->led_dev = led_create(ibm_led, sc, "thinklight"); + sc->led_dev = led_create_state(ibm_led, sc, "thinklight", sc->light_val); return (0); } @@ -810,7 +810,8 @@ case ACPI_IBM_METHOD_THINKLIGHT: sc->cmos_handle = NULL; - sc->light_get_supported = ACPI_SUCCESS(acpi_GetInteger(sc->ec_handle, IBM_NAME_KEYLIGHT, &dummy)); + sc->light_get_supported = ACPI_SUCCESS(acpi_GetInteger( + sc->ec_handle, IBM_NAME_KEYLIGHT, &sc->light_val)); if ((ACPI_SUCCESS(AcpiGetHandle(sc->handle, "\\UCMS", &sc->light_handle)) || ACPI_SUCCESS(AcpiGetHandle(sc->handle, "\\CMOS", &sc->light_handle)) || @@ -831,12 +832,15 @@ sc->light_set_supported = (sc->light_handle && ACPI_FAILURE(AcpiGetHandle(sc->ec_handle, "LEDB", &ledb_handle))); - if (sc->light_get_supported || sc->light_set_supported) { + if (sc->light_get_supported) + return (TRUE); + + if (sc->light_set_supported) { sc->light_val = 0; return (TRUE); } - else - return (FALSE); + + return (FALSE); case ACPI_IBM_METHOD_BLUETOOTH: case ACPI_IBM_METHOD_WLAN: ==== //depot/projects/opentoe/sys/dev/acpica/acpi.c#4 (text+ko) ==== @@ -28,7 +28,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.234 2007/03/22 18:16:40 jkim Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/acpica/acpi.c,v 1.235 2007/04/25 16:22:18 jhb Exp $"); #include "opt_acpi.h" #include @@ -1034,7 +1034,7 @@ * the request from our system resource regions. If we can't, pass the * request up to the parent. */ - if (!(start == 0UL && end == ~0UL) && rm != NULL) + if (start + count - 1 == end && rm != NULL) res = rman_reserve_resource(rm, start, end, count, flags & ~RF_ACTIVE, child); if (res == NULL) { ==== //depot/projects/opentoe/sys/dev/ata/ata-disk.c#2 (text+ko) ==== @@ -25,7 +25,7 @@ */ #include -__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.201 2007/02/21 19:07:18 sos Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.202 2007/04/26 12:59:20 roberto Exp $"); #include "opt_ata.h" #include @@ -277,8 +277,6 @@ request->u.ata.feature = 0; request->bytecount = 0; request->transfersize = 0; - request->timeout = 1; - request->retries = 0; request->flags = ATA_R_CONTROL; request->u.ata.command = ATA_FLUSHCACHE; break; ==== //depot/projects/opentoe/sys/dev/cxgb/cxgb_main.c#7 (text+ko) ==== @@ -32,7 +32,7 @@ ***************************************************************************/ #include -__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.14 2007/04/15 05:45:09 kmacy Exp $"); +__FBSDID("$FreeBSD: src/sys/dev/cxgb/cxgb_main.c,v 1.15 2007/04/26 08:38:00 kmacy Exp $"); #include #include @@ -188,6 +188,10 @@ SYSCTL_NODE(_hw, OID_AUTO, cxgb, CTLFLAG_RD, 0, "CXGB driver parameters"); >>> TRUNCATED FOR MAIL (1000 lines) <<<