Name : cpq_cciss Relocations: /opt/compaq/storage_drivers Version : 2.4.48 Vendor: Compaq Computer Corporation Release : 8 Build Date: Mon Oct 20 10:41:41 2003 Install date: (not installed) Build Host: one64.cca.cpqcorp.net Group : System Environment/Kernel Source RPM: cpq_cciss-2.4.48-8.src.rpm Size : 345214 License: GPL Packager : Compaq Computer Corporation URL : ftp://ftp.compaq.com/pub/products/drivers/linux/released/cpq_cciss Summary : Compaq cciss 2.4.48 HBA driver RPM Description : This RPM will install the Compaq cpq_cciss v. 2.4.48-8 driver. It will install a gzipped tar file, cciss-2.4.48_2003_10_19.tar.gz into /opt/compaq/storage_drivers. (The destination directory may be changed via RPM's --prefix or --relocate options, provided you have rpm v. 4.0.3 or better. These options are broken in 4.0.2, which is the default rpm version for Redhat 7.1.) Additionally, by default, it will install the driver object modules under the appropriate /lib/modules subdirectory, attempt to create a new initrd image, and modify your LILO or GRUB configuration. If you do not wish to have your LILO or GRUB configuration or initrd image modified, you have several options. You can install the RPM with the "--noscripts" option, which will suppress all actions except for installation of the gzipped tar file, so, LILO and GRUB configurations will not be disturbed and a new initrd image will not be created. Then, you can unpack the gzipped tar file and install the drivers yourself using the "install" script contained within the tar archive. (Documentation for the "install" script is contained in the tar archives as well. Alternately you could manually copy the cciss.o files into the appropriate /lib/modules subdirectory and manually modify your boot loader's configuration if you so choose.) Or, there are several environment variables which will suppress various aspects of the RPM package's post (un)installation behavior: NOINITINSTALL=y Suppress making multiple initrd images for all base and errata kernels Create the initrd image for the currently active kernel only SUPPRESSINITRD=y Suppress initrd, lilo, and grub modification DRYRUN=y Perform only a "dry run" of the post-install steps. Copying of driver object modules, and lilo, grub, and initrd configuration changes will be "simulated" but not actually performed. (Note, normally a "dry run" is done automatically once prior to performing the real installation as a safeguard. If the dry run fails, the real installation is not performed. Setting the "DRYRUN" variable simply makes the installation halt after the dry run even if the dry run succeeds.) Note also that the RPM is still considered to be "installed" and "rpm" will refuse to install it again, so if you use the DRYRUN option, you'll have to uninstall the RPM via: rpm -e --noscripts cpq_cciss-2.4.48-8 before reinstalling it without the DRYRUN variable set to enable LILO, GRUB and initrd modificatons to proceed. Alternately, you could manually unpack the gzipped tar file and use the "install" script to install the driver object modules, make a new initrd image and change your boot loader configuration, or manually perform those steps yourself. Additionally, contained within the gzipped tar file are all linux kernel patches necessary to compile the included driver object modules yourself from source code when applied to the appropriate kernel source trees. (Your linux distribution vendor is obligated to make those kernel source trees available to you, of course.) NOTE: The /etc/modules.conf file will not be updated. Most of the time, this will not be a problem, as the drivers installed by this RPM will be updates to previously installed drivers. If, for whatever reason, the RPM installs a driver for which there is not already an entry in /etc/modules.conf, then the driver will not be loaded automatically at boot time, and it will be necessary to use insmod manually, or modify /etc/modules.conf manually. If modules.conf must be modified manually to add an entry for the driver, then a new initrd image must also be created, since mkinitrd uses modules.conf to determine what to put into the initrd image. ================================================================== This RPM contains the following patches, which were used to create the drivers also found within this RPM. ------------------------------------------------------------------ The patches should be applied in the following order: ==== For 2.4.7-10, use the following patches: ==== 2.4.7-10/p00000_cpqfc_2.1.1_for_RH72_ia32.patch p00000_cpqfc_2.1.1_for_RH72_ia32.patch: * reinitialize Cmnd->SCp.sent_command (used to identify commands as passthrus) on calling scsi_done, since the scsi mid layer does not use (or reinitialize) this field to prevent subsequent comands from having it set incorrectly. * Revise driver to use new kernel 2.4.x PCI DMA API, instead of virt_to_bus(). (enables driver to work w/ ia64 systems with >2Gb RAM.) Rework main scatter-gather code to handle cases where SG element lengths are larger than 0x7FFFF bytes and use as many scatter gather pages as necessary. (Steve Cameron) * Makefile changes to bring cpqfc into line w/ rest of SCSI drivers (thanks to Keith Owens) * Reject non-existent luns in the driver rather than letting the hardware do it. (some HW behaves differently than others in this area.) * Changed Makefile to rely on "make dep" instead of explicit dependencies * ifdef'ed out fibre channel analyzer triggering debug code * fixed a jiffies wrapping issue * Incorporated fix for target device reset from Steeleye * Fixed passthrough ioctl so it doesn't hang. * Fixed hang in launch_FCworker_thread() that occurred on some machines. 2.4.7-10/p00001_cpqfc_2.1.2_for_RH72.patch p00001_cpqfc_2.1.2_for_RH72.patch: * initialize DumCmnd.lun (used as LUN index in fcFindLoggedInPort()) 2.4.7-10/p00002_cpqarray_2.4.25_for_RH72.patch p00002_cpqarray_2.4.25_for_RH72.patch: * Use completions instead of schedule_timeout() polling * Use new PCI interface * Add ioctls: HDIO_GETGEO_BIG, IDABIGPASSTHRU, IDADEREGDISK, IDAREGNEWDISK, IDAGETLOGINFO, * Support SENSE_SURF_STATUS controller command. 2.4.7-10/p00003_cpqarray_2.4.26_from_2.4.25_for_RH72.patch p00003_cpqarray_2.4.26_from_2.4.25_for_RH72.patch: 2003/04/14 ---------- Changes in this patch: 1. Bumped cpqarray driver version to 2.4.26 from 2.4.25 2. memory leak fix in ida_ctlr_big_ioctl() 3. Change requested by RedHat(circa Apr 2003 Tom Coughlan): - remove / minimize the usage of pci_read_config calls since some of the values are already in the pdev structure 2.4.7-10/p00004_cpqarray_request_last_fix_for_RH72-2.4.7-10.patch p00004_cpqarray_request_last_fix_for_RH72-2.4.7-10.patch: Changes: * Moved end_that_request_last() from ida_do_request() to complete_command(). The source code error seems to only appear in 2.4.7 and 2.4.9 kernels (RH7.2 base, RHAS2.1, and sles7 base), and not anywhere above. 2.4.7-10/p00005_cciss_2.4.44_for_RH72.patch p00005_cciss_2.4.44_for_RH72.patch: * Add support for SA 5312, SA 641, SA 642, SA 6400, SA 6400 U320 Expansion Module * Update copyright notice * Use completions instead of schedule_timeout() polling * Retry commands aborted by 3rd party (e.g. by 3rd party bus resets) * Use 32 bit DMA only, as 2.4.7 kernel cannot do 64 bit DMA * Add support for SCSI tape drives * Allow root to open any /dev/cciss/* with a LUN ID, so that e.g. the partition table may be reread upon dynamically adding a disk. * Add ioctls HDIO_GETGEO_BIG, CCISS_DEREGDISK, CCISS_REGNEWD, CCISS_REGNEWDISK, CCISS_GETLUNID, CCISS_GETLUNINFO, CCISS_RESCANDISK, CCISS_BIG_PASSTHRU * Wait up to 20 secs for a command to complete in (for certain cases.) (20 secs of udelay()... this seesm wrong.) * reserve our io memory (and release reservations) * Honor disabling of controller via PCI command register * Contribute to system entropy * Flush battery backed cache on driver unload. 2.4.7-10/p00006_cciss_cfg_table_wait_for_RH72.patch p00006_cciss_cfg_table_wait_for_RH72.patch: * Wait for a longer time for board to enter simple mode ad driver load time. In some cases it may take awhile (e.g. hot replace a failed 144GB RAID 5 disk just as driver initializes). 2.4.7-10/p00007_cciss_currentsd_overrun.patch p00007_cciss_currentsd_overrun.patch: * Fix array overrun if more than 16 tape drives/changers on one adapter 2.4.7-10/p00008_cciss_scsi_tape_doc.patch p00008_cciss_scsi_tape_doc.patch: Changes: * Added scsi tape documentation in Documentation/cciss.txt 2.4.7-10/p00009_cciss_2.4.45_from_2.4.44_for_RH72.patch p00009_cciss_2.4.45_from_2.4.44_for_RH72.patch: 2003/03/25 ---------- Changes in this patch: 1. Bumped driver version to 2.4.45 2. Applied changes requested by vmware (03/24/2003 Thorbjoern Jensen), in #ifdefs 3. Changes requested by RedHat (02/04/2003 Tom Coughlan), which is: - Reintroduce CCISS_GETLUNID in cciss_ioctl.h for ABI consistencies - remove / minimize the usage of pci_read_config calls since some of the values are already in the pdev structure. 2.4.7-10/p00010_cciss_devfs_support_for_RH72-2.4.7-10.patch p00010_cciss_devfs_support_for_RH72-2.4.7-10.patch: Changes: * Added devfs support. Go ahead and see in /proc/devfs 2.4.7-10/p00011_cciss_detect_death-2.4.7-10.patch p00011_cciss_detect_death-2.4.7-10.patch: Changes: * Add a monitoring thread to fail all commands if the controller stops responding 2.4.7-10/p00012_cciss_detect_death_deadline-2.4.7-10.patch p00012_cciss_detect_death_deadline-2.4.7-10.patch: Changes: * Adds a deadline on the cciss monitoring thread * Renamed myatoi() to cciss_atoi() 2.4.7-10/p00013_cciss_dynamic_init_tape_for_RH72.patch p00013_cciss_dynamic_init_tape_for_RH72.patch: 2003/03/27 ---------- This patch dynamically initializes ccissscsi structure instead of having it statically done at compile time. This is the first step towards making the cciss driver able to use more than 8 controller in the system. Apply this patch before applying cciss_map_major.patch 2.4.7-10/p00014_cciss_map_major_v2_for_RH72.patch p00014_cciss_map_major_v2_for_RH72.patch: Changes: * Map major numbers so that we can have more than 8 cciss controllers on the server. See Documentation/cciss.txt for detail 2.4.7-10/p00015_cciss_2.4_alpha_for_RH72.patch p00015_cciss_2.4_alpha_for_RH72.patch: Changes in this patch - Some variable types to accomodate Alpha team request. - Check for buffer size before unmapping the buffer in cciss_ioctl() function 2.4.7-10/p00016_cciss_find_PCI_BAR_index_for_RH72.patch p00016_cciss_find_PCI_BAR_index_for_RH72.patch: Changes: * Modifies the way we find our config table. Required for some architectures. 2.4.7-10/p00017_cciss_listlength_fix_for_RH72.patch p00017_cciss_listlength_fix_for_RH72.patch: Changes: * Replaces the bitshifting with be32_to_cpu() in some functions such as cciss_getgeometry(). 2.4.7-10/p00018_cciss_heartbeat_monitor_for_RH72.patch p00018_cciss_heartbeat_monitor_for_RH72.patch: 2.4.7-10/p00019_cciss_version_update_2.4.7-10.patch p00019_cciss_version_update_2.4.7-10.patch: 2.4.7-10/p00020_cciss_map_major_scripts.patch p00020_cciss_map_major_scripts.patch: Changes: * Landed mkdev_dyn.cciss and rmdev_dyn.cciss scripts into Documentation directory. 2.4.7-10/p00021_cciss_pci_module_init.patch p00021_cciss_pci_module_init.patch: * Ensures that if no pci devices are found, we unregister the driver. Otherwise, the next driver to call pci_register_driver() will oops. Problem discovered and reported by Thorbjoern Donbaek of VMWare, and can be reproduced by loading cciss driver without any cciss controller in the system, followed by loading cpqarray. * Use pci_module_init() wrapper instead of pci_register_driver() for the above fix, and to ensure the correct return code for CONFIG_HOTPLUG and MODULE. * Use __devinit instead of __init. 2.4.7-10/p00022_cciss_ver_update_2.4.46_to_2.4.48_for_2.4.7-10.patch p00022_cciss_ver_update_2.4.46_to_2.4.48_for_2.4.7-10.patch: 2.4.7-10/p00023_cciss_author_change.patch p00023_cciss_author_change.patch: 2.4.7-10/p00024_cciss_shared_irq_fix_for_rh72base.patch p00024_cciss_shared_irq_fix_for_rh72base.patch: 2.4.7-10/p00025_cciss_pci_read_enable_fixes.patch p00025_cciss_pci_read_enable_fixes.patch: ==== For 2.4.20-20.7, use the following patches: ==== 2.4.20-20.7/p00000_cpqarray_2.4.26_from_2.4.25_for_RH72er_20x.patch p00000_cpqarray_2.4.26_from_2.4.25_for_RH72er_20x.patch: 2003/04/14 ---------- Changes in this patch: 1. Bumped cpqarray driver version to 2.4.26 from 2.4.25 2. memory leak fix in ida_ctlr_big_ioctl() 3. Change requested by RedHat(circa Apr 2003 Tom Coughlan): - remove / minimize the usage of pci_read_config calls since some of the values are already in the pdev structure 2.4.20-20.7/p00001_cciss_2.4.44_for_RH72er_20x.patch p00001_cciss_2.4.44_for_RH72er_20x.patch: Changes: * Add support for SA 6400 EM 2.4.20-20.7/p00002_cciss_cfg_table_wait_for_RH72er_20x.patch p00002_cciss_cfg_table_wait_for_RH72er_20x.patch: * Fix problem that under certain rare conditions driver didn't wait long enough for config table changes to take effect. (Problem occurred only occasionally when you hot replaced a failed 144GB driver in a RAID 5 set just prior to starting up the driver.) 2.4.20-20.7/p00003_cciss_currentsd_overrun.patch p00003_cciss_currentsd_overrun.patch: * Fix array overrun if more than 16 tape drives/changers on one adapter 2.4.20-20.7/p00004_cciss_2.4.45_from_2.4.44_for_RH72er_20x.patch p00004_cciss_2.4.45_from_2.4.44_for_RH72er_20x.patch: 2003/03/25 ---------- Changes in this patch: 1. Bumped driver version to 2.4.45 2. Applied changes requested by vmware (03/24/2003 Thorbjoern Jensen), in #ifdefs 3. Changes requested by RedHat (02/04/2003 Tom Coughlan), which is: - Reintroduce CCISS_GETLUNID in cciss_ioctl.h for ABI consistencies - remove / minimize the usage of pci_read_config calls since some of the values are already in the pdev structure. 2.4.20-20.7/p00005_cciss_devfs_support_for_RH72er_20x.patch p00005_cciss_devfs_support_for_RH72er_20x.patch: Changes: * Added devfs support. Go ahead and see in /proc/devfs 2.4.20-20.7/p00006_cciss_detect_death_for_RH72er_20x.patch p00006_cciss_detect_death_for_RH72er_20x.patch: Changes: * Add a monitoring thread to fail all commands if the controller stops responding 2.4.20-20.7/p00007_cciss_detect_death_deadline_for_RH72er_20x.patch p00007_cciss_detect_death_deadline_for_RH72er_20x.patch: Changes: * Adds a deadline on the cciss monitoring thread * Renamed myatoi() to cciss_atoi() 2.4.20-20.7/p00008_cciss_dynamic_init_tape_for_RH72er.patch p00008_cciss_dynamic_init_tape_for_RH72er.patch: 2003/03/27 ---------- This patch dynamically initializes ccissscsi structure instead of having it statically done at compile time. This is the first step towards making the cciss driver able to use more than 8 controller in the system. Apply this patch before applying cciss_map_major.patch 2.4.20-20.7/p00009_cciss_map_major_v2_for_RH72er_20x.patch p00009_cciss_map_major_v2_for_RH72er_20x.patch: Changes: * Map major numbers so that we can have more than 8 cciss controllers on the server. See Documentation/cciss.txt for detail 2.4.20-20.7/p00010_cciss_2.4_alpha_for_RH72er_20x.patch p00010_cciss_2.4_alpha_for_RH72er_20x.patch: Changes in this patch - Some variable types to accomodate Alpha team request. - Check for buffer size before unmapping the buffer in cciss_ioctl() function 2.4.20-20.7/p00011_cciss_find_PCI_BAR_index_for_RH72er_20x.patch p00011_cciss_find_PCI_BAR_index_for_RH72er_20x.patch: Changes: * Modifies the way we find our config table. Required for some architectures. 2.4.20-20.7/p00012_cciss_listlength_fix_for_RH72er_20x.patch p00012_cciss_listlength_fix_for_RH72er_20x.patch: Changes: * Replaces the bitshifting with be32_to_cpu() in some functions such as cciss_getgeometry(). 2.4.20-20.7/p00013_cciss_heartbeat_monitor_for_RH72er_20x.patch p00013_cciss_heartbeat_monitor_for_RH72er_20x.patch: 2.4.20-20.7/p00014_cciss_ver_update_2.4.45_to_2.4.46.patch p00014_cciss_ver_update_2.4.45_to_2.4.46.patch: 2.4.20-20.7/p00015_cciss_map_major_scripts.patch p00015_cciss_map_major_scripts.patch: Changes: * Landed mkdev_dyn.cciss and rmdev_dyn.cciss scripts into Documentation directory. 2.4.20-20.7/p00016_cciss_pci_module_init_for_RH72er_20x.patch p00016_cciss_pci_module_init_for_RH72er_20x.patch: * Ensures that if no pci devices are found, we unregister the driver. Otherwise, the next driver to call pci_register_driver() will oops. Problem discovered and reported by Thorbjoern Donbaek of VMWare, and can be reproduced by loading cciss driver without any cciss controller in the system, followed by loading cpqarray. * Use pci_module_init() wrapper instead of pci_register_driver() for the above fix, and to ensure the correct return code for CONFIG_HOTPLUG and MODULE. * Use __devinit instead of __init. 2.4.20-20.7/p00017_cciss_ver_update_2.4.46_to_2.4.48.patch p00017_cciss_ver_update_2.4.46_to_2.4.48.patch: 2.4.20-20.7/p00018_cciss_author_change.patch p00018_cciss_author_change.patch: 2.4.20-20.7/p00019_cciss_shared_irq_fix.patch p00019_cciss_shared_irq_fix.patch: 2.4.20-20.7/p00020_cciss_pci_read_enable_fixes_for_RH72er_20x.patch p00020_cciss_pci_read_enable_fixes_for_RH72er_20x.patch: ------------------------------------------------------------------