diff --git a/lustre/ChangeLog b/lustre/ChangeLog
index 3aa12e00ca4ce1f88246bb96239540f875c3bfbd..d0880c8d9f202c0ef069cecabab435134deb3fd7 100644
--- a/lustre/ChangeLog
+++ b/lustre/ChangeLog
@@ -2,7 +2,7 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        * version 1.6.5
        * Support for kernels:
         2.6.5-7.287.3 (SLES 9),
-        2.6.9-55.0.12.EL (RHEL 4),
+        2.6.9-67.EL (RHEL 4),
         2.6.16.54-0.2.3 (SLES 10),
         2.6.18-53.el5 (RHEL 5),
         2.6.18.8 vanilla (kernel.org)
@@ -14,6 +14,10 @@ tbd         Cluster File Systems, Inc. <info@clusterfs.com>
        * Recommended e2fsprogs version: 1.40.2-cfs5
        * Note that reiserfs quotas are disabled on SLES 10 in this kernel.
 
+Severity   : enhancement
+Bugzilla   : 14288
+Description: Update to RHEL4 Update-6 kernel-2.6.9-67.EL.
+
 Severity   : normal
 Bugzilla   : 12702
 Frequency  : rare, in recovery and (or) destroy lovobjid file.
diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4
index 16069ddbbcdd7427db83b03b33f1fbbb6cbc2117..263ddf73a00bb10ab89a0af3043ed1599ae00d5f 100644
--- a/lustre/autoconf/lustre-core.m4
+++ b/lustre/autoconf/lustre-core.m4
@@ -780,6 +780,7 @@ AC_DEFUN([LC_INODE_I_MUTEX],
 LB_LINUX_TRY_COMPILE([
 	#include <linux/mutex.h>
 	#include <linux/fs.h>
+	#undef i_mutex
 ],[
 	struct inode i;
 
diff --git a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-i686-smp.config b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-i686-smp.config
index a01f9344f5f5aea24208a4d89b69c220bc147dad..3607fa2e124207b0d8a093e4722d6955ee959b9f 100644
--- a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-i686-smp.config
+++ b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-i686-smp.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.9-prep.qp2.2.5.11.3qsnet
-# Mon Mar 12 20:13:46 2007
+# Linux kernel version: 2.6.9-prep.qp3.5.34.4qsnet
+# Sat Nov 24 21:29:36 2007
 #
 CONFIG_X86=y
 CONFIG_MMU=y
@@ -129,7 +129,6 @@ CONFIG_I8K=m
 CONFIG_MICROCODE=m
 CONFIG_X86_MSR=m
 CONFIG_X86_CPUID=m
-# CONFIG_HOTPLUG_CPU is not set
 
 #
 # Firmware Drivers
@@ -238,6 +237,7 @@ CONFIG_PCI=y
 # CONFIG_PCI_GOBIOS is not set
 # CONFIG_PCI_GOMMCONFIG is not set
 # CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOXEN_FE is not set
 CONFIG_PCI_GOANY=y
 CONFIG_PCI_BIOS=y
 CONFIG_PCI_DIRECT=y
@@ -249,6 +249,7 @@ CONFIG_ISA=y
 # CONFIG_EISA is not set
 # CONFIG_MCA is not set
 # CONFIG_SCx200 is not set
+# CONFIG_HOTPLUG_CPU is not set
 
 #
 # PCMCIA/CardBus support
@@ -568,6 +569,7 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000
 CONFIG_AIC79XX_DEBUG_MASK=0
 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
 # CONFIG_SCSI_DPT_I2O is not set
+CONFIG_SCSI_ARCMSR=m
 # CONFIG_SCSI_IN2000 is not set
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
@@ -613,7 +615,6 @@ CONFIG_SCSI_QLA2300=m
 CONFIG_SCSI_QLA2322=m
 CONFIG_SCSI_QLA6312=m
 CONFIG_SCSI_QLA24XX=m
-CONFIG_QLA3XXX=m
 CONFIG_SCSI_QLA4XXX=m
 # CONFIG_SCSI_SYM53C416 is not set
 # CONFIG_SCSI_DC395x is not set
@@ -636,7 +637,7 @@ CONFIG_PCMCIA_FDOMAIN=m
 #
 # Serial ATA (prod) and Parallel ATA (experimental) drivers
 #
-CONFIG_ATA=y
+CONFIG_ATA=m
 CONFIG_SATA_AHCI=m
 CONFIG_SATA_SVW=m
 CONFIG_ATA_PIIX=m
@@ -653,6 +654,8 @@ CONFIG_SATA_ULI=m
 CONFIG_SATA_VIA=m
 CONFIG_SATA_VITESSE=m
 CONFIG_SATA_INTEL_COMBINED=y
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_JMICRON=m
 
 #
 # Old CD-ROM drivers (not SCSI, not IDE)
@@ -1133,6 +1136,8 @@ CONFIG_ACENIC=m
 CONFIG_DL2K=m
 CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
+CONFIG_E1000E=m
+CONFIG_IGB=m
 CONFIG_NS83820=m
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
@@ -1144,14 +1149,17 @@ CONFIG_SK98LIN=m
 CONFIG_VIA_VELOCITY=m
 CONFIG_TIGON3=m
 CONFIG_BNX2=m
+CONFIG_QLA3XXX=m
 
 #
 # Ethernet (10000 Mbit)
 #
 CONFIG_IXGB=m
 CONFIG_IXGB_NAPI=y
+CONFIG_CHELSIO_T3=m
 CONFIG_S2IO=m
 CONFIG_S2IO_NAPI=y
+CONFIG_NETXEN_NIC=m
 
 #
 # Token Ring devices
@@ -1168,17 +1176,6 @@ CONFIG_PROTEON=m
 CONFIG_ABYSS=m
 CONFIG_SMCTR=m
 
-#
-# Quadrics QsNet
-#
-CONFIG_QSNET=m
-CONFIG_ELAN3=m
-CONFIG_ELAN4=m
-CONFIG_EP=m
-CONFIG_EIP=m
-CONFIG_RMS=m
-CONFIG_JTAG=m
-
 #
 # Wireless LAN (non-hamradio)
 #
@@ -1759,7 +1756,7 @@ CONFIG_VIDEO_DEV=m
 #
 # Video Adapters
 #
-# CONFIG_VIDEO_BT848 is not set
+CONFIG_VIDEO_BT848=m
 # CONFIG_VIDEO_PMS is not set
 # CONFIG_VIDEO_BWQCAM is not set
 # CONFIG_VIDEO_CQCAM is not set
@@ -1800,6 +1797,10 @@ CONFIG_VIDEO_OVCAMCHIP=m
 # Digital Video Broadcasting Devices
 #
 # CONFIG_DVB is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
 
 #
 # Graphics support
@@ -2173,15 +2174,20 @@ CONFIG_INFINIBAND_USER_ACCESS=m
 CONFIG_INFINIBAND_ADDR_TRANS=y
 CONFIG_INFINIBAND_MTHCA=m
 CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
 CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
 CONFIG_INFINIBAND_IPOIB_DEBUG=y
 # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SDP=m
 # CONFIG_INFINIBAND_SDP_DEBUG is not set
-CONFIG_INFINIBAND_SRP=m
-# CONFIG_INFINIBAND_ISER is not set
-# CONFIG_INFINIBAND_RDS
-# CONFIG_INFINIBAND_RDS_DEBUG is not set
+CONFIG_INFINIBAND_VNIC=m
+# CONFIG_INFINIBAND_VNIC_DEBUG is not set
+CONFIG_INFINIBAND_VNIC_STATS=y
 CONFIG_INFINIBAND_MADEYE=m
 
 #
@@ -2199,9 +2205,9 @@ CONFIG_EDAC_E7XXX=m
 CONFIG_EDAC_E752X=m
 CONFIG_EDAC_I82875P=m
 CONFIG_EDAC_I82860=m
+CONFIG_EDAC_K8=m
 CONFIG_EDAC_R82600=m
 CONFIG_EDAC_POLL=y
-CONFIG_EDAC_K8=m
 
 #
 # File systems
@@ -2472,8 +2478,10 @@ CONFIG_CRC32=y
 CONFIG_LIBCRC32C=m
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=m
+CONFIG_HAS_IOMEM=y
 CONFIG_X86_SMP=y
 CONFIG_X86_HT=y
 CONFIG_X86_BIOS_REBOOT=y
 CONFIG_X86_TRAMPOLINE=y
+CONFIG_X86_SYSENTER=y
 CONFIG_PC=y
diff --git a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-i686.config b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-i686.config
index c21e5332ac622d097121ded005be357cc3ad67a9..e0f96004e1a883ba66fd0b2bd4ef455a2eea8446 100644
--- a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-i686.config
+++ b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-i686.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.9-prep.qp2.2.5.11.3qsnet
-# Mon Mar 12 20:11:45 2007
+# Linux kernel version: 2.6.9-prep.qp3.5.34.4qsnet
+# Sat Nov 24 21:30:07 2007
 #
 CONFIG_X86=y
 CONFIG_MMU=y
@@ -122,7 +122,6 @@ CONFIG_I8K=m
 CONFIG_MICROCODE=m
 CONFIG_X86_MSR=m
 CONFIG_X86_CPUID=m
-# CONFIG_HOTPLUG_CPU is not set
 
 #
 # Firmware Drivers
@@ -227,6 +226,7 @@ CONFIG_PCI=y
 # CONFIG_PCI_GOBIOS is not set
 # CONFIG_PCI_GOMMCONFIG is not set
 # CONFIG_PCI_GODIRECT is not set
+# CONFIG_PCI_GOXEN_FE is not set
 CONFIG_PCI_GOANY=y
 CONFIG_PCI_BIOS=y
 CONFIG_PCI_DIRECT=y
@@ -555,6 +555,7 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000
 CONFIG_AIC79XX_DEBUG_MASK=0
 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
 # CONFIG_SCSI_DPT_I2O is not set
+CONFIG_SCSI_ARCMSR=m
 # CONFIG_SCSI_IN2000 is not set
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
@@ -600,7 +601,6 @@ CONFIG_SCSI_QLA2300=m
 CONFIG_SCSI_QLA2322=m
 CONFIG_SCSI_QLA6312=m
 CONFIG_SCSI_QLA24XX=m
-CONFIG_QLA3XXX=m
 CONFIG_SCSI_QLA4XXX=m
 # CONFIG_SCSI_SYM53C416 is not set
 # CONFIG_SCSI_DC395x is not set
@@ -623,7 +623,7 @@ CONFIG_PCMCIA_FDOMAIN=m
 #
 # Serial ATA (prod) and Parallel ATA (experimental) drivers
 #
-CONFIG_ATA=y
+CONFIG_ATA=m
 CONFIG_SATA_AHCI=m
 CONFIG_SATA_SVW=m
 CONFIG_ATA_PIIX=m
@@ -640,6 +640,8 @@ CONFIG_SATA_ULI=m
 CONFIG_SATA_VIA=m
 CONFIG_SATA_VITESSE=m
 CONFIG_SATA_INTEL_COMBINED=y
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_JMICRON=m
 
 #
 # Old CD-ROM drivers (not SCSI, not IDE)
@@ -1122,6 +1124,8 @@ CONFIG_ACENIC=m
 CONFIG_DL2K=m
 CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
+CONFIG_E1000E=m
+CONFIG_IGB=m
 CONFIG_NS83820=m
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
@@ -1133,14 +1137,17 @@ CONFIG_SK98LIN=m
 CONFIG_VIA_VELOCITY=m
 CONFIG_TIGON3=m
 CONFIG_BNX2=m
+CONFIG_QLA3XXX=m
 
 #
 # Ethernet (10000 Mbit)
 #
 CONFIG_IXGB=m
 CONFIG_IXGB_NAPI=y
+CONFIG_CHELSIO_T3=m
 CONFIG_S2IO=m
 CONFIG_S2IO_NAPI=y
+CONFIG_NETXEN_NIC=m
 
 #
 # Token Ring devices
@@ -1157,17 +1164,6 @@ CONFIG_PROTEON=m
 CONFIG_ABYSS=m
 CONFIG_SMCTR=m
 
-#
-# Quadrics QsNet
-#
-CONFIG_QSNET=m
-CONFIG_ELAN3=m
-CONFIG_ELAN4=m
-CONFIG_EP=m
-CONFIG_EIP=m
-CONFIG_RMS=m
-CONFIG_JTAG=m
-
 #
 # Wireless LAN (non-hamradio)
 #
@@ -1766,7 +1762,7 @@ CONFIG_VIDEO_DEV=m
 #
 # Video Adapters
 #
-# CONFIG_VIDEO_BT848 is not set
+CONFIG_VIDEO_BT848=m
 # CONFIG_VIDEO_PMS is not set
 # CONFIG_VIDEO_BWQCAM is not set
 # CONFIG_VIDEO_CQCAM is not set
@@ -1808,6 +1804,10 @@ CONFIG_VIDEO_OVCAMCHIP=m
 # Digital Video Broadcasting Devices
 #
 # CONFIG_DVB is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
 
 #
 # Graphics support
@@ -2182,15 +2182,20 @@ CONFIG_INFINIBAND_USER_ACCESS=m
 CONFIG_INFINIBAND_ADDR_TRANS=y
 CONFIG_INFINIBAND_MTHCA=m
 CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
 CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
 CONFIG_INFINIBAND_IPOIB_DEBUG=y
 # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SDP=m
 # CONFIG_INFINIBAND_SDP_DEBUG is not set
-CONFIG_INFINIBAND_SRP=m
-# CONFIG_INFINIBAND_ISER is not set
-# CONFIG_INFINIBAND_RDS
-# CONFIG_INFINIBAND_RDS_DEBUG is not set
+CONFIG_INFINIBAND_VNIC=m
+# CONFIG_INFINIBAND_VNIC_DEBUG is not set
+CONFIG_INFINIBAND_VNIC_STATS=y
 CONFIG_INFINIBAND_MADEYE=m
 
 #
@@ -2208,9 +2213,9 @@ CONFIG_EDAC_E7XXX=m
 CONFIG_EDAC_E752X=m
 CONFIG_EDAC_I82875P=m
 CONFIG_EDAC_I82860=m
+CONFIG_EDAC_K8=m
 CONFIG_EDAC_R82600=m
 CONFIG_EDAC_POLL=y
-CONFIG_EDAC_K8=m
 
 #
 # File systems
@@ -2479,5 +2484,7 @@ CONFIG_CRC32=y
 CONFIG_LIBCRC32C=m
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=m
+CONFIG_HAS_IOMEM=y
 CONFIG_X86_BIOS_REBOOT=y
+CONFIG_X86_SYSENTER=y
 CONFIG_PC=y
diff --git a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-ia64-smp.config b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-ia64-smp.config
index 39926280b747f6af0924759f6480c40145a951e6..157dcc25723fb5bf71a75fbaf7f3b2776dde8a1b 100644
--- a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-ia64-smp.config
+++ b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-ia64-smp.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.9-prep.qp2.2.5.11.3qsnet
-# Mon Mar 12 20:21:12 2007
+# Linux kernel version: 2.6.9-prep.qp3.5.34.4qsnet
+# Sat Nov 24 21:28:15 2007
 #
 
 #
@@ -80,6 +80,7 @@ CONFIG_VIRTUAL_MEM_MAP=y
 CONFIG_DISCONTIGMEM=y
 CONFIG_IA64_CYCLONE=y
 CONFIG_IOSAPIC=y
+CONFIG_IA64_LOCAL_APIC_INFO_MOD=m
 CONFIG_FORCE_MAX_ZONEORDER=18
 CONFIG_SMP=y
 CONFIG_NR_CPUS=64
@@ -93,7 +94,6 @@ CONFIG_PERFMON=y
 CONFIG_IA64_PALINFO=y
 CONFIG_IOPROC=y
 CONFIG_PTRACK=y
-CONFIG_IA64_LOCAL_APIC_INFO_MOD=m
 
 #
 # Firmware Drivers
@@ -336,6 +336,7 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000
 # CONFIG_AIC79XX_DEBUG_ENABLE is not set
 CONFIG_AIC79XX_DEBUG_MASK=0
 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_ARCMSR=m
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
 CONFIG_MEGARAID_MAILBOX=m
@@ -373,7 +374,6 @@ CONFIG_SCSI_QLA2300=m
 CONFIG_SCSI_QLA2322=m
 CONFIG_SCSI_QLA6312=m
 CONFIG_SCSI_QLA24XX=m
-CONFIG_QLA3XXX=m
 CONFIG_SCSI_QLA4XXX=m
 # CONFIG_SCSI_DC395x is not set
 # CONFIG_SCSI_DC390T is not set
@@ -389,7 +389,7 @@ CONFIG_SCSI_QLA4XXX=m
 #
 # Serial ATA (prod) and Parallel ATA (experimental) drivers
 #
-CONFIG_ATA=y
+CONFIG_ATA=m
 CONFIG_SATA_AHCI=m
 CONFIG_SATA_SVW=m
 CONFIG_ATA_PIIX=m
@@ -406,6 +406,8 @@ CONFIG_SATA_ULI=m
 CONFIG_SATA_VIA=m
 CONFIG_SATA_VITESSE=m
 CONFIG_SATA_INTEL_COMBINED=y
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_JMICRON=m
 
 #
 # Multi-device support (RAID and LVM)
@@ -851,6 +853,8 @@ CONFIG_ACENIC=m
 CONFIG_DL2K=m
 CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
+CONFIG_E1000E=m
+CONFIG_IGB=m
 CONFIG_NS83820=m
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
@@ -862,14 +866,17 @@ CONFIG_SK98LIN=m
 CONFIG_VIA_VELOCITY=m
 CONFIG_TIGON3=m
 CONFIG_BNX2=m
+CONFIG_QLA3XXX=m
 
 #
 # Ethernet (10000 Mbit)
 #
 CONFIG_IXGB=m
 CONFIG_IXGB_NAPI=y
+CONFIG_CHELSIO_T3=m
 CONFIG_S2IO=m
 CONFIG_S2IO_NAPI=y
+CONFIG_NETXEN_NIC=m
 
 #
 # Token Ring devices
@@ -881,17 +888,6 @@ CONFIG_TMS380TR=m
 CONFIG_TMSPCI=m
 CONFIG_ABYSS=m
 
-#
-# Quadrics QsNet
-#
-CONFIG_QSNET=m
-CONFIG_ELAN3=m
-CONFIG_ELAN4=m
-CONFIG_EP=m
-CONFIG_EIP=m
-CONFIG_RMS=m
-CONFIG_JTAG=m
-
 #
 # Wireless LAN (non-hamradio)
 #
@@ -1392,7 +1388,7 @@ CONFIG_VIDEO_DEV=m
 #
 # Video Adapters
 #
-# CONFIG_VIDEO_BT848 is not set
+CONFIG_VIDEO_BT848=m
 # CONFIG_VIDEO_BWQCAM is not set
 # CONFIG_VIDEO_CQCAM is not set
 # CONFIG_VIDEO_W9966 is not set
@@ -1421,6 +1417,10 @@ CONFIG_VIDEO_OVCAMCHIP=m
 # Digital Video Broadcasting Devices
 #
 # CONFIG_DVB is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
 
 #
 # Graphics support
@@ -1755,17 +1755,23 @@ CONFIG_INFINIBAND=m
 CONFIG_INFINIBAND_USER_MAD=m
 CONFIG_INFINIBAND_USER_ACCESS=m
 CONFIG_INFINIBAND_ADDR_TRANS=y
-# CONFIG_IPATH_CORE is not set
 CONFIG_INFINIBAND_MTHCA=m
 CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_IPATH=m
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
 CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
 CONFIG_INFINIBAND_IPOIB_DEBUG=y
 # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SDP=m
 # CONFIG_INFINIBAND_SDP_DEBUG is not set
-CONFIG_INFINIBAND_SRP=m
-# CONFIG_INFINIBAND_ISER is not set
-# CONFIG_INFINIBAND_RDS_DEBUG is not set
+CONFIG_INFINIBAND_VNIC=m
+# CONFIG_INFINIBAND_VNIC_DEBUG is not set
+CONFIG_INFINIBAND_VNIC_STATS=y
 CONFIG_INFINIBAND_MADEYE=m
 
 #
@@ -1959,6 +1965,7 @@ CONFIG_CRC32=y
 CONFIG_LIBCRC32C=m
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=m
+CONFIG_HAS_IOMEM=y
 
 #
 # HP Simulator drivers
diff --git a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-ia64.config b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-ia64.config
index eb5e7e5929000b5033f021452357f9e2bac06075..2eb9678183395d78fced4d3d6e8cb94a2969a233 100644
--- a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-ia64.config
+++ b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-ia64.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.9-prep.qp2.2.5.11.3qsnet
-# Mon Mar 12 20:21:18 2007
+# Linux kernel version: 2.6.9-prep.qp3.5.34.4qsnet
+# Sat Nov 24 21:28:54 2007
 #
 
 #
@@ -80,6 +80,7 @@ CONFIG_VIRTUAL_MEM_MAP=y
 CONFIG_DISCONTIGMEM=y
 CONFIG_IA64_CYCLONE=y
 CONFIG_IOSAPIC=y
+CONFIG_IA64_LOCAL_APIC_INFO_MOD=m
 CONFIG_FORCE_MAX_ZONEORDER=18
 CONFIG_SMP=y
 CONFIG_NR_CPUS=64
@@ -93,7 +94,6 @@ CONFIG_PERFMON=y
 CONFIG_IA64_PALINFO=y
 CONFIG_IOPROC=y
 CONFIG_PTRACK=y
-CONFIG_IA64_LOCAL_APIC_INFO_MOD=m
 
 #
 # Firmware Drivers
@@ -336,6 +336,7 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000
 # CONFIG_AIC79XX_DEBUG_ENABLE is not set
 CONFIG_AIC79XX_DEBUG_MASK=0
 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_ARCMSR=m
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
 CONFIG_MEGARAID_MAILBOX=m
@@ -373,7 +374,6 @@ CONFIG_SCSI_QLA2300=m
 CONFIG_SCSI_QLA2322=m
 CONFIG_SCSI_QLA6312=m
 CONFIG_SCSI_QLA24XX=m
-CONFIG_QLA3XXX=m
 CONFIG_SCSI_QLA4XXX=m
 # CONFIG_SCSI_DC395x is not set
 # CONFIG_SCSI_DC390T is not set
@@ -389,7 +389,7 @@ CONFIG_SCSI_QLA4XXX=m
 #
 # Serial ATA (prod) and Parallel ATA (experimental) drivers
 #
-CONFIG_ATA=y
+CONFIG_ATA=m
 CONFIG_SATA_AHCI=m
 CONFIG_SATA_SVW=m
 CONFIG_ATA_PIIX=m
@@ -406,6 +406,8 @@ CONFIG_SATA_ULI=m
 CONFIG_SATA_VIA=m
 CONFIG_SATA_VITESSE=m
 CONFIG_SATA_INTEL_COMBINED=y
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_JMICRON=m
 
 #
 # Multi-device support (RAID and LVM)
@@ -851,6 +853,8 @@ CONFIG_ACENIC=m
 CONFIG_DL2K=m
 CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
+CONFIG_E1000E=m
+CONFIG_IGB=m
 CONFIG_NS83820=m
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
@@ -862,14 +866,17 @@ CONFIG_SK98LIN=m
 CONFIG_VIA_VELOCITY=m
 CONFIG_TIGON3=m
 CONFIG_BNX2=m
+CONFIG_QLA3XXX=m
 
 #
 # Ethernet (10000 Mbit)
 #
 CONFIG_IXGB=m
 CONFIG_IXGB_NAPI=y
+CONFIG_CHELSIO_T3=m
 CONFIG_S2IO=m
 CONFIG_S2IO_NAPI=y
+CONFIG_NETXEN_NIC=m
 
 #
 # Token Ring devices
@@ -881,17 +888,6 @@ CONFIG_TMS380TR=m
 CONFIG_TMSPCI=m
 CONFIG_ABYSS=m
 
-#
-# Quadrics QsNet
-#
-CONFIG_QSNET=m
-CONFIG_ELAN3=m
-CONFIG_ELAN4=m
-CONFIG_EP=m
-CONFIG_EIP=m
-CONFIG_RMS=m
-CONFIG_JTAG=m
-
 #
 # Wireless LAN (non-hamradio)
 #
@@ -1392,7 +1388,7 @@ CONFIG_VIDEO_DEV=m
 #
 # Video Adapters
 #
-# CONFIG_VIDEO_BT848 is not set
+CONFIG_VIDEO_BT848=m
 # CONFIG_VIDEO_BWQCAM is not set
 # CONFIG_VIDEO_CQCAM is not set
 # CONFIG_VIDEO_W9966 is not set
@@ -1421,6 +1417,10 @@ CONFIG_VIDEO_OVCAMCHIP=m
 # Digital Video Broadcasting Devices
 #
 # CONFIG_DVB is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
 
 #
 # Graphics support
@@ -1755,17 +1755,23 @@ CONFIG_INFINIBAND=m
 CONFIG_INFINIBAND_USER_MAD=m
 CONFIG_INFINIBAND_USER_ACCESS=m
 CONFIG_INFINIBAND_ADDR_TRANS=y
-# CONFIG_IPATH_CORE is not set
 CONFIG_INFINIBAND_MTHCA=m
 CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_IPATH=m
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
 CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
 CONFIG_INFINIBAND_IPOIB_DEBUG=y
 # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SDP=m
 # CONFIG_INFINIBAND_SDP_DEBUG is not set
-CONFIG_INFINIBAND_SRP=m
-# CONFIG_INFINIBAND_ISER is not set
-# CONFIG_INFINIBAND_RDS_DEBUG is not set
+CONFIG_INFINIBAND_VNIC=m
+# CONFIG_INFINIBAND_VNIC_DEBUG is not set
+CONFIG_INFINIBAND_VNIC_STATS=y
 CONFIG_INFINIBAND_MADEYE=m
 
 #
@@ -1959,6 +1965,7 @@ CONFIG_CRC32=y
 CONFIG_LIBCRC32C=m
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=m
+CONFIG_HAS_IOMEM=y
 
 #
 # HP Simulator drivers
diff --git a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-x86_64-smp.config b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-x86_64-smp.config
index f862c63d26b890026199c04824bdc4a502d274c1..028c475499dc217c7dfd6b5e6af9485ba01224a3 100644
--- a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-x86_64-smp.config
+++ b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-x86_64-smp.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.9-prep.qp2.2.5.11.3qsnet
-# Mon Mar 12 20:21:34 2007
+# Linux kernel version: 2.6.9-prep.qp3.5.34.4qsnet
+# Sat Nov 24 21:26:14 2007
 #
 CONFIG_X86_64=y
 CONFIG_64BIT=y
@@ -72,6 +72,7 @@ CONFIG_STOP_MACHINE=y
 # CONFIG_MPSC is not set
 CONFIG_GENERIC_CPU=y
 # CONFIG_MEM_MIRROR is not set
+# CONFIG_X86_64_XEN is not set
 CONFIG_X86_L1_CACHE_BYTES=128
 CONFIG_X86_L1_CACHE_SHIFT=7
 CONFIG_X86_TSC=y
@@ -98,8 +99,7 @@ CONFIG_X86_MCE=y
 CONFIG_X86_MCE_AMD=y
 CONFIG_IOPROC=y
 CONFIG_PTRACK=y
-# CONFIG_X86_64_XEN is not set
- 
+
 #
 # Power management options
 #
@@ -469,6 +469,7 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000
 # CONFIG_AIC79XX_DEBUG_ENABLE is not set
 CONFIG_AIC79XX_DEBUG_MASK=0
 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_ARCMSR=m
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
 CONFIG_MEGARAID_MAILBOX=m
@@ -506,9 +507,7 @@ CONFIG_SCSI_QLA2300=m
 CONFIG_SCSI_QLA2322=m
 CONFIG_SCSI_QLA6312=m
 CONFIG_SCSI_QLA24XX=m
-CONFIG_QLA3XXX=m
 CONFIG_SCSI_QLA4XXX=m
-
 # CONFIG_SCSI_DC395x is not set
 # CONFIG_SCSI_DC390T is not set
 # CONFIG_SCSI_DEBUG is not set
@@ -523,7 +522,7 @@ CONFIG_SCSI_QLA4XXX=m
 #
 # Serial ATA (prod) and Parallel ATA (experimental) drivers
 #
-CONFIG_ATA=y
+CONFIG_ATA=m
 CONFIG_SATA_AHCI=m
 CONFIG_SATA_SVW=m
 CONFIG_ATA_PIIX=m
@@ -540,7 +539,8 @@ CONFIG_SATA_ULI=m
 CONFIG_SATA_VIA=m
 CONFIG_SATA_VITESSE=m
 CONFIG_SATA_INTEL_COMBINED=y
-
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_JMICRON=m
 
 #
 # Multi-device support (RAID and LVM)
@@ -990,6 +990,8 @@ CONFIG_ACENIC=m
 CONFIG_DL2K=m
 CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
+CONFIG_E1000E=m
+CONFIG_IGB=m
 CONFIG_NS83820=m
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
@@ -1001,14 +1003,17 @@ CONFIG_SK98LIN=m
 CONFIG_VIA_VELOCITY=m
 CONFIG_TIGON3=m
 CONFIG_BNX2=m
+CONFIG_QLA3XXX=m
 
 #
 # Ethernet (10000 Mbit)
 #
 CONFIG_IXGB=m
 CONFIG_IXGB_NAPI=y
+CONFIG_CHELSIO_T3=m
 CONFIG_S2IO=m
 CONFIG_S2IO_NAPI=y
+CONFIG_NETXEN_NIC=m
 
 #
 # Token Ring devices
@@ -1020,17 +1025,6 @@ CONFIG_TMS380TR=m
 CONFIG_TMSPCI=m
 CONFIG_ABYSS=m
 
-#
-# Quadrics QsNet
-#
-CONFIG_QSNET=m
-CONFIG_ELAN3=m
-CONFIG_ELAN4=m
-CONFIG_EP=m
-CONFIG_EIP=m
-CONFIG_RMS=m
-CONFIG_JTAG=m
-
 #
 # Wireless LAN (non-hamradio)
 #
@@ -1559,7 +1553,7 @@ CONFIG_VIDEO_DEV=m
 #
 # Video Adapters
 #
-# CONFIG_VIDEO_BT848 is not set
+CONFIG_VIDEO_BT848=m
 # CONFIG_VIDEO_BWQCAM is not set
 # CONFIG_VIDEO_CQCAM is not set
 # CONFIG_VIDEO_W9966 is not set
@@ -1588,6 +1582,10 @@ CONFIG_VIDEO_OVCAMCHIP=m
 # Digital Video Broadcasting Devices
 #
 # CONFIG_DVB is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
 
 #
 # Graphics support
@@ -1928,18 +1926,23 @@ CONFIG_INFINIBAND=m
 CONFIG_INFINIBAND_USER_MAD=m
 CONFIG_INFINIBAND_USER_ACCESS=m
 CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_IPATH_CORE=m
-CONFIG_INFINIBAND_IPATH=m
 CONFIG_INFINIBAND_MTHCA=m
 CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_IPATH=m
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
 CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
 CONFIG_INFINIBAND_IPOIB_DEBUG=y
 # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SDP=m
 # CONFIG_INFINIBAND_SDP_DEBUG is not set
-CONFIG_INFINIBAND_SRP=m
-# CONFIG_INFINIBAND_ISER is not set
-# CONFIG_INFINIBAND_RDS_DEBUG is not set
+CONFIG_INFINIBAND_VNIC=m
+# CONFIG_INFINIBAND_VNIC_DEBUG is not set
+CONFIG_INFINIBAND_VNIC_STATS=y
 CONFIG_INFINIBAND_MADEYE=m
 
 #
@@ -1957,9 +1960,9 @@ CONFIG_EDAC_E7XXX=m
 CONFIG_EDAC_E752X=m
 CONFIG_EDAC_I82875P=m
 CONFIG_EDAC_I82860=m
+CONFIG_EDAC_K8=m
 CONFIG_EDAC_R82600=m
 CONFIG_EDAC_POLL=y
-CONFIG_EDAC_K8=m
 
 #
 # Firmware Drivers
@@ -2229,3 +2232,4 @@ CONFIG_CRC32=y
 CONFIG_LIBCRC32C=m
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=m
+CONFIG_HAS_IOMEM=y
diff --git a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-x86_64.config b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-x86_64.config
index 48fcb26f1f7cd061272782d7a9efb8d9581317a8..df16a733f9fe58d2528217990db5a272f8c748bd 100644
--- a/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-x86_64.config
+++ b/lustre/kernel_patches/kernel_configs/kernel-2.6.9-2.6-rhel4-x86_64.config
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux kernel version: 2.6.9-prep.qp2.2.5.11.3qsnet
-# Mon Mar 12 20:21:30 2007
+# Linux kernel version: 2.6.9-prep.qp3.5.34.4qsnet
+# Sat Nov 24 21:27:28 2007
 #
 CONFIG_X86_64=y
 CONFIG_64BIT=y
@@ -72,6 +72,7 @@ CONFIG_STOP_MACHINE=y
 # CONFIG_MPSC is not set
 CONFIG_GENERIC_CPU=y
 # CONFIG_MEM_MIRROR is not set
+# CONFIG_X86_64_XEN is not set
 CONFIG_X86_L1_CACHE_BYTES=128
 CONFIG_X86_L1_CACHE_SHIFT=7
 CONFIG_X86_TSC=y
@@ -98,8 +99,7 @@ CONFIG_X86_MCE=y
 CONFIG_X86_MCE_AMD=y
 CONFIG_IOPROC=y
 CONFIG_PTRACK=y
-# CONFIG_X86_64_XEN is not set
- 
+
 #
 # Power management options
 #
@@ -469,6 +469,7 @@ CONFIG_AIC79XX_RESET_DELAY_MS=15000
 # CONFIG_AIC79XX_DEBUG_ENABLE is not set
 CONFIG_AIC79XX_DEBUG_MASK=0
 # CONFIG_AIC79XX_REG_PRETTY_PRINT is not set
+CONFIG_SCSI_ARCMSR=m
 CONFIG_MEGARAID_NEWGEN=y
 CONFIG_MEGARAID_MM=m
 CONFIG_MEGARAID_MAILBOX=m
@@ -506,9 +507,7 @@ CONFIG_SCSI_QLA2300=m
 CONFIG_SCSI_QLA2322=m
 CONFIG_SCSI_QLA6312=m
 CONFIG_SCSI_QLA24XX=m
-CONFIG_QLA3XXX=m
 CONFIG_SCSI_QLA4XXX=m
-
 # CONFIG_SCSI_DC395x is not set
 # CONFIG_SCSI_DC390T is not set
 # CONFIG_SCSI_DEBUG is not set
@@ -523,7 +522,7 @@ CONFIG_SCSI_QLA4XXX=m
 #
 # Serial ATA (prod) and Parallel ATA (experimental) drivers
 #
-CONFIG_ATA=y
+CONFIG_ATA=m
 CONFIG_SATA_AHCI=m
 CONFIG_SATA_SVW=m
 CONFIG_ATA_PIIX=m
@@ -540,6 +539,8 @@ CONFIG_SATA_ULI=m
 CONFIG_SATA_VIA=m
 CONFIG_SATA_VITESSE=m
 CONFIG_SATA_INTEL_COMBINED=y
+CONFIG_PATA_PDC2027X=m
+CONFIG_PATA_JMICRON=m
 
 #
 # Multi-device support (RAID and LVM)
@@ -989,6 +990,8 @@ CONFIG_ACENIC=m
 CONFIG_DL2K=m
 CONFIG_E1000=m
 CONFIG_E1000_NAPI=y
+CONFIG_E1000E=m
+CONFIG_IGB=m
 CONFIG_NS83820=m
 # CONFIG_HAMACHI is not set
 # CONFIG_YELLOWFIN is not set
@@ -1000,14 +1003,17 @@ CONFIG_SK98LIN=m
 CONFIG_VIA_VELOCITY=m
 CONFIG_TIGON3=m
 CONFIG_BNX2=m
+CONFIG_QLA3XXX=m
 
 #
 # Ethernet (10000 Mbit)
 #
 CONFIG_IXGB=m
 CONFIG_IXGB_NAPI=y
+CONFIG_CHELSIO_T3=m
 CONFIG_S2IO=m
 CONFIG_S2IO_NAPI=y
+CONFIG_NETXEN_NIC=m
 
 #
 # Token Ring devices
@@ -1019,17 +1025,6 @@ CONFIG_TMS380TR=m
 CONFIG_TMSPCI=m
 CONFIG_ABYSS=m
 
-#
-# Quadrics QsNet
-#
-CONFIG_QSNET=m
-CONFIG_ELAN3=m
-CONFIG_ELAN4=m
-CONFIG_EP=m
-CONFIG_EIP=m
-CONFIG_RMS=m
-CONFIG_JTAG=m
-
 #
 # Wireless LAN (non-hamradio)
 #
@@ -1558,7 +1553,7 @@ CONFIG_VIDEO_DEV=m
 #
 # Video Adapters
 #
-# CONFIG_VIDEO_BT848 is not set
+CONFIG_VIDEO_BT848=m
 # CONFIG_VIDEO_BWQCAM is not set
 # CONFIG_VIDEO_CQCAM is not set
 # CONFIG_VIDEO_W9966 is not set
@@ -1587,6 +1582,10 @@ CONFIG_VIDEO_OVCAMCHIP=m
 # Digital Video Broadcasting Devices
 #
 # CONFIG_DVB is not set
+CONFIG_VIDEO_TUNER=m
+CONFIG_VIDEO_BUF=m
+CONFIG_VIDEO_BTCX=m
+CONFIG_VIDEO_IR=m
 
 #
 # Graphics support
@@ -1927,18 +1926,23 @@ CONFIG_INFINIBAND=m
 CONFIG_INFINIBAND_USER_MAD=m
 CONFIG_INFINIBAND_USER_ACCESS=m
 CONFIG_INFINIBAND_ADDR_TRANS=y
-CONFIG_IPATH_CORE=m
-CONFIG_INFINIBAND_IPATH=m
 CONFIG_INFINIBAND_MTHCA=m
 CONFIG_INFINIBAND_MTHCA_DEBUG=y
+CONFIG_INFINIBAND_IPATH=m
+CONFIG_INFINIBAND_AMSO1100=m
+# CONFIG_INFINIBAND_AMSO1100_DEBUG is not set
+CONFIG_INFINIBAND_CXGB3=m
+# CONFIG_INFINIBAND_CXGB3_DEBUG is not set
 CONFIG_INFINIBAND_IPOIB=m
+CONFIG_INFINIBAND_IPOIB_CM=y
 CONFIG_INFINIBAND_IPOIB_DEBUG=y
 # CONFIG_INFINIBAND_IPOIB_DEBUG_DATA is not set
+CONFIG_INFINIBAND_SRP=m
 CONFIG_INFINIBAND_SDP=m
 # CONFIG_INFINIBAND_SDP_DEBUG is not set
-CONFIG_INFINIBAND_SRP=m
-# CONFIG_INFINIBAND_ISER is not set
-# CONFIG_INFINIBAND_RDS_DEBUG is not set
+CONFIG_INFINIBAND_VNIC=m
+# CONFIG_INFINIBAND_VNIC_DEBUG is not set
+CONFIG_INFINIBAND_VNIC_STATS=y
 CONFIG_INFINIBAND_MADEYE=m
 
 #
@@ -1956,9 +1960,9 @@ CONFIG_EDAC_E7XXX=m
 CONFIG_EDAC_E752X=m
 CONFIG_EDAC_I82875P=m
 CONFIG_EDAC_I82860=m
+CONFIG_EDAC_K8=m
 CONFIG_EDAC_R82600=m
 CONFIG_EDAC_POLL=y
-CONFIG_EDAC_K8=m
 
 #
 # Firmware Drivers
@@ -2228,3 +2232,4 @@ CONFIG_CRC32=y
 CONFIG_LIBCRC32C=m
 CONFIG_ZLIB_INFLATE=y
 CONFIG_ZLIB_DEFLATE=m
+CONFIG_HAS_IOMEM=y
diff --git a/lustre/kernel_patches/patches/iopen-misc-2.6-suse.patch b/lustre/kernel_patches/patches/iopen-misc-2.6-suse.patch
index 2d70c7b70ddbafd6a5f26ae498b9949dab7b053c..d9ef03b2e0182b58be8c3767921f153fb35cbf26 100644
--- a/lustre/kernel_patches/patches/iopen-misc-2.6-suse.patch
+++ b/lustre/kernel_patches/patches/iopen-misc-2.6-suse.patch
@@ -29,35 +29,24 @@ Index: linux-2.6.4-51.0/fs/dcache.c
 ===================================================================
 --- linux-2.6.4-51.0.orig/fs/dcache.c	2004-05-06 22:24:42.000000000 -0400
 +++ linux-2.6.4-51.0/fs/dcache.c	2004-05-06 22:58:37.000000000 -0400
-@@ -1195,12 +1195,11 @@
+@@ -1195,7 +1195,7 @@
   * dcache entries should not be moved in this way.
   */
  
--void d_move(struct dentry * dentry, struct dentry * target)
-+void __d_move(struct dentry * dentry, struct dentry * target)
+-static void d_move_locked(struct dentry * dentry, struct dentry * target)
++void d_move_locked(struct dentry * dentry, struct dentry * target)
  {
- 	if (!dentry->d_inode)
- 		printk(KERN_WARNING "VFS: moving negative dcache entry\n");
- 
--	spin_lock(&dcache_lock);
- 	write_seqlock(&rename_lock);
- 	/*
- 	 * XXXX: do we really need to take target->d_lock?
-@@ -1253,6 +1252,14 @@
- 	spin_unlock(&target->d_lock);
- 	spin_unlock(&dentry->d_lock);
+	struct hlist_head *list;
+
+@@ -1253,6 +1252,8 @@
  	write_sequnlock(&rename_lock);
-+}
-+
-+EXPORT_SYMBOL(__d_move);
-+
-+void d_move(struct dentry *dentry, struct dentry *target)
-+{
-+	spin_lock(&dcache_lock);
-+	__d_move(dentry, target);
- 	spin_unlock(&dcache_lock);
  }
  
++EXPORT_SYMBOL(d_move_locked);
++
+ /**
+  * d_move - move a dentry
+  * @dentry: entry to move
 Index: linux-2.6.4-51.0/include/linux/dcache.h
 ===================================================================
 --- linux-2.6.4-51.0.orig/include/linux/dcache.h	2004-05-06 22:24:42.000000000 -0400
@@ -66,7 +55,7 @@ Index: linux-2.6.4-51.0/include/linux/dcache.h
   * This adds the entry to the hash queues.
   */
  extern void d_rehash(struct dentry *);
-+extern void __d_rehash(struct dentry *, int lock);
++extern void d_rehash_cond(struct dentry *, int lock);
  
  /**
   * d_add - add dentry to hash queues
@@ -74,7 +63,7 @@ Index: linux-2.6.4-51.0/include/linux/dcache.h
  
  /* used for rename() and baskets */
  extern void d_move(struct dentry *, struct dentry *);
-+extern void __d_move(struct dentry *, struct dentry *);
++extern void d_move_locked(struct dentry *, struct dentry *);
  
  /* appendix may either be NULL or be used for transname suffixes */
  extern struct dentry * d_lookup(struct dentry *, struct qstr *);
diff --git a/lustre/kernel_patches/patches/jbd-stats-2.6.9.patch b/lustre/kernel_patches/patches/jbd-stats-2.6.9.patch
index 0140efdb19fa549afcbbe6a878b7266e41aa7271..3e38108366cedc519e05ee2c1aa88db8fd1247c7 100644
--- a/lustre/kernel_patches/patches/jbd-stats-2.6.9.patch
+++ b/lustre/kernel_patches/patches/jbd-stats-2.6.9.patch
@@ -20,9 +20,9 @@ Index: linux-2.6.9/include/linux/jbd.h
   * tracks a compound transaction through its various states:
   *
 @@ -553,6 +563,21 @@ struct transaction_s 
- 	spinlock_t		t_handle_lock;
- 
- 	/*
+	spinlock_t		t_handle_lock;
+
+	/*
 +	 * Longest time some handle had to wait for running transaction
 +	 */
 +	unsigned long		t_max_wait;
@@ -42,9 +42,9 @@ Index: linux-2.6.9/include/linux/jbd.h
  	 * [t_handle_lock]
  	 */
 @@ -592,6 +617,57 @@ struct transaction_s 
- 	struct list_head	t_jcb;
+ #endif
  };
- 
+
 +struct transaction_run_stats_s {
 +	unsigned long		rs_wait;
 +	unsigned long		rs_running;
@@ -228,48 +228,49 @@ Index: linux-2.6.9/fs/jbd/checkpoint.c
 ===================================================================
 --- linux-2.6.9.orig/fs/jbd/checkpoint.c
 +++ linux-2.6.9/fs/jbd/checkpoint.c
-@@ -166,6 +166,7 @@ static int __cleanup_transaction(journal
-			transaction_t *t = jh->b_transaction;
-			tid_t tid = t->t_tid;
-
-+			transaction->t_chp_stats.cs_forced_to_close++;
-			spin_unlock(&journal->j_list_lock);
-			jbd_unlock_bh_state(bh);
-			log_start_commit(journal, tid);
-@@ -226,7 +227,7 @@ __flush_batch(journal_t *journal, struct
+@@ -126,7 +127,8 @@
+  * Called under jbd_lock_bh_state(jh2bh(jh)), and drops it
   */
- static int __flush_buffer(journal_t *journal, struct journal_head *jh,
-			struct buffer_head **bhs, int *batch_count,
--			int *drop_count)
-+			int *drop_count, transaction_t *transaction)
+ static int __process_buffer(journal_t *journal, struct journal_head *jh,
+-			struct buffer_head **bhs, int *batch_count)
++			struct buffer_head **bhs, int *batch_count,
++			transaction_t *transaction)
  {
 	struct buffer_head *bh = jh2bh(jh);
 	int ret = 0;
-@@ -247,6 +248,7 @@ static int __flush_buffer(journal_t *jou
-		set_buffer_jwrite(bh);
+@@ -166,6 +166,7 @@
+		transaction_t *t = jh->b_transaction;
+		tid_t tid = t->t_tid;
+
++		transaction->t_chp_stats.cs_forced_to_close++;
+		spin_unlock(&journal->j_list_lock);
+		jbd_unlock_bh_state(bh);
+		log_start_commit(journal, tid);
+@@ -247,6 +248,7 @@
 		bhs[*batch_count] = bh;
+		__buffer_relink_io(jh);
 		jbd_unlock_bh_state(bh);
 +		transaction->t_chp_stats.cs_written++;
 		(*batch_count)++;
 		if (*batch_count == NR_BATCH) {
-			__flush_batch(journal, bhs, batch_count);
+			spin_unlock(&journal->j_list_lock);
 @@ -315,6 +317,8 @@ int log_do_checkpoint(journal_t *journal
-		tid_t this_tid;
-
-		transaction = journal->j_checkpoint_transactions;
-+		if (transaction->t_chp_stats.cs_chp_time == 0)
-+			transaction->t_chp_stats.cs_chp_time = CURRENT_MSECS;
-		this_tid = transaction->t_tid;
-		jh = transaction->t_checkpoint_list;
-		last_jh = jh->b_cpprev;
+	if (!journal->j_checkpoint_transactions)
+		goto out;
+	transaction = journal->j_checkpoint_transactions;
++	if (transaction->t_chp_stats.cs_chp_time == 0)
++		transaction->t_chp_stats.cs_chp_time = CURRENT_MSECS;
+	this_tid = transaction->t_tid;
+ restart:
+	/*
 @@ -331,7 +335,8 @@ int log_do_checkpoint(journal_t *journal
 				retry = 1;
 				break;
 			}
--			retry = __flush_buffer(journal, jh, bhs, &batch_count, &drop_count);
-+			retry = __flush_buffer(journal, jh, bhs, &batch_count, 
-+					&drop_count, transaction);
-		} while (jh != last_jh && !retry);
+-			retry = __process_buffer(journal, jh, bhs,&batch_count);
++			retry = __process_buffer(journal, jh, bhs,&batch_count,
++					transaction);
+		}
 
 		if (batch_count) {
 @@ -597,6 +602,8 @@ void __journal_insert_checkpoint(struct 
diff --git a/lustre/kernel_patches/patches/qsnet-rhel4-2.6.patch b/lustre/kernel_patches/patches/qsnet-rhel4-2.6.patch
index b4a82803b99760b32dcfe64e2ad191d51e0bca37..6d584b4b7ac872f118a18e064f56fcd6f33c03a0 100644
--- a/lustre/kernel_patches/patches/qsnet-rhel4-2.6.patch
+++ b/lustre/kernel_patches/patches/qsnet-rhel4-2.6.patch
@@ -1198,9 +1198,9 @@ Index: linux-269-5502/mm/memory.c
  out:
  	return VM_FAULT_MINOR;
 @@ -1813,6 +1824,7 @@ retry:
+ 
  	/* no need to invalidate: a not-present page shouldn't be cached */
  	update_mmu_cache(vma, address, entry);
- 	lazy_mmu_prot_update(entry);
 +	ioproc_update_page(vma, address);
  	spin_unlock(&mm->page_table_lock);
  out:
diff --git a/lustre/kernel_patches/patches/tcp-rto_proc-2.6.9.patch b/lustre/kernel_patches/patches/tcp-rto_proc-2.6.9.patch
index f3c60234880b407baae369a0878354488e9225f9..0f94dd572a24f9a01b132be261443f09886dfe0a 100644
--- a/lustre/kernel_patches/patches/tcp-rto_proc-2.6.9.patch
+++ b/lustre/kernel_patches/patches/tcp-rto_proc-2.6.9.patch
@@ -3,11 +3,11 @@ Index: linux+rhel4+chaos/include/linux/sysctl.h
 --- linux+rhel4+chaos.orig/include/linux/sysctl.h
 +++ linux+rhel4+chaos/include/linux/sysctl.h
 @@ -348,6 +348,8 @@ enum
- 	NET_TCP_TSO_WIN_DIVISOR=107,
- 	NET_TCP_BIC_BETA=108,
  	NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR=109,
-+	NET_TCP_RTO_MAX=110,
-+	NET_TCP_RTO_INIT=111,
+ 	NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=110,
+ 	NET_TCP_SLOW_START_AFTER_IDLE=111,
++	NET_TCP_RTO_MAX=112,
++	NET_TCP_RTO_INIT=113,
  };
  
  enum {
diff --git a/lustre/kernel_patches/patches/vfs-keep-inode-hashed-for-clear-inode.patch b/lustre/kernel_patches/patches/vfs-keep-inode-hashed-for-clear-inode.patch
index 86764a4af6179d34044d198cdfe8015f08eba7a6..449dd660ff0c2a9d4698518bc2a93c703aa01feb 100644
--- a/lustre/kernel_patches/patches/vfs-keep-inode-hashed-for-clear-inode.patch
+++ b/lustre/kernel_patches/patches/vfs-keep-inode-hashed-for-clear-inode.patch
@@ -14,13 +14,13 @@
  		nr_disposed++;
  	}
 @@ -317,7 +323,6 @@
- 			continue;
- 		invalidate_inode_buffers(inode);
- 		if (!atomic_read(&inode->i_count)) {
--			hlist_del_init(&inode->i_hash);
- 			list_move(&inode->i_list, dispose);
- 			inode->i_state |= I_FREEING;
- 			count++;
+ 		else {
+ 			invalidate_inode_buffers(inode);
+ 			if (!atomic_read(&inode->i_count)) {
+-				hlist_del_init(&inode->i_hash);
+ 				list_move(&inode->i_list, dispose);
+ 				inode->i_state |= I_FREEING;
+ 				count++;
 @@ -455,7 +460,6 @@
  			if (!can_unuse(inode))
  				continue;
diff --git a/lustre/kernel_patches/patches/vfs_intent-2.6-rhel4.patch b/lustre/kernel_patches/patches/vfs_intent-2.6-rhel4.patch
index 0b8f12f60557b20471306cbb7816706b1d14fea9..b5aa18b254a9b0aa16615944dd4b562aae8709dd 100644
--- a/lustre/kernel_patches/patches/vfs_intent-2.6-rhel4.patch
+++ b/lustre/kernel_patches/patches/vfs_intent-2.6-rhel4.patch
@@ -697,8 +697,8 @@ diff -rup RH_2_6_9_55.orig/fs/nfs/dir.c RH_2_6_9_55/fs/nfs/dir.c
 diff -rup RH_2_6_9_55.orig/fs/nfs/nfs4proc.c RH_2_6_9_55/fs/nfs/nfs4proc.c
 --- RH_2_6_9_55.orig/fs/nfs/nfs4proc.c
 +++ RH_2_6_9_55/fs/nfs/nfs4proc.c
-@@ -770,17 +770,17 @@ nfs4_atomic_open(struct inode *dir, stru
- 	struct nfs4_state *state;
+@@ -770,27 +770,27 @@ nfs4_atomic_open(struct inode *dir, stru
+ 	struct nfs4_inc_open *inc_open;
  
  	if (nd->flags & LOOKUP_CREATE) {
 -		attr.ia_mode = nd->intent.open.create_mode;
@@ -712,12 +712,23 @@ diff -rup RH_2_6_9_55.orig/fs/nfs/nfs4proc.c RH_2_6_9_55/fs/nfs/nfs4proc.c
 +		BUG_ON(nd->intent.it_flags & O_CREAT);
  	}
  
+ 	/* track info in case the open never completes */
+ 	if (!(inc_open = kmalloc(sizeof(*inc_open), GFP_KERNEL)))
+ 		return ERR_PTR(-ENOMEM);
  	cred = rpcauth_lookupcred(NFS_SERVER(dir)->client->cl_auth, 0);
 -	state = nfs4_do_open(dir, &dentry->d_name, nd->intent.open.flags, &attr, cred);
 +	state = nfs4_do_open(dir, &dentry->d_name, nd->intent.it_flags, &attr, cred);
  	put_rpccred(cred);
- 	if (IS_ERR(state))
- 		return (struct inode *)state;
+ 	if (IS_ERR(state)) {
+ 		kfree(inc_open);
+		return (struct inode *)state;
+	}
+	inc_open->task = current;
+-	inc_open->flags = nd->intent.open.flags;
++	inc_open->flags = nd->intent.it_flags;
+	INIT_LIST_HEAD(&inc_open->state);
+	spin_lock(&state->inode->i_lock);
+	list_add(&inc_open->state, &state->inc_open);
 diff -rup RH_2_6_9_55.orig/fs/open.c RH_2_6_9_55/fs/open.c
 --- RH_2_6_9_55.orig/fs/open.c
 +++ RH_2_6_9_55/fs/open.c
diff --git a/lustre/kernel_patches/patches/vfs_races-2.6-rhel4.patch b/lustre/kernel_patches/patches/vfs_races-2.6-rhel4.patch
index 3632a41b3f4300c712ac7ed6def2be7a1a08ecd2..04ac6fe2c027179d9caf98bfb7e3e04b0562f1f2 100644
--- a/lustre/kernel_patches/patches/vfs_races-2.6-rhel4.patch
+++ b/lustre/kernel_patches/patches/vfs_races-2.6-rhel4.patch
@@ -22,7 +22,7 @@ diff -urp RH_2_6_9_42_0_3.orig/fs/dcache.c RH_2_6_9_42_0_3/fs/dcache.c
   */
   
 -void d_rehash(struct dentry * entry)
-+void __d_rehash(struct dentry * entry, int lock)
++void d_rehash_cond(struct dentry * entry, int lock)
  {
  	struct hlist_head *list = d_hash(entry->d_parent, entry->d_name.hash);
  
@@ -39,12 +39,12 @@ diff -urp RH_2_6_9_42_0_3.orig/fs/dcache.c RH_2_6_9_42_0_3/fs/dcache.c
 +		spin_unlock(&dcache_lock);
  }
  
-+EXPORT_SYMBOL(__d_rehash);
++EXPORT_SYMBOL(d_rehash_cond);
 +
 +void d_rehash(struct dentry * entry)
 +{
-+	__d_rehash(entry, 1);
-+ }
++	d_rehash_cond(entry, 1);
++}
 +
  #define do_switch(x,y) do { \
  	__typeof__ (x) __tmp = x; \
diff --git a/lustre/kernel_patches/series/2.6-rhel4.series b/lustre/kernel_patches/series/2.6-rhel4.series
index 95e090b909afa50a06de1c673cb65373b5998148..1cdc80996de88bb1c801e266be285041e5a858cd 100644
--- a/lustre/kernel_patches/series/2.6-rhel4.series
+++ b/lustre/kernel_patches/series/2.6-rhel4.series
@@ -16,6 +16,7 @@ qsnet-rhel4-2.6.patch
 linux-2.6-binutils-2.16.patch
 vm-tunables-rhel4.patch 
 tcp-rto_proc-2.6.9.patch
+rollback-raid5ch-to-55.patch
 raid5-stats.patch
 raid5-configurable-cachesize.patch
 raid5-large-io.patch
diff --git a/lustre/kernel_patches/targets/2.6-rhel4.target.in b/lustre/kernel_patches/targets/2.6-rhel4.target.in
index 1b4aadfe0a4a41ce8f20a332fefb5759e1d16946..6dfecc64c51deefcb4d3f41981bc4f448bced4b0 100644
--- a/lustre/kernel_patches/targets/2.6-rhel4.target.in
+++ b/lustre/kernel_patches/targets/2.6-rhel4.target.in
@@ -1,5 +1,5 @@
 lnxmaj="2.6.9"
-lnxrel="55.0.12.EL"
+lnxrel="67.EL"
 
 KERNEL=linux-${lnxmaj}-${lnxrel}.tar.bz2
 SERIES=2.6-rhel4.series
diff --git a/lustre/kernel_patches/which_patch b/lustre/kernel_patches/which_patch
index cd98dfd6af2b94cb6a51d24a87cea3cedf803eaf..e5bea386913d21c5b79a283bcbd5f9fd22f02195 100644
--- a/lustre/kernel_patches/which_patch
+++ b/lustre/kernel_patches/which_patch
@@ -3,7 +3,7 @@ SERIES                VERSION                  COMMENT
 SUPPORTED KERNELS:
 2.6-suse              SLES9 before SP1         already in SLES9 SP1 kernel
 2.6-suse-newer        SLES9: 2.6.5-7.287.3       extra patches for SLES9 after SP1
-2.6-rhel4             RHEL4: 2.6.9-55.0.12.EL
+2.6-rhel4             RHEL4: 2.6.9-67.EL
 2.6-sles10            SLES10: 2.6.16.54-0.2.3
 2.6-rhel5.series      RHEL5: 2.6.18-53.el5
 2.6.18-vanilla.series kernel.org: 2.6.18.8