PERFORCE change 122397 for review

Rui Paulo rpaulo at FreeBSD.org
Wed Jun 27 12:51:32 UTC 2007


http://perforce.freebsd.org/chv.cgi?CH=122397

Change 122397 by rpaulo at rpaulo_epsilon on 2007/06/27 12:50:52

	IFC

Affected files ...

.. //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#10 integrate
.. //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-all.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-disk.c#4 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_pci.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/iwi/if_iwi.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/rp/rp.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_ural.c#8 integrate
.. //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#10 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_fifoops.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_subr.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_uma.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_uma.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vfsops.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_vnops.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/kern_rwlock.c#5 integrate
.. //depot/projects/soc2007/rpaulo-macbook/kern/kern_timeout.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/net/if_gre.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/netinet/sctputil.c#12 integrate
.. //depot/projects/soc2007/rpaulo-macbook/security/audit/audit_syscalls.c#6 integrate
.. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_audit.c#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_framework.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/security/mac/mac_policy.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/security/mac_stub/mac_stub.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/security/mac_test/mac_test.c#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sys/_rwlock.h#2 integrate
.. //depot/projects/soc2007/rpaulo-macbook/sys/rwlock.h#3 integrate
.. //depot/projects/soc2007/rpaulo-macbook/vm/vm_pageout.c#7 integrate

Differences ...

==== //depot/projects/soc2007/rpaulo-macbook/conf/NOTES#10 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/sys/conf/NOTES,v 1.1436 2007/06/25 05:06:55 rafan Exp $
+# $FreeBSD: src/sys/conf/NOTES,v 1.1437 2007/06/27 02:34:22 rafan Exp $
 #
 # NOTES -- Lines that can be cut/pasted into kernel and hints configs.
 #

==== //depot/projects/soc2007/rpaulo-macbook/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c#5 (text+ko) ====

@@ -766,7 +766,7 @@
 		vn_lock(*vpp, flags, curthread);
 	}
 	ZFS_EXIT(zfsvfs);
-	return (0);
+	return (err);
 }
 
 static int

==== //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-all.h#2 (text+ko) ====

@@ -23,7 +23,7 @@
  * (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: src/sys/dev/ata/ata-all.h,v 1.123 2007/04/08 19:18:51 sos Exp $
+ * $FreeBSD: src/sys/dev/ata/ata-all.h,v 1.124 2007/06/26 22:13:43 remko Exp $
  */
 
 /* ATA register defines */
@@ -294,6 +294,7 @@
 #define ATA_DEV(device)                 ((device == ATA_MASTER) ? 0 : 1)
 #define ATA_CFA_MAGIC1                  0x844A
 #define ATA_CFA_MAGIC2                  0x848A
+#define ATA_CFA_MAGIC3                  0x8400
 #define ATAPI_MAGIC_LSB                 0x14
 #define ATAPI_MAGIC_MSB                 0xeb
 #define ATAPI_P_READ                    (ATA_S_DRQ | ATA_I_IN)

==== //depot/projects/soc2007/rpaulo-macbook/dev/ata/ata-disk.c#4 (text+ko) ====

@@ -25,7 +25,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.203 2007/05/06 01:20:06 pjd Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/ata/ata-disk.c,v 1.204 2007/06/26 22:13:43 remko Exp $");
 
 #include "opt_ata.h"
 #include <sys/param.h>
@@ -80,7 +80,8 @@
 
     if (!(atadev->param.config & ATA_PROTO_ATAPI) ||
 	(atadev->param.config == ATA_CFA_MAGIC1) ||
-	(atadev->param.config == ATA_CFA_MAGIC2))
+	(atadev->param.config == ATA_CFA_MAGIC2) ||
+	(atadev->param.config == ATA_CFA_MAGIC3))
 	return 0;
     else
 	return ENXIO;

==== //depot/projects/soc2007/rpaulo-macbook/dev/isp/isp_pci.c#5 (text+ko) ====

@@ -28,7 +28,7 @@
  * FreeBSD Version.
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.145 2007/06/11 17:56:17 mjacob Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/isp/isp_pci.c,v 1.148 2007/06/26 23:08:57 mjacob Exp $");
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -2847,10 +2847,22 @@
 		    (ispextreq_t *)qep);
 		break;
 	case RQSTYPE_T2RQS:
-		isp_put_request_t2(isp, (ispreqt2_t *) rq, (ispreqt2_t *) qep);
+		if (FCPARAM(isp)->isp_2klogin) {
+			isp_put_request_t2e(isp,
+			    (ispreqt2e_t *) rq, (ispreqt2e_t *) qep);
+		} else {
+			isp_put_request_t2(isp,
+			    (ispreqt2_t *) rq, (ispreqt2_t *) qep);
+		}
 		break;
+	case RQSTYPE_T3RQS:
+		if (FCPARAM(isp)->isp_2klogin) {
+			isp_put_request_t3e(isp,
+			    (ispreqt3e_t *) rq, (ispreqt3e_t *) qep);
+			break;
+		}
+		/* FALLTHROUGH */
 	case RQSTYPE_A64:
-	case RQSTYPE_T3RQS:
 		isp_put_request_t3(isp, (ispreqt3_t *) rq, (ispreqt3_t *) qep);
 		break;
 	case RQSTYPE_T7RQS:

==== //depot/projects/soc2007/rpaulo-macbook/dev/iwi/if_iwi.c#3 (text+ko) ====

@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.54 2007/06/11 10:56:06 thompsa Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/iwi/if_iwi.c,v 1.55 2007/06/25 20:56:33 thompsa Exp $");
 
 /*-
  * Intel(R) PRO/Wireless 2200BG/2225BG/2915ABG driver
@@ -2630,6 +2630,7 @@
 			return error;
 	}
 
+	memset(&rs, 0, sizeof rs);
 	rs.mode = IWI_MODE_11G;
 	rs.type = IWI_RATESET_TYPE_SUPPORTED;
 	rs.nrates = ic->ic_sup_rates[IEEE80211_MODE_11G].rs_nrates;
@@ -2640,6 +2641,7 @@
 	if (error != 0)
 		return error;
 
+	memset(&rs, 0, sizeof rs);
 	rs.mode = IWI_MODE_11A;
 	rs.type = IWI_RATESET_TYPE_SUPPORTED;
 	rs.nrates = ic->ic_sup_rates[IEEE80211_MODE_11A].rs_nrates;
@@ -2866,7 +2868,7 @@
 	struct iwi_associate *assoc = &sc->assoc;
 	struct iwi_rateset rs;
 	uint16_t capinfo;
-	int error;
+	int error, mode;
 
 	IWI_LOCK_ASSERT(sc);
 
@@ -2877,12 +2879,22 @@
 
 	IWI_STATE_BEGIN(sc, IWI_FW_ASSOCIATING);
 	error = 0;
+	mode = 0;
+
+	if (IEEE80211_IS_CHAN_A(ic->ic_curchan))
+		mode = IWI_MODE_11A;
+	else if (IEEE80211_IS_CHAN_G(ic->ic_curchan))
+		mode = IWI_MODE_11G;
+	if (IEEE80211_IS_CHAN_B(ic->ic_curchan))
+		mode = IWI_MODE_11B;
+
 	if (IEEE80211_IS_CHAN_2GHZ(ic->ic_curchan)) {
 		memset(&config, 0, sizeof config);
 		config.bluetooth_coexistence = sc->bluetooth;
 		config.antenna = sc->antenna;
 		config.multicast_enabled = 1;
-		config.use_protection = 1;
+		if (mode == IWI_MODE_11G)
+			config.use_protection = 1;
 		config.answer_pbreq =
 		    (ic->ic_opmode == IEEE80211_M_IBSS) ? 1 : 0;
 		config.disable_unicast_decryption = 1;
@@ -2905,13 +2917,8 @@
 		goto done;
 
 	/* the rate set has already been "negotiated" */
-	if (IEEE80211_IS_CHAN_A(ic->ic_curchan))
-		rs.mode = IWI_MODE_11A;
-	else if (IEEE80211_IS_CHAN_G(ic->ic_curchan))
-		rs.mode = IWI_MODE_11G;
-	if (IEEE80211_IS_CHAN_B(ic->ic_curchan))
-		rs.mode = IWI_MODE_11B;
-
+	memset(&rs, 0, sizeof rs);
+	rs.mode = mode;
 	rs.type = IWI_RATESET_TYPE_NEGOTIATED;
 	rs.nrates = ni->ni_rates.rs_nrates;
 	if (rs.nrates > IWI_RATESET_SIZE) {
@@ -2946,13 +2953,7 @@
 	if (error != 0)
 		goto done;
 
-	if (IEEE80211_IS_CHAN_A(ic->ic_curchan))
-		assoc->mode = IWI_MODE_11A;
-	else if (IEEE80211_IS_CHAN_G(ic->ic_curchan))
-		assoc->mode = IWI_MODE_11G;
-	else if (IEEE80211_IS_CHAN_B(ic->ic_curchan))
-		assoc->mode = IWI_MODE_11B;
-	
+	assoc->mode = mode;
 	assoc->chan = ic->ic_curchan->ic_ieee;
 	/*
 	 * NB: do not arrange for shared key auth w/o privacy

==== //depot/projects/soc2007/rpaulo-macbook/dev/rp/rp.c#2 (text+ko) ====

@@ -32,7 +32,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/rp/rp.c,v 1.72 2006/11/20 12:59:27 marius Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/rp/rp.c,v 1.73 2007/06/26 13:50:48 remko Exp $");
 
 /* 
  * rp.c - for RocketPort FreeBSD
@@ -573,6 +573,7 @@
 
 static	void	rpbreak(struct tty *, int);
 static	void	rpclose(struct tty *tp);
+static	void	rphardclose(struct tty *tp);
 static	int	rpmodem(struct tty *, int, int);
 static	int	rpparam(struct tty *, struct termios *);
 static	void	rpstart(struct tty *);
@@ -697,7 +698,7 @@
 			if((tp->t_state & TS_CARR_ON)) {
 				(void)ttyld_modem(tp, 0);
 				if(ttyld_modem(tp, 0) == 0) {
-					rpclose(tp);
+					rphardclose(tp);
 				}
 			}
 		}
@@ -935,6 +936,16 @@
 rpclose(struct tty *tp)
 {
 	struct	rp_port	*rp;
+
+	rp = tp->t_sc;
+	rphardclose(tp);
+	device_unbusy(rp->rp_ctlp->dev);
+}
+
+static void
+rphardclose(struct tty *tp)
+{
+	struct	rp_port	*rp;
 	CHANNEL_t	*cp;
 
 	rp = tp->t_sc;
@@ -958,7 +969,6 @@
 	tp->t_actout = FALSE;
 	wakeup(&tp->t_actout);
 	wakeup(TSA_CARR_ON(tp));
-	device_unbusy(rp->rp_ctlp->dev);
 }
 
 static void

==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/if_ural.c#8 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.64 2007/06/23 06:52:56 imp Exp $	*/
+/*	$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.65 2007/06/25 20:51:58 imp Exp $	*/
 
 /*-
  * Copyright (c) 2005, 2006
@@ -18,7 +18,7 @@
  */
 
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.64 2007/06/23 06:52:56 imp Exp $");
+__FBSDID("$FreeBSD: src/sys/dev/usb/if_ural.c,v 1.65 2007/06/25 20:51:58 imp Exp $");
 
 /*-
  * Ralink Technology RT2500USB chipset driver
@@ -89,9 +89,9 @@
 	{ USB_VENDOR_GIGABYTE,		USB_PRODUCT_GIGABYTE_GNWBKG },
 	{ USB_VENDOR_GIGABYTE,		USB_PRODUCT_GIGABYTE_GN54G },
 	{ USB_VENDOR_GUILLEMOT,		USB_PRODUCT_GUILLEMOT_HWGUSB254 },
-	{ USB_VENDOR_LINKSYS4,		USB_PRODUCT_LINKSYS4_WUSB54G },
-	{ USB_VENDOR_LINKSYS4,		USB_PRODUCT_LINKSYS4_WUSB54GP },
-	{ USB_VENDOR_LINKSYS4,		USB_PRODUCT_LINKSYS4_HU200TS },
+	{ USB_VENDOR_CISCOLINKSYS,	USB_PRODUCT_CISCOLINKSYS_WUSB54G },
+	{ USB_VENDOR_CISCOLINKSYS,	USB_PRODUCT_CISCOLINKSYS_WUSB54GP },
+	{ USB_VENDOR_CISCOLINKSYS,	USB_PRODUCT_CISCOLINKSYS_HU200TS },
 	{ USB_VENDOR_MELCO,		USB_PRODUCT_MELCO_KG54 },
 	{ USB_VENDOR_MELCO,		USB_PRODUCT_MELCO_KG54AI },
 	{ USB_VENDOR_MELCO,		USB_PRODUCT_MELCO_KG54YB },

==== //depot/projects/soc2007/rpaulo-macbook/dev/usb/usbdevs#10 (text+ko) ====

@@ -1,4 +1,4 @@
-$FreeBSD: src/sys/dev/usb/usbdevs,v 1.309 2007/06/23 06:52:56 imp Exp $
+$FreeBSD: src/sys/dev/usb/usbdevs,v 1.311 2007/06/26 05:29:27 imp Exp $
 /* $NetBSD: usbdevs,v 1.392 2004/12/29 08:38:44 imp Exp $ */
 
 /*-
@@ -62,13 +62,12 @@
  * make the device recognised by the appropriate device driver.
  */
 
+vendor UNKNOWN1		0x0053	Unknown vendor
+vendor UNKNOWN2		0x0105	Unknown vendor
 vendor EGALAX2		0x0123	eGalax
-vendor DICKSMITH	0x1371	Dick Smith Electronics
-vendor NETGEAR3		0x1385	Netgear
-vendor CISCOLINKSYS	0x13b1	Cisco-Linksys
-vendor WISTRONNEWEB	0x1435	Wistron NeWeb
-vendor UMEDIA		0x157e	U-MEDIA Communications
+vendor HUMAX		0x02ad	HUMAX
 vendor LTS		0x0386	LTS
+vendor BWCT		0x03da	Bernd Walter Computer Technology
 vendor AOX		0x03e8	AOX
 vendor THESYS		0x03e9	Thesys
 vendor DATABROADCAST	0x03ea	Data Broadcasting
@@ -103,46 +102,47 @@
 vendor VIA		0x040d	VIA
 vendor MCCI		0x040e	MCCI
 vendor MELCO		0x0411	Melco
+vendor LEADTEK		0x0413	Leadtek
 vendor WINBOND		0x0416	Winbond
 vendor PHOENIX		0x041a	Phoenix
 vendor CREATIVE		0x041e	Creative
 vendor NOKIA		0x0421	Nokia
 vendor ADI		0x0422	ADI
 vendor CATC		0x0423	Computer Access Technology
-vendor SMC2		0x0424	SMC
+vendor SMC2		0x0424	Standard Microsystems
 vendor MOTOROLA_HK	0x0425	Motorola HK
-vendor GRAVIS		0x0428	Advanced Gravis Computer Tech.
+vendor GRAVIS		0x0428	Advanced Gravis Computer
 vendor CIRRUSLOGIC	0x0429	Cirrus Logic
 vendor INNOVATIVE	0x042c	Innovative Semiconductors
 vendor MOLEX		0x042f	Molex
-vendor SUN2		0x0430	Sun Microsystems (unofficial)
+vendor SUN		0x0430	Sun Microsystems
 vendor UNISYS		0x0432	Unisys
 vendor TAUGA		0x0436	Taugagreining HF
-vendor AMD		0x0438	ADM
-vendor LEXMARK		0x043d	Lexmark
+vendor AMD		0x0438	Advanced Micro Devices
+vendor LEXMARK		0x043d	Lexmark International
 vendor LG		0x043e	LG Electronics
 vendor NANAO		0x0440	NANAO
 vendor GATEWAY		0x0443	Gateway 2000
 vendor NMB		0x0446	NMB
-vendor ALPS		0x044e	Alps
+vendor ALPS		0x044e	Alps Electric
 vendor THRUST		0x044f	Thrustmaster
 vendor TI		0x0451	Texas Instruments
 vendor ANALOGDEVICES	0x0456	Analog Devices
-vendor SIS		0x0457	SIS
-vendor KYE		0x0458	KYE
+vendor SIS		0x0457	Silicon Integrated Systems Corp.
+vendor KYE		0x0458	KYE Systems
 vendor DIAMOND2		0x045a	Diamond (Supra)
 vendor RENESAS		0x045b	Renesas
 vendor MICROSOFT	0x045e	Microsoft
-vendor PRIMAX		0x0461	Primax
-vendor MGE		0x0463	MGE
+vendor PRIMAX		0x0461	Primax Electronics
+vendor MGE		0x0463	MGE UPS Systems
 vendor AMP		0x0464	AMP
-vendor CHERRY		0x046a	Cherry
+vendor CHERRY		0x046a	Cherry Mikroschalter
 vendor MEGATRENDS	0x046b	American Megatrends
 vendor LOGITECH		0x046d	Logitech
-vendor BTC		0x046e	BTC
+vendor BTC		0x046e	Behavior Tech. Computer
 vendor PHILIPS		0x0471	Philips
-vendor SUN		0x0472	Sun Microsystems (offical)
-vendor SANYO		0x0474	Sanyo
+vendor SUN2		0x0472	Sun Microsystems (offical)
+vendor SANYO		0x0474	Sanyo Electric
 vendor SEAGATE		0x0477	Seagate
 vendor CONNECTIX	0x0478	Connectix
 vendor SEMTECH		0x047a	Semtech
@@ -156,32 +156,33 @@
 vendor COMPAQ		0x049f	Compaq
 vendor HITACHI		0x04a4	Hitachi
 vendor ACERP		0x04a5	Acer Peripherals
+vendor DAVICOM		0x04a6	Davicom
 vendor VISIONEER	0x04a7	Visioneer
 vendor CANON		0x04a9	Canon
 vendor NIKON		0x04b0	Nikon
 vendor PAN		0x04b1	Pan International
 vendor IBM		0x04b3	IBM
-vendor CYPRESS		0x04b4	Cypress
+vendor CYPRESS		0x04b4	Cypress Semiconductor
 vendor ROHM		0x04b5	ROHM
 vendor COMPAL		0x04b7	Compal
 vendor EPSON		0x04b8	Seiko Epson
-vendor RAINBOW		0x04b9	Rainbow
+vendor RAINBOW		0x04b9	Rainbow Technologies
 vendor IODATA		0x04bb	I-O Data
 vendor TDK		0x04bf	TDK
 vendor 3COMUSR		0x04c1	U.S. Robotics
-vendor METHODE		0x04c2	Methode
+vendor METHODE		0x04c2	Methode Electronics Far East
 vendor MAXISWITCH	0x04c3	Maxi Switch
 vendor LOCKHEEDMER	0x04c4	Lockheed Martin Energy Research
 vendor FUJITSU		0x04c5	Fujitsu
-vendor TOSHIBAAM	0x04c6	Toshiba
-vendor MICROMACRO	0x04c7	Micro Macro
+vendor TOSHIBAAM	0x04c6	Toshiba America
+vendor MICROMACRO	0x04c7	Micro Macro Technologies
 vendor KONICA		0x04c8	Konica
-vendor LITEON		0x04ca	Lite-On
-vendor FUJIPHOTO	0x04cb	Fuji Photo
-vendor PHILIPSSEMI	0x04cc	Philips
-vendor TATUNG		0x04cd	Tatung
+vendor LITEON		0x04ca	Lite-On Technology
+vendor FUJIPHOTO	0x04cb	Fuji Photo Film
+vendor PHILIPSSEMI	0x04cc	Philips Semiconductors
+vendor TATUNG		0x04cd	Tatung Co. Of America
 vendor SCANLOGIC	0x04ce	ScanLogic
-vendor MYSON		0x04cf	Myson
+vendor MYSON		0x04cf	Myson Technology
 vendor DIGI2		0x04d0	Digi
 vendor ITTCANON		0x04d1	ITT Canon
 vendor ALTEC		0x04d2	Altec Lansing
@@ -528,18 +529,25 @@
 vendor HUAWEI		0x12d1	Huawei Technologies
 vendor AINCOMM		0x12fd	Aincomm
 vendor MOBILITY		0x1342	Mobility
-vendor LINKSYS4		0x13b1	Linksys
+vendor DICKSMITH	0x1371	Dick Smith Electronics
+vendor NETGEAR3		0x1385	Netgear
+vendor CISCOLINKSYS	0x13b1	Cisco-Linksys
 vendor SHARK		0x13d2	Shark
 vendor NOVATEL		0x1410	Novatel Wireless
+vendor WISTRONNEWEB	0x1435	Wistron NeWeb
 vendor RADIOSHACK	0x1453	Radio Shack
 vendor HUAWEI3COM	0x1472	Huawei 3Com
 vendor SILICOM		0x1485	Silicom
 vendor RALINK		0x148f	Ralink Technology
 vendor IMAGINATION	0x149a	Imagination Technologies
 vendor CONCEPTRONIC2	0x14b2	Conceptronic
+vendor PLANEX3		0x14ea	Planex Communications
 vendor SILICONPORTALS	0x1527	Silicon Portals
 vendor UBIQUAM		0x1529	UBIQUAM Co., Ltd.
+vendor UBLOX		0x1546	U-blox
 vendor PNY		0x154b	PNY
+vendor OQO		0x1557	OQO
+vendor UMEDIA		0x157e	U-MEDIA Communications
 vendor SOHOWARE		0x15e8	SOHOware
 vendor UMAX		0x1606	UMAX
 vendor INSIDEOUT	0x1608	Inside Out Networks
@@ -551,6 +559,7 @@
 vendor GLOBALSUN	0x16ab	Global Sun Technology
 vendor ANYDATA		0x16d5	AnyData Corporation
 vendor CMOTECH		0x16d8	CMOTECH CO., LTD.
+vendor LINKSYS4		0x1737	Linksys
 vendor AMIT		0x18c5	AMIT
 vendor QCOM		0x18e8	Qcom
 vendor LINKSYS3		0x1915	Linksys
@@ -611,9 +620,12 @@
 product ABOCOM XX5		0x4007	XX5
 product ABOCOM XX6		0x400b	XX6
 product ABOCOM XX7		0x400c	XX7
+product ABOCOM RTL8151		0x401a	RTL8151
 product ABOCOM XX8		0x4102	XX8
 product ABOCOM XX9		0x4104	XX9
+product ABOCOM UF200		0x420a	UF200 Ethernet
 product ABOCOM XX10		0xabc1	XX10
+product ABOCOM BWU613		0xb000	BWU613
 product ABOCOM HWU54DM		0xb21b	HWU54DM
 product ABOCOM RT2573_2		0xb21c	RT2573
 product ABOCOM RT2573_3		0xb21d	RT2573
@@ -622,11 +634,18 @@
 
 /* Accton products */
 product ACCTON USB320_EC	0x1046	USB320-EC Ethernet
+product ACCTON 2664W		0x3501	2664W
+product ACCTON 111		0x3503	T-Sinus 111 WLAN
+product ACCTON SMCWUSBG		0x4505	SMCWUSB-G
 product ACCTON SS1001		0x5046	SpeedStream Ethernet
+product ACCTON ZD1211B		0xe501	ZD1211B
 
 /* Aceeca products */
 product ACEECA MEZ1000		0x0001	Aceeca Mez1000 RDA
 
+/* Acer Communications & Multimedia (oemd by Surecom) */
+product ACERCM EP1427X2		0x0893	EP-1427X-2 Ethernet
+
 /* Acer Labs products */
 product ACERLABS M5632		0x5632	USB 2.0 Data Link
 
@@ -752,6 +771,8 @@
 
 /* ASIX Electronics products */
 product ASIX AX88172		0x1720	10/100 ethernet
+product ASIX AX88178		0x1780	AX88178
+product ASIX AX88772		0x7720	AX88772
 
 /* ASUS products */
 product ASUS WL167G		0x1707	WL-167g wireless adapter
@@ -791,25 +812,34 @@
 
 /* Belkin products */
 /*product BELKIN F5U111		0x????	F5U111 Ethernet*/
-product BELKIN2 F5U002		0x0002	F5U002 Parallel printer
-product BELKIN USB2LAN		0x0121	USB to LAN
+product BELKIN F5D6050		0x0050	F5D6050 802.11b Wireless adapter
+product BELKIN FBT001V		0x0081	FBT001v2 Bluetooth
+product BELKIN FBT003V		0x0084	FBT003v2 Bluetooth
 product BELKIN F5U103		0x0103	F5U103 Serial
 product BELKIN F5U109		0x0109	F5U109 Serial
+product BELKIN SCSI		0x0115	SCSI
+product BELKIN USB2LAN		0x0121	USB to LAN
 product BELKIN F5U208		0x0208	F5U208 VideoBus II
+product BELKIN F5U237		0x0237	F5U237 USB 2.0 7-Port Hub
+product BELKIN F5U257		0x0257	F5U257 Serial
 product BELKIN F5U409		0x0409	F5U409 Serial
 product BELKIN F6C550AVR	0x0551	F6C550-AVR UPS
 product BELKIN F5U120		0x1203	F5U120-PC Hub
+product BELKIN ZD1211B		0x4050	ZD1211B
+product BELKIN F5D5055		0x5055	F5D5055
 product BELKIN F5D7050		0x7050	F5D7050 wireless adapter
 product BELKIN F5D7051		0x7051	F5D7051 54g USB Network Adapter
 product BELKIN F5D7050A		0x705a	F5D7050A wireless adapter
 product BELKIN F5D7050_V4000	0x705c	F5D7050 v4000 wireless adapter
 product BELKIN F5D9050V3	0x905b	F5D9050 ver 3 wireless adapter
+product BELKIN2 F5U002		0x0002	F5U002 Parallel printer
 
 /* Billionton products */
 product BILLIONTON USB100	0x0986	USB100N 10/100 FastEthernet
 product BILLIONTON USBLP100	0x0987	USB100LP
 product BILLIONTON USBEL100	0x0988	USB100EL
 product BILLIONTON USBE100	0x8511	USBE100
+product BILLIONTON USB2AR	0x90ff	USB2AR Ethernet
 
 /* Broadcom products */
 product BROADCOM BCM2033	0x2033	BCM2033 Bluetooth USB dongle
@@ -854,8 +884,13 @@
 product CHICONY KB8933		0x0001	KB-8933 keyboard
 
 /* Cisco-Linksys products */
+product CISCOLINKSYS WUSB54G	0x000d	WUSB54G wireless adapter
+product CISCOLINKSYS WUSB54GP	0x0011	WUSB54GP wireless adapter
+product CISCOLINKSYS USB200MV2	0x0018	USB200M v2
+product CISCOLINKSYS HU200TS	0x001a	HU200TS wireless adapter
 product CISCOLINKSYS WUSB54GC	0x0020	WUSB54GC
 product CISCOLINKSYS WUSB54GR	0x0023	WUSB54GR
+product CISCOLINKSYS WUSBF54G	0x0024	WUSBF54G
 
 /* CMOTECH products */
 product CMOTECH CNU510		0x5141	CMOTECH CDMA Technologies USB modem
@@ -872,7 +907,12 @@
 /* Corega products */
 product COREGA ETHER_USB_T	0x0001	Ether USB-T
 product COREGA FETHER_USB_TX	0x0004	FEther USB-TX
+product COREGA WLAN_USB_USB_11	0x000c	WirelessLAN USB-11
 product COREGA FETHER_USB_TXS	0x000d	FEther USB-TXS
+product COREGA WLANUSB		0x0012	Wireless LAN Stick-11
+product COREGA FETHER_USB2_TX	0x0017	FEther USB2-TX
+product COREGA WLUSB_11_KEY	0x001a	ULUSB-11 Key
+product COREGA WLUSB_11_STICK	0x7613	WLAN USB Stick 11
 product COREGA FETHER_USB_TXC	0x9601	FEther USB-TXC
 
 /* Creative products */
@@ -937,17 +977,18 @@
 /*product DLINK DSBS25		0x0100	DSB-S25 serial*/
 product DLINK DUBE100		0x1a00	10/100 ethernet
 product DLINK DSB650TX4		0x200c	10/100 ethernet
-product DLINK DWLG122		0x3c00	DWL-G122 b1 wireless adapter
-product DLINK DWLAG122		0x3a04	DWL-AG122
-product DLINK DWLAG122_NF	0x3a05	DWL-AG122 (no firmware)
+product DLINK DWL120E		0x3200	DWL-120 rev E
+product DLINK DWL122		0x3700	DWL-122
+product DLINK DWLG120		0x3701	DWL-G120
+product DLINK DWL120F		0x3702	DWL-120 rev F
 product DLINK DWLAG132		0x3a00	DWL-AG132
 product DLINK DWLAG132_NF	0x3a01	DWL-AG132 (no firmware)
 product DLINK DWLG132		0x3a02	DWL-G132
 product DLINK DWLG132_NF	0x3a03	DWL-G132 (no firmware)
 product DLINK DWLAG122		0x3a04	DWL-AG122
 product DLINK DWLAG122_NF	0x3a05	DWL-AG122 (no firmware)
-product DLINK2 DWLG122C1	0x3c03	DWL-G122 c1
-product DLINK2 WUA1340		0x3c04	WUA-1340
+product DLINK DWLG122		0x3c00	DWL-G122 b1 wireless adapter
+product DLINK DUBE100B1		0x3c05	DUB-E100 rev B1
 product DLINK DSB650C		0x4000	10Mbps ethernet
 product DLINK DSB650TX1		0x4001	10/100 ethernet
 product DLINK DSB650TX		0x4002	10/100 ethernet
@@ -955,6 +996,8 @@
 product DLINK DSB650TX3		0x400b	10/100 ethernet
 product DLINK DSB650TX2		0x4102	10/100 ethernet
 product DLINK DSB650		0xabc1	10/100 ethernet
+product DLINK2 DWLG122C1	0x3c03	DWL-G122 c1
+product DLINK2 WUA1340		0x3c04	WUA-1340
 
 /* EIZO products */
 product EIZO HUB		0x0000	hub
@@ -1044,11 +1087,11 @@
 product	FTDI TACTRIX_OPENPORT_13M 0xcc48 OpenPort 1.3 Mitsubishi
 product	FTDI TACTRIX_OPENPORT_13S 0xcc49 OpenPort 1.3 Subaru
 product	FTDI TACTRIX_OPENPORT_13U 0xcc4a OpenPort 1.3 Universal
-product FTDI EISCOU		0xe888 "Expert ISDN Control USB"
-product FTDI UOPTBR		0xe889 "USB-RS232 OptoBridge"
-product FTDI EMCU2D		0xe88a "Expert mouseCLOCK USB II"
-product FTDI PCMSFU		0xe88b "Precision Clock MSF USB"
-product FTDI EMCU2H		0xe88c "Expert mouseCLOCK USB II HBG"
+product FTDI EISCOU		0xe888	Expert ISDN Control USB
+product FTDI UOPTBR		0xe889	USB-RS232 OptoBridge
+product FTDI EMCU2D		0xe88a	Expert mouseCLOCK USB II
+product FTDI PCMSFU		0xe88b	Precision Clock MSF USB
+product FTDI EMCU2H		0xe88c	Expert mouseCLOCK USB II HBG
 product FTDI USBSERIAL		0xfa00	Matrix Orbital USB Serial
 product FTDI MX2_3		0xfa01	Matrix Orbital MX2 or MX3
 product FTDI MX4_5		0xfa02	Matrix Orbital MX4 or MX5
@@ -1110,6 +1153,7 @@
 product GOHUBS GOCOM232		0x1001	GoCOM232 Serial
 
 /* Good Way Technology products */
+product GOODWAY GWUSB2E		0x6200	GWUSB2E
 product GOODWAY RT2573		0xc019	RT2573
 
 /* Gravis products */
@@ -1228,10 +1272,16 @@
 /* I/O DATA products */
 product IODATA IU_CD2		0x0204	DVD Multi-plus unit iU-CD2
 product IODATA DVR_UEH8		0x0206	DVD Multi-plus unit DVR-UEH8
+product IODATA USBSSMRW		0x0314	USB-SSMRW SD-card
+product IODATA USBSDRW		0x031e	USB-SDRW SD-card
 product IODATA USBETT		0x0901	USB ETT
 product IODATA USBETTX		0x0904	USB ETTX
 product IODATA USBETTXS		0x0913	USB ETTX
+product IODATA USBWNB11A	0x0919	USB WN-B11
+product IODATA USBWNB11		0x0922	USB Airport WN-B11
+product IODATA ETGUS2		0x0930	ETG-US2
 product IODATA USBRSAQ		0x0a03	Serial USB-RSAQ1
+product IODATA2 USB2SC		0x0a09	USB2.0-SCSI Bridge USB2-SC
 
 /* Iomega products */
 product IOMEGA ZIP100		0x0001	Zip 100
@@ -1339,9 +1389,7 @@
 product LINKSYS2 WUSB11		0x2219	WUSB11 Wireless adapter
 product LINKSYS2 USB200M	0x2226	USB 2.0 10/100 ethernet
 product LINKSYS3 WUSB11v28	0x2233	WUSB11 v2.8 wireless adapter
-product LINKSYS4 WUSB54G	0x000d	WUSB54G wireless adapter
-product LINKSYS4 WUSB54GP	0x0011	WUSB54GP wireless adapter
-product LINKSYS4 HU200TS	0x001a	HU200TS wireless adapter
+product LINKSYS4 USB1000	0x0039	USB1000
 
 /* Logitech products */
 product LOGITECH M2452		0x0203	M2452 keyboard
@@ -1426,9 +1474,16 @@
 product MICROSOFT DDS80		0x0014	Digital Sound System 80
 product MICROSOFT SIDEWINDER	0x001a	Sidewinder Precision Racing Wheel
 product MICROSOFT INETPRO	0x001c	Internet Keyboard Pro
+product MICROSOFT TBEXPLORER	0x0024	Trackball Explorer
 product MICROSOFT INTELLIEYE	0x0025	IntelliEye mouse
 product MICROSOFT INETPRO2	0x002b	Internet Keyboard Pro
+product MICROSOFT MN510		0x006e	MN510 Wireless
 product MICROSOFT MN110		0x007a	10/100 USB NIC
+product MICROSOFT WLINTELLIMOUSE 0x008c	Wireless Optical IntelliMouse
+product	MICROSOFT WLNOTEBOOK	0x00b9	Wireless Optical Mouse (Model 1023)
+product	MICROSOFT WLNOTEBOOK2	0x00e1	Wireless Optical Mouse 3000 (Model 1056)
+product MICROSOFT WLUSBMOUSE	0x00b9	Wireless USB Mouse
+product MICROSOFT XBOX360	0x0292	XBOX 360 WLAN
 
 /* Microtech products */
 product MICROTECH SCSIDB25	0x0004	USB-SCSI-DB25
@@ -1542,6 +1597,12 @@
 /* OnSpec Electronic, Inc. */
 product ONSPEC UCF100		0xa400	FlashLink UCF-100 CompactFlash Reader
 
+/* OQO */
+product OQO WIFI01		0x0002	model 01 WiFi interface
+product OQO BT01		0x0003	model 01 Bluetooth interface
+product OQO ETHER01PLUS		0x7720	model 01+ Ethernet
+product OQO ETHER01		0x8150	model 01 Ethernet interface
+
 /* Palm Computing, Inc. product */
 product PALM SERIAL		0x0080	USB Serial
 product PALM M500		0x0001	Palm m500
@@ -1585,9 +1646,15 @@
 product PIENGINEERING PS2USB	0x020b	PS2 to Mac USB Adapter
 
 /* Planex Communications products */
+product PLANEX GW_US11H		0x14ea	GW-US11H WLAN
+product PLANEX2 GW_US11S	0x3220	GW-US11S WLAN
 product PLANEX2 GWUS54HP	0xab01	GW-US54HP
 product PLANEX2 GWUS54MINI2	0xab50	GW-US54Mini2
+product PLANEX2 GWUS54SG	0xc002	GW-US54SG
+product PLANEX2 GWUS54GZL	0xc007	GW-US54GZL
 product PLANEX2 GWUSMM		0xed02	GW-USMM
+product PLANEX3 GU1000T		0xab11	GU-1000T
+product PLANEX3 GWUS54MINI	0xab13	GW-US54Mini
 
 /* Plextor Corp. */
 product PLEXTOR 40_12_40U	0x0011	PlexWriter 40/12/40U
@@ -1744,7 +1811,7 @@
 /* Also: Omnidirectional Control Technology products */
 product SIIG DIGIFILMREADER	0x0004	DigiFilm-Combo Reader
 product SIIG WINTERREADER	0x0330	WINTERREADER Reader
-product SIIG2 USBTOETHER        0x0109  USB TO Ethernet
+product SIIG2 USBTOETHER	0x0109	USB TO Ethernet
 product SIIG2 US2308		0x0421	Serial
 
 /* Silicom products */
@@ -1761,8 +1828,12 @@
 /* Sitecom products */
 product SITECOM LN029		0x182d	USB 2.0 Ethernet
 product SITECOM SERIAL		0x2068	USB to serial cable (v2)
+product SITECOM2 WL022		0x182d	WL-022
 
 /* Sitecom Europe products */
+product SITECOMEU LN028		0x061c	LN-028
+product SITECOMEU WL113		0x9071	WL-113
+product SITECOMEU ZD1211B	0x9075	ZD1211B
 product SITECOMEU WL172		0x90ac	WL-172
 product SITECOMEU WL113R2	0x9712	WL-113 rev 2
 
@@ -1825,9 +1896,9 @@
 product SUNTAC AS144L4		0x0011	SUNTAC U-Cable type A4
 
 /* Sun Microsystems products */
-product SUN2 KEYBOARD		0x0005	Type 6 USB keyboard
+product SUN KEYBOARD		0x0005	Type 6 USB keyboard
 /* XXX The above is a North American PC style keyboard possibly */
-product SUN2 MOUSE		0x0100	Type 6 USB mouse
+product SUN MOUSE		0x0100	Type 6 USB mouse
 
 /* Supra products */
 product DIAMOND2 SUPRAEXPRESS56K 0x07da	Supra Express 56K modem

==== //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs.h#2 (text+ko) ====

@@ -36,7 +36,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/fs/tmpfs/tmpfs.h,v 1.1 2007/06/16 01:56:04 delphij Exp $
+ * $FreeBSD: src/sys/fs/tmpfs/tmpfs.h,v 1.3 2007/06/26 02:07:08 delphij Exp $
  */
 
 #ifndef _FS_TMPFS_TMPFS_H_
@@ -268,7 +268,7 @@
 struct tmpfs_mount {
 	/* Maximum number of memory pages available for use by the file
 	 * system, set during mount time.  This variable must never be
-	 * used directly as it may be bigger that the current amount of
+	 * used directly as it may be bigger than the current amount of
 	 * free memory; in the extreme case, it will hold the SIZE_MAX
 	 * value.  Instead, use the TMPFS_PAGES_MAX macro. */
 	size_t			tm_pages_max;
@@ -314,7 +314,6 @@
 	 * they will go into the available list, remaining alive until the
 	 * file system is unmounted. */
 	struct tmpfs_node_list	tm_nodes_used;
-	struct tmpfs_node_list	tm_nodes_avail;
 
 	/* All node lock to protect the node list and tmp_pages_used */
 	struct mtx allnode_lock;
@@ -470,10 +469,14 @@
 }
 
 /* Returns the available space for the given file system. */
-#define TMPFS_META_SIZE(tmp) ((tmp)->tm_nodes_inuse * (sizeof(struct tmpfs_node) \
-				+ sizeof(struct dirent)))
-#define TMPFS_PAGES_AVAIL(tmp) (TMPFS_PAGES_MAX(tmp) - (tmp)->tm_pages_used - \
-			  	TMPFS_META_SIZE(tmp) / PAGE_SIZE - 1) 
+#define TMPFS_META_PAGES(tmp) ((tmp)->tm_nodes_inuse * (sizeof(struct tmpfs_node) \
+				+ sizeof(struct tmpfs_dirent))/PAGE_SIZE + 1)
+#define TMPFS_FILE_PAGES(tmp) ((tmp)->tm_pages_used)
+
+#define TMPFS_PAGES_AVAIL(tmp) (TMPFS_PAGES_MAX(tmp) > \
+			TMPFS_META_PAGES(tmp)+TMPFS_FILE_PAGES(tmp)? \
+			TMPFS_PAGES_MAX(tmp) - TMPFS_META_PAGES(tmp) \
+			- TMPFS_FILE_PAGES(tmp):0)
 
 #endif
 

==== //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_fifoops.h#2 (text+ko) ====

@@ -1,4 +1,4 @@
-/*	$NetBSD: tmpfs_fifoops.h,v 1.3.2.2 2005/12/11 10:29:11 christos Exp $	*/
+/*	$NetBSD: tmpfs_fifoops.h,v 1.4 2005/12/03 17:34:44 christos Exp $	*/
 
 /*
  * Copyright (c) 2005 The NetBSD Foundation, Inc.
@@ -36,7 +36,7 @@
  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
  * POSSIBILITY OF SUCH DAMAGE.
  *
- * $FreeBSD: src/sys/fs/tmpfs/tmpfs_fifoops.h,v 1.1 2007/06/16 01:56:04 delphij Exp $
+ * $FreeBSD: src/sys/fs/tmpfs/tmpfs_fifoops.h,v 1.2 2007/06/26 02:07:08 delphij Exp $
  */
 
 #ifndef _FS_TMPFS_TMPFS_FIFOOPS_H_

==== //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_subr.c#3 (text+ko) ====

@@ -41,7 +41,7 @@
  * Efficient memory file system supporting functions.
  */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/sys/fs/tmpfs/tmpfs_subr.c,v 1.3 2007/06/18 14:40:19 delphij Exp $");
+__FBSDID("$FreeBSD: src/sys/fs/tmpfs/tmpfs_subr.c,v 1.4 2007/06/25 18:46:13 delphij Exp $");
 
 #include <sys/param.h>
 #include <sys/namei.h>
@@ -100,47 +100,23 @@
 	MPASS(IFF(type == VLNK, target != NULL));
 	MPASS(IFF(type == VBLK || type == VCHR, rdev != VNOVAL));
 
-	nnode = NULL;
+	if (tmp->tm_nodes_inuse > tmp->tm_nodes_max)
+		return (ENOSPC);
 
-	TMPFS_LOCK(tmp);
-	if (LIST_EMPTY(&tmp->tm_nodes_avail)) {
-		MPASS(tmp->tm_nodes_last <= tmp->tm_nodes_max);
-		if (tmp->tm_nodes_last == tmp->tm_nodes_max) {
-			TMPFS_UNLOCK(tmp);
-			return ENOSPC;
-		}
-		TMPFS_UNLOCK(tmp);
-		nnode = (struct tmpfs_node *)tmpfs_zone_alloc(
-						tmp->tm_node_pool, M_WAITOK);
-		if (nnode == NULL)
-			return ENOSPC;
-		nnode->tn_id = tmp->tm_nodes_last++;
-		nnode->tn_gen = arc4random();
-	} else {
-		nnode = LIST_FIRST(&tmp->tm_nodes_avail);
-		LIST_REMOVE(nnode, tn_entries);
-		TMPFS_UNLOCK(tmp);
-		nnode->tn_gen++;
-	}
-	MPASS(nnode != NULL);
+	nnode = (struct tmpfs_node *)uma_zalloc_arg(
+				tmp->tm_node_pool, tmp, M_WAITOK);
+	if (nnode == NULL)
+		return (ENOSPC);
 
 	/* Generic initialization. */
 	nnode->tn_type = type;
-	nnode->tn_size = 0;
-	nnode->tn_status = 0;
-	nnode->tn_flags = 0;
-	nnode->tn_links = 0;
 	nanotime(&nnode->tn_atime);
 	nnode->tn_birthtime = nnode->tn_ctime = nnode->tn_mtime =
 	    nnode->tn_atime;
 	nnode->tn_uid = uid;
 	nnode->tn_gid = gid;
 	nnode->tn_mode = mode;
-	nnode->tn_lockf = NULL;
-	nnode->tn_vnode = NULL;
 	
-	nnode->tn_vpstate = 0;
-	mtx_init(&nnode->tn_interlock, "tmpfs node interlock", NULL, MTX_DEF);
 	/* Type-specific initialization. */
 	switch (nnode->tn_type) {
 	case VBLK:
@@ -169,7 +145,7 @@
 		    M_WAITOK, nnode->tn_size);
 		if (nnode->tn_link == NULL) {
 			nnode->tn_type = VNON;
-			tmpfs_free_node(tmp, nnode);
+			uma_zfree(tmp->tm_node_pool, nnode);
 			return ENOSPC;
 		}
 		memcpy(nnode->tn_link, target, nnode->tn_size);
@@ -216,9 +192,7 @@
 void
 tmpfs_free_node(struct tmpfs_mount *tmp, struct tmpfs_node *node)
 {
-	ino_t id;
-	unsigned long gen;
-	size_t pages;
+	size_t pages = 0;
 
 	TMPFS_LOCK(tmp);
 	LIST_REMOVE(node, tn_entries);
@@ -240,38 +214,28 @@
 	case VFIFO:
 		/* FALLTHROUGH */
 	case VSOCK:
-		pages = 0;
 		break;
 
 	case VLNK:
 		tmpfs_str_zone_free(&tmp->tm_str_pool, node->tn_link,
 		    node->tn_size);
-		pages = 0;
 		break;
 
 	case VREG:
 		if (node->tn_reg.tn_aobj != NULL) {
 			vm_object_deallocate(node->tn_reg.tn_aobj);
-			node->tn_reg.tn_aobj = 0;
 		}
 		pages = node->tn_reg.tn_aobj_pages;
 		break;
 
 	default:
 		MPASS(0);
-		pages = 0; /* Shut up gcc when !DIAGNOSTIC. */
 		break;
 	}
 
-	id = node->tn_id;
-	gen = node->tn_gen;
-	memset(node, 0, sizeof(struct tmpfs_node));
-	node->tn_id = id;
-	node->tn_type = VNON;
-	node->tn_gen = gen;
+	uma_zfree(tmp->tm_node_pool, node);
 
 	TMPFS_LOCK(tmp);
-	LIST_INSERT_HEAD(&tmp->tm_nodes_avail, node, tn_entries);
 	tmp->tm_pages_used -= pages;
 	TMPFS_UNLOCK(tmp);
 }
@@ -293,14 +257,14 @@
 {
 	struct tmpfs_dirent *nde;
 
-	nde = (struct tmpfs_dirent *)tmpfs_zone_alloc(
+	nde = (struct tmpfs_dirent *)uma_zalloc(
 					tmp->tm_dirent_pool, M_WAITOK);
 	if (nde == NULL)
 		return ENOSPC;
 
 	nde->td_name = tmpfs_str_zone_alloc(&tmp->tm_str_pool, M_WAITOK, len);
 	if (nde->td_name == NULL) {
-		tmpfs_zone_free(tmp->tm_dirent_pool, nde);
+		uma_zfree(tmp->tm_dirent_pool, nde);
 		return ENOSPC;
 	}
 	nde->td_namelen = len;
@@ -339,7 +303,7 @@
 	}
 
 	tmpfs_str_zone_free(&tmp->tm_str_pool, de->td_name, de->td_namelen);
-	tmpfs_zone_free(tmp->tm_dirent_pool, de);
+	uma_zfree(tmp->tm_dirent_pool, de);
 }
 
 /* --------------------------------------------------------------------- */
@@ -576,7 +540,6 @@
 	dnode->tn_size += sizeof(struct tmpfs_dirent);
 	dnode->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED | \
 	    TMPFS_NODE_MODIFIED;
-	vnode_pager_setsize(vp, dnode->tn_size);
 }
 
 /* --------------------------------------------------------------------- */
@@ -602,8 +565,6 @@
 	dnode->tn_size -= sizeof(struct tmpfs_dirent);
 	dnode->tn_status |= TMPFS_NODE_ACCESSED | TMPFS_NODE_CHANGED | \
 	    TMPFS_NODE_MODIFIED;
-
-	vnode_pager_setsize(vp, dnode->tn_size);
 }
 
 /* --------------------------------------------------------------------- */
@@ -905,7 +866,7 @@
 	node->tn_size = newsize;
 	vnode_pager_setsize(vp, newsize);
 	if (newsize < oldsize) {
-		int zerolen = MIN(round_page(newsize), node->tn_size) - newsize;
+		size_t zerolen = MIN(round_page(newsize), node->tn_size) - newsize;
 		struct vm_object *uobj = node->tn_reg.tn_aobj;
 		vm_page_t m;
 

==== //depot/projects/soc2007/rpaulo-macbook/fs/tmpfs/tmpfs_uma.c#2 (text+ko) ====


>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list