From: yangsheng Date: Thu, 3 Jan 2008 03:24:14 +0000 (+0000) Subject: Branch HEAD X-Git-Tag: v1_7_0_51~350 X-Git-Url: https://git.whamcloud.com/?p=fs%2Flustre-release.git;a=commitdiff_plain;h=9a4644fc9e829c45e883b12a709958bdc98f2411 Branch HEAD b=14288 i=adilger i=kalpak Update to RHEL4 U6 kernel-2.6.9-67.EL. --- diff --git a/lustre/ChangeLog b/lustre/ChangeLog index 68d3fae..505f88f 100644 --- a/lustre/ChangeLog +++ b/lustre/ChangeLog @@ -1,7 +1,7 @@ * version 1.8.0 * 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.1.4.el5 (RHEL 5). 2.6.18.8 vanilla (kernel.org) @@ -13,6 +13,10 @@ * Note that reiserfs quotas are disabled on SLES 10 in this kernel. Severity : enhancement +Bugzilla : 14288 +Description: Update to RHEL4 U6 kernel-2.6.9-67.EL. + +Severity : enhancement Bugzilla : 14368 Description: Update to RHEL5 latest kernel-2.6.18-53.1.4.el5. diff --git a/lustre/autoconf/lustre-core.m4 b/lustre/autoconf/lustre-core.m4 index 37cb836..727d1a9 100644 --- a/lustre/autoconf/lustre-core.m4 +++ b/lustre/autoconf/lustre-core.m4 @@ -817,6 +817,7 @@ AC_DEFUN([LC_INODE_I_MUTEX], LB_LINUX_TRY_COMPILE([ #include #include + #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 df67224..3607fa2 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 @@ -1169,17 +1177,6 @@ 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) # CONFIG_NET_RADIO=y @@ -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 @@ -2413,12 +2419,8 @@ CONFIG_DEBUG_STACK_USAGE=y # CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_4KSTACKS is not set # CONFIG_SCHEDSTATS is not set -CONFIG_LOCKMETER=y CONFIG_X86_FIND_SMP_CONFIG=y CONFIG_X86_MPPARSE=y -# CONFIG_KGDB is not set -# CONFIG_PROC_SLEEP is not set - # # Security options @@ -2476,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 4d30fb3..e0f9600 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 -# Tue Nov 7 10:22:12 2006 +# Linux kernel version: 2.6.9-prep.qp3.5.34.4qsnet +# Sat Nov 24 21:30:07 2007 # CONFIG_X86=y CONFIG_MMU=y @@ -112,7 +112,7 @@ CONFIG_HPET_TIMER=y CONFIG_HPET_EMULATE_RTC=y # CONFIG_SMP is not set # CONFIG_PREEMPT is not set -# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_X86_UP_APIC is not set CONFIG_X86_TSC=y CONFIG_X86_MCE=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 @@ -130,12 +129,11 @@ CONFIG_X86_CPUID=m CONFIG_EDD=m CONFIG_DELL_RBU=m CONFIG_DCDBAS=m -CONFIG_NOHIGHMEM=y -# CONFIG_HIGHMEM4G is not set +# CONFIG_NOHIGHMEM is not set +CONFIG_HIGHMEM4G=y # CONFIG_HIGHMEM64G is not set -# CONFIG_USER_3GB is not set -# CONFIG_USER_2GB is not set -CONFIG_USER_1GB=y +CONFIG_HIGHMEM=y +CONFIG_HIGHPTE=y # CONFIG_MATH_EMULATION is not set CONFIG_MTRR=y # CONFIG_EFI is not set @@ -228,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 @@ -440,7 +439,7 @@ CONFIG_BLK_DEV_IDEDISK=y CONFIG_IDEDISK_MULTI_MODE=y CONFIG_BLK_DEV_IDECS=m CONFIG_BLK_DEV_DELKIN=m -# CONFIG_BLK_DEV_IDECD is not set +CONFIG_BLK_DEV_IDECD=y # CONFIG_BLK_DEV_IDETAPE is not set CONFIG_BLK_DEV_IDEFLOPPY=y CONFIG_BLK_DEV_IDESCSI=m @@ -556,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 @@ -601,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 @@ -624,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 @@ -641,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) @@ -1123,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 @@ -1134,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 @@ -1159,17 +1165,6 @@ 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) # CONFIG_NET_RADIO=y @@ -1767,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 @@ -1809,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 @@ -2001,9 +2000,11 @@ CONFIG_USB_SUSPEND=y # # USB Host Controller Drivers # -# CONFIG_USB_EHCI_HCD is not set -# CONFIG_USB_OHCI_HCD is not set -# CONFIG_USB_UHCI_HCD is not set +CONFIG_USB_EHCI_HCD=m +CONFIG_USB_EHCI_SPLIT_ISO=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_OHCI_HCD=m +CONFIG_USB_UHCI_HCD=m # # USB Device Class drivers @@ -2181,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 # @@ -2207,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 @@ -2411,8 +2417,9 @@ CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUG_SLAB is not set CONFIG_DEBUG_SPINLOCK=y CONFIG_DEBUG_SPINLOCK_SLEEP=y +CONFIG_DEBUG_HIGHMEM=y CONFIG_DEBUG_INFO=y -CONFIG_FRAME_POINTER=y +# CONFIG_FRAME_POINTER is not set CONFIG_EARLY_PRINTK=y CONFIG_DEBUG_STACKOVERFLOW=y CONFIG_KPROBES=y @@ -2420,8 +2427,6 @@ CONFIG_DEBUG_STACK_USAGE=y # CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_4KSTACKS is not set # CONFIG_SCHEDSTATS is not set -# CONFIG_KGDB is not set -CONFIG_PROC_SLEEP=y # # Security options @@ -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 9c8c057..157dcc2 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 Jul 31 19:41:42 2006 +# 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 @@ -882,17 +889,6 @@ 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) # CONFIG_NET_RADIO=y @@ -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 @@ -1989,7 +1996,6 @@ CONFIG_IA64_GRANULE_16MB=y # CONFIG_DISABLE_VHPT is not set # CONFIG_IA64_DEBUG_CMPXCHG is not set # CONFIG_IA64_DEBUG_IRQ is not set -# CONFIG_KGDB is not set # # Security options 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 8f2a26a..2eb9678 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 Jul 31 19:44:37 2006 +# 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 @@ -882,17 +889,6 @@ 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) # CONFIG_NET_RADIO=y @@ -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 @@ -1989,7 +1996,6 @@ CONFIG_IA64_GRANULE_16MB=y # CONFIG_DISABLE_VHPT is not set # CONFIG_IA64_DEBUG_CMPXCHG is not set # CONFIG_IA64_DEBUG_IRQ is not set -# CONFIG_KGDB is not set # # Security options 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 bfb5994..028c475 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 Jul 31 19:52:59 2006 +# 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 @@ -1021,17 +1026,6 @@ 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) # CONFIG_NET_RADIO=y @@ -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 @@ -1924,19 +1922,27 @@ CONFIG_USB_SPEEDTOUCH=m # # InfiniBand support # -# CONFIG_INFINIBAND is not set -CONFIG_IPATH_CORE=m -CONFIG_INFINIBAND_IPATH=m +CONFIG_INFINIBAND=m +CONFIG_INFINIBAND_USER_MAD=m +CONFIG_INFINIBAND_USER_ACCESS=m +CONFIG_INFINIBAND_ADDR_TRANS=y 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 # @@ -1954,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 @@ -2163,17 +2169,13 @@ CONFIG_OPROFILE=m CONFIG_DEBUG_KERNEL=y CONFIG_MAGIC_SYSRQ=y # CONFIG_DEBUG_SLAB is not set -# CONFIG_DEBUG_SPINLOCK is not set -# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_SPINLOCK_SLEEP=y # CONFIG_DEBUG_INFO is not set -CONFIG_FRAME_POINTER=y -CONFIG_FRAME_POINTER_FORCE=y CONFIG_INIT_DEBUG=y # CONFIG_SCHEDSTATS is not set # CONFIG_IOMMU_DEBUG is not set CONFIG_KPROBES=y -# CONFIG_LOCKMETER is not set -CONFIG_PROC_SLEEP=y # # Security options @@ -2230,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 2c52eaf..df16a73 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 Jul 31 19:51:03 2006 +# 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 @@ -1020,17 +1026,6 @@ 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) # CONFIG_NET_RADIO=y @@ -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 @@ -2172,7 +2176,6 @@ CONFIG_INIT_DEBUG=y # CONFIG_SCHEDSTATS is not set # CONFIG_IOMMU_DEBUG is not set CONFIG_KPROBES=y -# CONFIG_KGDB is not set # # Security options @@ -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/patches/iopen-misc-2.6-suse.patch b/lustre/kernel_patches/patches/iopen-misc-2.6-suse.patch index 2d70c7b..d9ef03b 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 0140efd..3e38108 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 b4a8280..6d584b4 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/rollback-raid5ch-to-55.patch b/lustre/kernel_patches/patches/rollback-raid5ch-to-55.patch new file mode 100644 index 0000000..5c4eab5 --- /dev/null +++ b/lustre/kernel_patches/patches/rollback-raid5ch-to-55.patch @@ -0,0 +1,329 @@ +--- linux-2.6.9-67/drivers/md/raid5.c 2007-11-21 21:12:50.000000000 -0700 ++++ linux-2.6.9-55.0.12/drivers/md/raid5.c 2007-11-02 01:10:35.000000000 -0700 +@@ -49,7 +49,7 @@ + * This macro is used to determine the 'next' bio in the list, given the sector + * of the current stripe+device + */ +-#define r5_next_bio(bio, sect) ( ( (bio)->bi_sector + ((bio)->bi_size>>9) < sect + STRIPE_SECTORS) ? (bio)->bi_next : NULL) ++#define r5_next_bio(bio, sect) ( ( bio->bi_sector + (bio->bi_size>>9) < sect + STRIPE_SECTORS) ? bio->bi_next : NULL) + /* + * The following can be used to debug the driver + */ +@@ -232,7 +232,6 @@ static struct stripe_head *__find_stripe + } + + static void unplug_slaves(mddev_t *mddev); +-static void raid5_unplug_device(request_queue_t *q); + + static struct stripe_head *get_active_stripe(raid5_conf_t *conf, sector_t sector, + int pd_idx, int noblock) +@@ -727,10 +726,6 @@ static void compute_parity(struct stripe + ptr[count++] = page_address(sh->dev[i].page); + chosen = sh->dev[i].towrite; + sh->dev[i].towrite = NULL; +- +- if (test_and_clear_bit(R5_Overlap, &sh->dev[i].flags)) +- wake_up(&conf->wait_for_overlap); +- + if (sh->dev[i].written) BUG(); + sh->dev[i].written = chosen; + check_xor(); +@@ -743,10 +738,6 @@ static void compute_parity(struct stripe + if (i!=pd_idx && sh->dev[i].towrite) { + chosen = sh->dev[i].towrite; + sh->dev[i].towrite = NULL; +- +- if (test_and_clear_bit(R5_Overlap, &sh->dev[i].flags)) +- wake_up(&conf->wait_for_overlap); +- + if (sh->dev[i].written) BUG(); + sh->dev[i].written = chosen; + } +@@ -803,7 +794,7 @@ static void compute_parity(struct stripe + * toread/towrite point to the first in a chain. + * The bi_next chain must be in order. + */ +-static int add_stripe_bio(struct stripe_head *sh, struct bio *bi, int dd_idx, int forwrite) ++static void add_stripe_bio (struct stripe_head *sh, struct bio *bi, int dd_idx, int forwrite) + { + struct bio **bip; + raid5_conf_t *conf = sh->raid_conf; +@@ -820,13 +811,10 @@ static int add_stripe_bio(struct stripe_ + else + bip = &sh->dev[dd_idx].toread; + while (*bip && (*bip)->bi_sector < bi->bi_sector) { +- if ((*bip)->bi_sector + ((*bip)->bi_size >> 9) > bi->bi_sector) +- goto overlap; ++ BUG_ON((*bip)->bi_sector + ((*bip)->bi_size >> 9) > bi->bi_sector); + bip = & (*bip)->bi_next; + } +- if (*bip && (*bip)->bi_sector < bi->bi_sector + ((bi->bi_size)>>9)) +- goto overlap; +- ++/* FIXME do I need to worry about overlapping bion */ + if (*bip && bi->bi_next && (*bip) != bi->bi_next) + BUG(); + if (*bip) +@@ -841,7 +829,7 @@ static int add_stripe_bio(struct stripe_ + (unsigned long long)sh->sector, dd_idx); + + if (forwrite) { +- /* check if page is covered */ ++ /* check if page is coverred */ + sector_t sector = sh->dev[dd_idx].sector; + for (bi=sh->dev[dd_idx].towrite; + sector < sh->dev[dd_idx].sector + STRIPE_SECTORS && +@@ -853,13 +841,6 @@ static int add_stripe_bio(struct stripe_ + if (sector >= sh->dev[dd_idx].sector + STRIPE_SECTORS) + set_bit(R5_OVERWRITE, &sh->dev[dd_idx].flags); + } +- return 1; +- +- overlap: +- set_bit(R5_Overlap, &sh->dev[dd_idx].flags); +- spin_unlock_irq(&conf->device_lock); +- spin_unlock(&sh->lock); +- return 0; + } + + +@@ -920,8 +901,6 @@ static void handle_stripe(struct stripe_ + spin_lock_irq(&conf->device_lock); + rbi = dev->toread; + dev->toread = NULL; +- if (test_and_clear_bit(R5_Overlap, &dev->flags)) +- wake_up(&conf->wait_for_overlap); + spin_unlock_irq(&conf->device_lock); + while (rbi && rbi->bi_sector < dev->sector + STRIPE_SECTORS) { + copy_data(0, rbi, dev->page, dev->sector); +@@ -969,9 +948,6 @@ static void handle_stripe(struct stripe_ + sh->dev[i].towrite = NULL; + if (bi) to_write--; + +- if (test_and_clear_bit(R5_Overlap, &sh->dev[i].flags)) +- wake_up(&conf->wait_for_overlap); +- + while (bi && bi->bi_sector < sh->dev[i].sector + STRIPE_SECTORS){ + struct bio *nextbi = r5_next_bio(bi, sh->dev[i].sector); + clear_bit(BIO_UPTODATE, &bi->bi_flags); +@@ -1000,8 +976,6 @@ static void handle_stripe(struct stripe_ + if (!test_bit(R5_Insync, &sh->dev[i].flags)) { + bi = sh->dev[i].toread; + sh->dev[i].toread = NULL; +- if (test_and_clear_bit(R5_Overlap, &sh->dev[i].flags)) +- wake_up(&conf->wait_for_overlap); + if (bi) to_read--; + while (bi && bi->bi_sector < sh->dev[i].sector + STRIPE_SECTORS){ + struct bio *nextbi = r5_next_bio(bi, sh->dev[i].sector); +@@ -1441,7 +1415,6 @@ static int make_request (request_queue_t + if ( bio_data_dir(bi) == WRITE ) + md_write_start(mddev); + for (;logical_sector < last_sector; logical_sector += STRIPE_SECTORS) { +- DEFINE_WAIT(w); + + new_sector = raid5_compute_sector(logical_sector, + raid_disks, data_disks, &dd_idx, &pd_idx, conf); +@@ -1450,28 +1423,17 @@ static int make_request (request_queue_t + (unsigned long long)new_sector, + (unsigned long long)logical_sector); + +- retry: +- prepare_to_wait(&conf->wait_for_overlap, &w, TASK_UNINTERRUPTIBLE); + sh = get_active_stripe(conf, new_sector, pd_idx, (bi->bi_rw&RWA_MASK)); + if (sh) { +- if (!add_stripe_bio(sh, bi, dd_idx, (bi->bi_rw&RW_MASK))) { +- /* Add failed due to overlap. Flush everything +- * and wait a while +- */ +- raid5_unplug_device(mddev->queue); +- release_stripe(sh); +- schedule(); +- goto retry; +- } +- finish_wait(&conf->wait_for_overlap, &w); ++ ++ add_stripe_bio(sh, bi, dd_idx, (bi->bi_rw&RW_MASK)); ++ + raid5_plug_device(conf); + handle_stripe(sh); + release_stripe(sh); +- + } else { + /* cannot get stripe for read-ahead, just give-up */ + clear_bit(BIO_UPTODATE, &bi->bi_flags); +- finish_wait(&conf->wait_for_overlap, &w); + break; + } + +@@ -1619,7 +1581,6 @@ static int run (mddev_t *mddev) + + conf->device_lock = SPIN_LOCK_UNLOCKED; + init_waitqueue_head(&conf->wait_for_stripe); +- init_waitqueue_head(&conf->wait_for_overlap); + INIT_LIST_HEAD(&conf->handle_list); + INIT_LIST_HEAD(&conf->delayed_list); + INIT_LIST_HEAD(&conf->inactive_list); +--- linux-2.6.9-67/include/linux/raid/raid5.h 2007-11-21 21:12:41.000000000 -0700 ++++ linux-2.6.9-55.0.12/include/linux/raid/raid5.h 2004-10-18 15:54:55.000000000 -0600 +@@ -152,7 +152,6 @@ struct stripe_head { + #define R5_Wantread 4 /* want to schedule a read */ + #define R5_Wantwrite 5 + #define R5_Syncio 6 /* this io need to be accounted as resync io */ +-#define R5_Overlap 7 /* There is a pending overlapping request on this block */ + + /* + * Write method +@@ -220,7 +219,6 @@ struct raid5_private_data { + atomic_t active_stripes; + struct list_head inactive_list; + wait_queue_head_t wait_for_stripe; +- wait_queue_head_t wait_for_overlap; + int inactive_blocked; /* release of inactive stripes blocked, + * waiting for 25% to be free + */ +--- linux-2.6.9-67/drivers/md/raid6main.c 2007-11-21 21:12:41.000000000 -0700 ++++ linux-2.6.9-55.0.12/drivers/md/raid6main.c 2007-11-02 01:10:20.000000000 -0700 +@@ -54,7 +54,7 @@ + * This macro is used to determine the 'next' bio in the list, given the sector + * of the current stripe+device + */ +-#define r5_next_bio(bio, sect) ( ( (bio)->bi_sector + ((bio)->bi_size>>9) < sect + STRIPE_SECTORS) ? (bio)->bi_next : NULL) ++#define r5_next_bio(bio, sect) ( ( bio->bi_sector + (bio->bi_size>>9) < sect + STRIPE_SECTORS) ? bio->bi_next : NULL) + /* + * The following can be used to debug the driver + */ +@@ -740,10 +740,6 @@ static void compute_parity(struct stripe + if ( i != pd_idx && i != qd_idx && sh->dev[i].towrite ) { + chosen = sh->dev[i].towrite; + sh->dev[i].towrite = NULL; +- +- if (test_and_clear_bit(R5_Overlap, &sh->dev[i].flags)) +- wake_up(&conf->wait_for_overlap); +- + if (sh->dev[i].written) BUG(); + sh->dev[i].written = chosen; + } +@@ -902,7 +898,7 @@ static void compute_block_2(struct strip + * toread/towrite point to the first in a chain. + * The bi_next chain must be in order. + */ +-static int add_stripe_bio(struct stripe_head *sh, struct bio *bi, int dd_idx, int forwrite) ++static void add_stripe_bio (struct stripe_head *sh, struct bio *bi, int dd_idx, int forwrite) + { + struct bio **bip; + raid6_conf_t *conf = sh->raid_conf; +@@ -919,13 +915,10 @@ static int add_stripe_bio(struct stripe_ + else + bip = &sh->dev[dd_idx].toread; + while (*bip && (*bip)->bi_sector < bi->bi_sector) { +- if ((*bip)->bi_sector + ((*bip)->bi_size >> 9) > bi->bi_sector) +- goto overlap; +- bip = &(*bip)->bi_next; ++ BUG_ON((*bip)->bi_sector + ((*bip)->bi_size >> 9) > bi->bi_sector); ++ bip = & (*bip)->bi_next; + } +- if (*bip && (*bip)->bi_sector < bi->bi_sector + ((bi->bi_size)>>9)) +- goto overlap; +- ++/* FIXME do I need to worry about overlapping bion */ + if (*bip && bi->bi_next && (*bip) != bi->bi_next) + BUG(); + if (*bip) +@@ -940,7 +933,7 @@ static int add_stripe_bio(struct stripe_ + (unsigned long long)sh->sector, dd_idx); + + if (forwrite) { +- /* check if page is covered */ ++ /* check if page is coverred */ + sector_t sector = sh->dev[dd_idx].sector; + for (bi=sh->dev[dd_idx].towrite; + sector < sh->dev[dd_idx].sector + STRIPE_SECTORS && +@@ -952,13 +945,6 @@ static int add_stripe_bio(struct stripe_ + if (sector >= sh->dev[dd_idx].sector + STRIPE_SECTORS) + set_bit(R5_OVERWRITE, &sh->dev[dd_idx].flags); + } +- return 1; +- +- overlap: +- set_bit(R5_Overlap, &sh->dev[dd_idx].flags); +- spin_unlock_irq(&conf->device_lock); +- spin_unlock(&sh->lock); +- return 0; + } + + +@@ -1022,8 +1008,6 @@ static void handle_stripe(struct stripe_ + spin_lock_irq(&conf->device_lock); + rbi = dev->toread; + dev->toread = NULL; +- if (test_and_clear_bit(R5_Overlap, &dev->flags)) +- wake_up(&conf->wait_for_overlap); + spin_unlock_irq(&conf->device_lock); + while (rbi && rbi->bi_sector < dev->sector + STRIPE_SECTORS) { + copy_data(0, rbi, dev->page, dev->sector); +@@ -1073,9 +1057,6 @@ static void handle_stripe(struct stripe_ + sh->dev[i].towrite = NULL; + if (bi) to_write--; + +- if (test_and_clear_bit(R5_Overlap, &sh->dev[i].flags)) +- wake_up(&conf->wait_for_overlap); +- + while (bi && bi->bi_sector < sh->dev[i].sector + STRIPE_SECTORS){ + struct bio *nextbi = r5_next_bio(bi, sh->dev[i].sector); + clear_bit(BIO_UPTODATE, &bi->bi_flags); +@@ -1104,8 +1085,6 @@ static void handle_stripe(struct stripe_ + if (!test_bit(R5_Insync, &sh->dev[i].flags)) { + bi = sh->dev[i].toread; + sh->dev[i].toread = NULL; +- if (test_and_clear_bit(R5_Overlap, &sh->dev[i].flags)) +- wake_up(&conf->wait_for_overlap); + if (bi) to_read--; + while (bi && bi->bi_sector < sh->dev[i].sector + STRIPE_SECTORS){ + struct bio *nextbi = r5_next_bio(bi, sh->dev[i].sector); +@@ -1597,7 +1576,6 @@ static int make_request (request_queue_t + if ( bio_data_dir(bi) == WRITE ) + md_write_start(mddev); + for (;logical_sector < last_sector; logical_sector += STRIPE_SECTORS) { +- DEFINE_WAIT(w); + + new_sector = raid6_compute_sector(logical_sector, + raid_disks, data_disks, &dd_idx, &pd_idx, conf); +@@ -1606,27 +1584,17 @@ static int make_request (request_queue_t + (unsigned long long)new_sector, + (unsigned long long)logical_sector); + +- retry: +- prepare_to_wait(&conf->wait_for_overlap, &w, TASK_UNINTERRUPTIBLE); + sh = get_active_stripe(conf, new_sector, pd_idx, (bi->bi_rw&RWA_MASK)); + if (sh) { +- if (!add_stripe_bio(sh, bi, dd_idx, (bi->bi_rw&RW_MASK))) { +- /* Add failed due to overlap. Flush everything +- * and wait a while +- */ +- raid6_unplug_device(mddev->queue); +- release_stripe(sh); +- schedule(); +- goto retry; +- } +- finish_wait(&conf->wait_for_overlap, &w); ++ ++ add_stripe_bio(sh, bi, dd_idx, (bi->bi_rw&RW_MASK)); ++ + raid6_plug_device(conf); + handle_stripe(sh); + release_stripe(sh); + } else { + /* cannot get stripe for read-ahead, just give-up */ + clear_bit(BIO_UPTODATE, &bi->bi_flags); +- finish_wait(&conf->wait_for_overlap, &w); + break; + } + +@@ -1774,7 +1742,6 @@ static int run (mddev_t *mddev) + + conf->device_lock = SPIN_LOCK_UNLOCKED; + init_waitqueue_head(&conf->wait_for_stripe); +- init_waitqueue_head(&conf->wait_for_overlap); + INIT_LIST_HEAD(&conf->handle_list); + INIT_LIST_HEAD(&conf->delayed_list); + INIT_LIST_HEAD(&conf->inactive_list); 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 f3c6023..0f94dd5 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 86764a4..449dd66 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 0b8f12f..b5aa18b 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 3632a41..04ac6fe 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 c1bbc2f..7322735 100644 --- a/lustre/kernel_patches/series/2.6-rhel4.series +++ b/lustre/kernel_patches/series/2.6-rhel4.series @@ -15,6 +15,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 1b4aadf..6dfecc6 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 04cb2ce..363e262 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.1.4.el5 2.6.18-vanilla.series kernel.org: 2.6.18.8