IBM(R) Multipath Subsystem Device Driver Release V1.7.2.7 README for AIX September 23, 2010 ------------------------------------------------------------------------------- CONTENTS 1.0 About this README file 1.1 Who should read this README file 1.2 How to get help 2.0 Prerequisites for SDD 3.0 SDD change history 3.1 Defects Fixed 3.1.1 Common 3.1.2 ESS/DS8000/DS6000 defects 3.1.3 SVC defects 3.2 New Features 3.3 Feature/ Defect Details 3.4 Known issues 3.5 Correction to User's Guide 4.0 User license agreement for IBM device drivers 4.1 Background / Purpose 4.2 Definitions 4.3 License grant 4.4 Responsibilities 4.5 Confidential information 4.6 Limitation of liability 4.7 Termination 4.8 Representations and warranties 4.9 General provisions 4.10 Appendix A 5.0 Notices 6.0 Trademarks and service marks ------------------------------------------------------------------------------- 1.0 About this README file Welcome to IBM Multipath Subsystem Device Driver (SDD). This README file contains the most recent information about the IBM Multipath Subsystem Device Driver, Version 1 Release 7 Modification 2 Level 7 (SDD 1.7.2.7) for AIX. IBM recommends that you go to the following Web site to get the most current information about this release of SDD: http://www.ibm.com/servers/storage/support/software/sdd/ You should carefully review the following information available through the website: 1. The most current README file. This will contain corrections to this readme file, corrections to the SDD User's Guide, and other documentation updates discovered since this copy of the README was prepared. 2. The Multipath SDD User's Guide. Because SDD can be installed in so many different environments / configurations, detailed information about each environment is placed in the appropriate chapter of the Multipath SDD Users Guide. The 'Summary of Changes' section of the SDD Users' Guide can help you quickly determine if the latest changes affect you. 3. The Flashes. As we become aware of any information that is likely to impact a broad set of our customers, Flashes are prepared and posted on this site. You should review this section periodically to see any new Flashes that have been posted since your last review. For prerequisites information, be sure to look in the Multipath SDD User's Guide as well as the prerequisites section of this readme file for the latest updates. 1.1 Who should read this README file This README file is in general intended for storage administrators, system programmers, and performance and capacity analysts. The information in this file only applies to customers who run: 1. DS8000 2. DS6000 3. SAN Volume Controller 4. ESS Please refer to SDD support matrix to determine the supported SDD levels for above storage subsystem. 1.2 How to get help Go to the following Web site for SDD technical support and for the most current SDD documentation and support information: http://www.ibm.com/servers/storage/support/software/sdd/ Go to the following Web site for the IBM ESS Open Systems support: http://www.ibm.com/servers/storage/disk/ess/ Go to the following Web site for IBM TotalStorage DS8000 support: http://www.ibm.com/servers/storage/disk/ds8000/index.html Go to the following Web site for IBM TotalStorage DS6000 support: http://www.ibm.com/servers/storage/disk/ds6000/index.html Go to the following Web site for IBM System Storage SAN Volume Controller support: http://www.ibm.com/servers/storage/support/software/sanvc/ Call one of the following numbers to obtain nontechnical or administrative support, such as hardware and software orders, hardware maintenance, services contract of entitlement, and invoices: .For commercial or state and local support operations: 1-877-426-6006 (Listen to the voice prompts) .For business partner support operations: 1-800-426-9990 .For federal government support operations: 1-800-333-6705 ------------------------------------------------------------------------------- 2.0 Prerequisites for SDD Starting from SDD 1.6.2.0, a unique ID attribute is added to SDD vpath devices, in order to support AIX5.3 VIO future features. AIX device configure methods have been changed in both AIX52 TL08 (52M) and AIX53 TL04 (53E) for this support. Following are the requirements for this version of SDD on AIX5.2 and AIX5.3: AIX52 TL08 & above with PTF U804193 (IY76991) AIX53 TL04 & above with PTF U804397 (IY76997) Prior to installing SDD, you should install the latest version of AIX host attachment script. - For ESS (2105) devices: Install ibm2105.rte. The latest version is 32.6.100.31. Attention: Starting from ibm2105.rte version 32.6.100.21, ESS FC devices will be configured as "IBM FC 2105", as seen from the "lsdev -Cc disk" output. This is changed from "IBM FC 2105XXX", where 'XXX' is the ESS device model, such as F20 or 800. There are two side effects of this change: a) To avoid ODM corruption, you will need to remove all ESS FC hdisks on your host system with the "rmdev" command if you are upgrading from ibm2105.rte version 32.6.100.19 or earlier to ibm2105.rte version 32.6.100.21 or later. b) HACMP processing will fail to bring up volume groups in concurrent mode. In order to work around this issue, the /etc/cluster/conraid.dat HACMP file must be updated to include the following line: 2105*** If the /etc/cluster/conraid.dat HACMP file does not exist, it should be created and contain this line. - For the following devices, install the devices.fcp.disk.ibm.rte package. The latest version is v1.0.0.12. a) DS8000 (2107) b) DS6000 (1750) c) SAN Volume Controller (2145) NOTE: Since SDD v1.6.0.0, host attachment packages for the above devices are consolidated into one package, devices.fcp.disk.ibm.rte. For details, please refer to the Readme files of the host attachment. ------------------------------------------------------------------------------- 3.0 SDD Change History =============================================================================== 3.1 Defects Fixed 3.1.1 Common 1.7.2.0 ------- 4443 (cmvchvt94173) Hung I/O at vpath close when half of paths failed 4444 See if any packaging is already installed on host, before allow new package install 1.7.2.1 ------- 4468 Driver trace collected by sddgetdata did not contain all data 4472 (PMR30634) datapath clear count command caused system crash when there were more than 16 adapters configured 4479 sddsrv sometimes does not stop with TCP/IP port enabled 4493 (PMR41632) datapath query adapt/dev returned 'No device file found' if there were 32 adapters configured 1.7.2.2 ------- 4539 sddsrv/pcmsrv fails to recover FAILED paths after dynamic tracking event with certain dynamic tracking settings. 4541 sddsrv/pcmsrv hangs while stopping if tcpip port is enabled on AIX5.3 or older version 4547 sddsrv/pcmsrv on AIX5.2 gets hung in closex function call. 1.7.2.3 ------- 4544 datapath query essmap display incorrect LUN size with LUN greater than 2TB 1.7.2.4 ------- 4570 (AIX699853)Need to release the interrupt level before call lock_write 457l (SVC97751)Mistakenly unregister path at path opening 4582 Incorrect command_length used in setup_dk_passthru in sddfcmap 4583 (MC230529)Vpath open fails with EINVAL during DS8000 warmstart 4595 Fail to exclude SAN rootvg from config if no pvid on hdisk 1.7.2.5 ------- 4600 Fail to prevent user from removing last path when it is in DEAD state 4665 "datapath query devstats" don't support [-l] parameter 4667 Wrong message for invalid device number in "datapath remove" 1.7.2.6 ------- 4704 Modify sddgetdata to collect query device with "-l" option 4729 SDD deinstallation fails because sddsrv keeps respawning 4810 (PMR58862, PMR41151, PMR77158) Respawning sddsrv incorrectly caused system log file overflow 4908 Fix sddsrv buffer overrun problem to close TCP/IP security issue 1.7.2.7 ------- 4940 Fix sddsrv buffer overrun in sddsrv tracing code 3.1.2 ESS/DS8000/DS6000 defects None 3.1.3 SVC defects None =============================================================================== 3.2 New Features 1.7.2.0 ------- (OAR 1270) Allow dynamic changing sddsrv daemon path probing interval time 1.7.2.5 ------- 4617 Change AIX packaging to make sddsrv respawn 1.7.2.7 ------- 4934 Support DS8000 8 port FC adapter by 'datapath query portmap' and 'datapath query essmap' commands. =============================================================================== 3.3 Feature/ Defect Details (OAR 1270) Allow dynamic changing sddsrv daemon path probing interval time This feature allows sddsrv's probing interval to be changed dynamically while sddsrv is running. It also allows the user to disable or enable probing. The probing control variable is in sddsrv.conf file. If the probe interval value is set to 0 then probing will be disabled. The default is probing enabled with interval of 1 minute. 4617 Change AIX packaging to make sddsrv respawn Starting from SDD version 1.7.2.5, sddsrv will not do additional probing when sddsrv stops and by default sddsrv will respawn if it is stopped for any reason in non-HACMP environment. If HACMP version 5.5 and HACMP ifix IZ51023 is installed, HACMP script will not stop sddsrv while doing failover or failback. sddsrv will respawn. If the system has HACMP version older than 5.5 installed or if the HACMP ifix IZ51023 is not installed with HACMP version 5.5, then sddsrv will not respawn. This ensures that HACMP version lower than 5.5 can stop sddsrv during the HACMP failover or failback action. 4704 Modify sddgetdata to collect query device with "-l" option Collect datapath query device with "-l" option will help to identify preferred and non-preferred paths for SVC devices for failure analysis. 4729 SDD deinstallation fails because sddsrv keeps respawning SDD deinstallation scripts will stop sddsrv process automatically. Stopping sddsrv prior to SDD deinstallation is not required. 4810 Respawning sddsrv incorrectly caused system log file overflow "startsrc -s sddsrv" and "stopsrc -s sddsrv" should not be used for starting and stopping sddsrv because sddsrv keeps respawning. Two new scripts which prevent sddsrv from respawning are provided to start and stop sddsrv. "startsddsrv" will start sddsrv and "stopsddsrv" will stop sddsrv. e.g. To stop sddsrv, issue "stopsddsrv" on system command prompt #startsddsrv To start sddsrv, issue "startsddsrv" on system command prompt #stopsddsrv 4908 Fix sddsrv buffer overrun problem to close TCP/IP security issue Fix potential security problem due to buffer overrun problem in sddsrv when TCP/IP port is enabled. This defect only impact customers who has enabled TCP/IP port. TCP/IP port is disabled by default. 4934 Support DS8000 8 ports FC adapter by 'datapath query portmap' and 'datapath query essmap' commands. Example of 'datapath query portmap' display: ESSID DISK H1 H2 H3 H4 H1 H2 H3 H4 ABCDEFGH ABCDEFGH ABCDEFGH ABCDEFGH ABCDEFGH ABCDEFGH ABCDEFGH ABCDEFGH 75TL811 vpath0 Bay3-Bay4:-------- -------- Y-Y----- -------- Y-Y----- -------- -------- -------- 75TL811 vpath1 Bay3-Bay4:-------- -------- Y-Y----- -------- Y-Y----- -------- -------- -------- 75TL811 vpath2 Bay3-Bay4:-------- -------- O-O----- -------- O-O----- -------- -------- -------- 75TL811 vpath3 Bay3-Bay4:-------- -------- O-O----- -------- O-O----- -------- -------- -------- 75TL811 vpath4 Bay3-Bay4:-------- -------- O-O----- -------- O-O----- -------- -------- -------- 75TL811 vpath5 Bay3-Bay4:-------- -------- O-O----- -------- O-O----- -------- -------- -------- 75TL811 vpath6 Bay3-Bay4:-------- -------- O-O----- -------- O-O----- -------- -------- -------- 75TL811 vpath7 Bay3-Bay4:-------- -------- O-O----- -------- O-O----- -------- -------- -------- Y = online/open y = (alternate path) online/open O = online/closed o = (alternate path) online/closed N = offline n = (alternate path) offline - = path not configured PD = path down Example of 'datapath query essmap' display: Disk Path P Location adapter LUN SN Type Size LSS Vol Rank C/A S Connection port RaidMode ------- ----- - ----------- ------ ----------- ------------ ---- ---- --- ----- ---- - ----------- ---- -------- vpath0 hdisk1 03-00-01[FC] fscsi0 75TL811010D IBM 2107-900 1.0GB 1 13 0001 17 Y R1-B3-H3-ZA 230 RAID5 vpath0 hdisk9 03-00-01[FC] fscsi0 75TL811010D IBM 2107-900 1.0GB 1 13 0001 17 Y R1-B4-H1-ZA 300 RAID5 vpath0 hdisk17 03-01-01[FC] fscsi1 75TL811010D IBM 2107-900 1.0GB 1 13 0001 17 Y R1-B4-H1-ZC 302 RAID5 vpath0 hdisk25 03-01-01[FC] fscsi1 75TL811010D IBM 2107-900 1.0GB 1 13 0001 17 Y R1-B3-H3-ZC 232 RAID5 vpath1 hdisk2 03-00-01[FC] fscsi0 75TL811010E IBM 2107-900 1.0GB 1 14 0001 17 Y R1-B3-H3-ZA 230 RAID5 vpath1 hdisk10 03-00-01[FC] fscsi0 75TL811010E IBM 2107-900 1.0GB 1 14 0001 17 Y R1-B4-H1-ZA 300 RAID5 vpath1 hdisk18 03-01-01[FC] fscsi1 75TL811010E IBM 2107-900 1.0GB 1 14 0001 17 Y R1-B4-H1-ZC 302 RAID5 vpath1 hdisk26 03-01-01[FC] fscsi1 75TL811010E IBM 2107-900 1.0GB 1 14 0001 17 Y R1-B3-H3-ZC 232 RAID5 vpath2 hdisk3 03-00-01[FC] fscsi0 75TL811010F IBM 2107-900 1.0GB 1 15 0001 17 Y R1-B3-H3-ZA 230 RAID5 vpath2 hdisk11 03-00-01[FC] fscsi0 75TL811010F IBM 2107-900 1.0GB 1 15 0001 17 Y R1-B4-H1-ZA 300 RAID5 vpath2 hdisk19 03-01-01[FC] fscsi1 75TL811010F IBM 2107-900 1.0GB 1 15 0001 17 Y R1-B4-H1-ZC 302 RAID5 vpath2 hdisk27 03-01-01[FC] fscsi1 75TL811010F IBM 2107-900 1.0GB 1 15 0001 17 Y R1-B3-H3-ZC 232 RAID5 vpath3 hdisk4 03-00-01[FC] fscsi0 75TL8110113 IBM 2107-900 1.0GB 1 19 0001 17 Y R1-B3-H3-ZA 230 RAID5 vpath3 hdisk12 03-00-01[FC] fscsi0 75TL8110113 IBM 2107-900 1.0GB 1 19 0001 17 Y R1-B4-H1-ZA 300 RAID5 vpath3 hdisk20 03-01-01[FC] fscsi1 75TL8110113 IBM 2107-900 1.0GB 1 19 0001 17 Y R1-B4-H1-ZC 302 RAID5 vpath3 hdisk28 03-01-01[FC] fscsi1 75TL8110113 IBM 2107-900 1.0GB 1 19 0001 17 Y R1-B3-H3-ZC 232 RAID5 vpath4 hdisk5 03-00-01[FC] fscsi0 75TL8110114 IBM 2107-900 1.0GB 1 20 0001 17 Y R1-B3-H3-ZA 230 RAID5 vpath4 hdisk13 03-00-01[FC] fscsi0 75TL8110114 IBM 2107-900 1.0GB 1 20 0001 17 Y R1-B4-H1-ZA 300 RAID5 vpath4 hdisk21 03-01-01[FC] fscsi1 75TL8110114 IBM 2107-900 1.0GB 1 20 0001 17 Y R1-B4-H1-ZC 302 RAID5 vpath4 hdisk29 03-01-01[FC] fscsi1 75TL8110114 IBM 2107-900 1.0GB 1 20 0001 17 Y R1-B3-H3-ZC 232 RAID5 vpath5 hdisk6 03-00-01[FC] fscsi0 75TL8110115 IBM 2107-900 1.0GB 1 21 0001 17 Y R1-B3-H3-ZA 230 RAID5 vpath5 hdisk14 03-00-01[FC] fscsi0 75TL8110115 IBM 2107-900 1.0GB 1 21 0001 17 Y R1-B4-H1-ZA 300 RAID5 vpath5 hdisk22 03-01-01[FC] fscsi1 75TL8110115 IBM 2107-900 1.0GB 1 21 0001 17 Y R1-B4-H1-ZC 302 RAID5 vpath5 hdisk30 03-01-01[FC] fscsi1 75TL8110115 IBM 2107-900 1.0GB 1 21 0001 17 Y R1-B3-H3-ZC 232 RAID5 vpath6 hdisk7 03-00-01[FC] fscsi0 75TL8110116 IBM 2107-900 1.0GB 1 22 0001 17 Y R1-B3-H3-ZA 230 RAID5 vpath6 hdisk15 03-00-01[FC] fscsi0 75TL8110116 IBM 2107-900 1.0GB 1 22 0001 17 Y R1-B4-H1-ZA 300 RAID5 vpath6 hdisk23 03-01-01[FC] fscsi1 75TL8110116 IBM 2107-900 1.0GB 1 22 0001 17 Y R1-B4-H1-ZC 302 RAID5 vpath6 hdisk31 03-01-01[FC] fscsi1 75TL8110116 IBM 2107-900 1.0GB 1 22 0001 17 Y R1-B3-H3-ZC 232 RAID5 vpath7 hdisk8 03-00-01[FC] fscsi0 75TL8110117 IBM 2107-900 1.0GB 1 23 0001 17 Y R1-B3-H3-ZA 230 RAID5 vpath7 hdisk16 03-00-01[FC] fscsi0 75TL8110117 IBM 2107-900 1.0GB 1 23 0001 17 Y R1-B4-H1-ZA 300 RAID5 vpath7 hdisk24 03-01-01[FC] fscsi1 75TL8110117 IBM 2107-900 1.0GB 1 23 0001 17 Y R1-B4-H1-ZC 302 RAID5 vpath7 hdisk32 03-01-01[FC] fscsi1 75TL8110117 IBM 2107-900 1.0GB 1 23 0001 17 Y R1-B3-H3-ZC 232 RAID5 =============================================================================== 3:.4 Known Issues None ================================================================================= 3.5 Correction to User's Guide On Page 28, the statement in point #6 should be changed to: For SDD 1.7.2.5 or earlier, stop the SDD server by the following steps: For SDD 1.7.2.4 or earlier Enter command stopsrc -s sddsrv For SDD 1.7.2.5 1. If the following line is /etc/inittab, remove the line sddsrv:2:respawn:/usr/bin/startsrc -s sddsrv -e XPG_SUS_ENV=ON > /dev/null 2>&1 2. Enter the command telinit q 3. Enter the command stopsrc -s sddsrv On Page 30, point #1 should be changed to: Stop SDD Server by the following steps: For SDD 1.7.2.4 or earlier Enter command stopsrc -s sddsrv For SDD 1.7.2.5 1. If the following line is in /etc/inittab, remove the line sddsrv:2:respawn:/usr/bin/startsrc -s sddsrv -e XPG_SUS_ENV=ON > /dev/null 2>&1 2. Enter the command telinit q 3. Enter the command stopsrc -s sddsrv For SDD 1.7.2.6 or later Enter command stopsddsrv On Page 32, point #7 should be changed to: Start the SDD Server. Enter the following command: For SDD 1.7.2.5 or earlier Enter the command startsrc -s sddsrv -e "XPG_SUS_ENV=ON" For SDD 1.7.2.6 or later Enter the command startsddsrv On Page 33, point 4a should be changed to; Stop sddsrv daemon by the following steps: For SDD 1.7.2.4 or earlier Enter the command stopsrc -s sddsrv For SDD 1.7.2.5 1. If the following line is in /etc/inittab, remove the line sddsrv:2:respawn:/usr/bin/startsrc -s sddsrv -e XPG_SUS_ENV=ON > /dev/null 2>&1 2. Enter the command telinit q 3. Enter the command stopsrc -s sddsrv On Page 34, point #3 should be changed to; For SDD 1.7.2.5 or earlier, stop the sddsrv daemon by the following steps: For SDD 1.7.2.4 or earlier Enter the command stopsrc -s sddsrv For SDD 1.7.2.5 1. If the following line is in /etc/inittab, remove the line sddsrv:2:respawn:/usr/bin/startsrc -s sddsrv -e XPG_SUS_ENV=ON > /dev/null 2>&1 2. Enter the command telinit q 3. Enter the command stopsrc -s sddsrv On Page 50, point #3 should be changed to: SDD has a server daemon running in the background. For SDD 1.7.2.5 or earlier it requires to stop sddsrv daemon manually before uninstalling SDD. However, for SDD 1.7.2.6 or later, SDD deinstallation scripts will automatically stop sddsrv and manually stopping sddsrv daemon is not required. Stop sddsrv daemon by the following steps: For SDD 1.7.2.4 or earlier Enter the command stopsrc -s sddsrv For SDD 1.7.2.5 1. If the following line is in /etc/inittab, remove the line sddsrv:2:respawn:/usr/bin/startsrc -s sddsrv -e XPG_SUS_ENV=ON > /dev/null 2>&1 2. Enter the command telinit q 3. Enter the command stopsrc -s sddsrv On Page 68, under section "Starting the SDD server manually" The statement "If the SDD server did not start automatically after you performed the SDD installation, you can start sddsrv by entering startsrc -s sddsrv." should be changed to: If the SDD server did not start automatically after you performed the SDD installation, you can start sddsrv by entering the following steps: For SDD 1.7.2.5 or earlier Enter the command startsrc -s sddsrv -e "XPG_SUS_ENV=ON" For SDD 1.7.2.6 or later Enter the command startsddsrv On Page 68, under section "Stopping the SDD server" The statement "You can temporarily disable sddsrv by entering the command stopsrc -s sddsrv. This will stop the current version of sddsrv, but sddsrv will start again if the system is restarted." should be changed to: You can temporarily disable sddsrv by the following steps. For SDD 1.7.2.4 or earlier Enter the command stopsrc -s sddsrv. For SDD 1.7.2.5 1. If the following line is in /etc/inittab, remove the line sddsrv:2:respawn:/usr/bin/startsrc -s sddsrv -e XPG_SUS_ENV=ON > /dev/null 2>&1 2. Enter the command telinit q 3. Enter the command stopsrc -s sddsrv For SDD 1.7.2.6 Enter the command stopsddsrv After following the above procedure to stop sddsrv, for system with SDD 1.7.2.4 or earlier, sddsrv will start again if the system is restarted. However, for SDD 1.7.2.5 or later, sddsrv will not start again even after the system is restarted. Caution: sddsrv provides an important function to detect path errors and to recover paths to improve performance and to maintain high availability Make sure sddsrv is running before putting the system into production. Perform the following steps to restart sddsrv after it was temporary disabled with the procedure above. For SDD 1.7.2.4 or earlier Enter the command startsrc -s sddsrv -e "XPG_SUS_ENV=ON" For SDD 1.7.2.5 1. Enter the command /usr/sbin/sddbootdetect 2. Enter the command telinit q 3. If the following line is in /etc/inittab , restart sddsrv by entering the command startsrc -s sddsrv -e "XPG_SUS_ENV=ON" sddsrv:2:wait:/usr/bin/startsrc -s sddsrv -e XPG_SUS_ENV=ON > /dev/null 2>&1 For SDD 1.7.2.6 Enter the command startsddsrv On page 69, the section "Replacing the SDD strver with a standard-alone version" is no longer applicable ------------------------------------------------------------------------------ 4.0 User license agreement for IBM device drivers NOTICE: PLEASE READ THIS AGREEMENT CAREFULLY BEFORE USING THE PROGRAM AND DOCUMENTATION. IBM(R) WILL ONLY LICENSE THIS PROGRAM AND DOCUMENTATION TO YOU IF YOU FIRST ACCEPT THE TERMS OF THIS AGREEMENT. BY USING THE PROGRAM AND DOCUMENTATION, YOU AGREE TO ABIDE BY THESE TERMS AND APPLICABLE COPYRIGHT LAWS. IBM LIMITS YOUR ACCEPTANCE OF THE PROGRAM AND DOCUMENTATION TO THE TERMS OF THIS AGREEMENT. The Program and Documentation is owned by International Business Machines Corporation or one of its subsidiaries (IBM) or IBM suppliers, and is copyrighted and licensed, not sold. IBM does not transfer title to this Program and Documentation to you. The terms of this Agreement apply to any additional license copy of the Program or Documentation that IBM authorizes you to make. The term "Program" means the original program and all whole or partial copies of it, including portions merged with other programs. A Program consists of machine-readable instructions and related license materials. Under this Agreement, IBM provides you with a license to use the Program and Documentation only. 4.1 Background/Purpose IBM provides certain device drivers and Documentation under this Agreement. The device drivers and library support that IBM provides under this Agreement are in object code form only. Appendix A of this Agreement indicates the server platforms that are supported. IBM uses announcements to withdraw service for device drivers, feature codes, etc., on hardware and/or operating system platforms. IBM reserves the right to change the Programs or Documentation at any time without prior notice. 4.2 Definitions Derivative Work is a work based on a preexisting work, including a compilation. A Derivative Work prepared without the authorization of the copyright owner of the preexisting work would constitute a copyright infringement. Documentation is the Program documentation that IBM provides to you as follows: IBM Subsystem Device Driver and README files. Object Code is machine-readable instructions in Object Code format. It is substantially in binary form and directly executable by a computer after suitable processing but without the intervening steps of compilation or assembly. Program is the IBM Subsystem Device Driver in Object Code form. 4.3 License grant IBM grants you a revocable, nontransferable, nonexclusive, worldwide, paid-up copyright license to: 1. Use the Program and Documentation solely on the platforms and with the applicable IBM devices described in Appendix A of this Agreement. 2. Maintain one copy of the Program for backup purposes only. Your license to the Programs and Documentation terminates when you no longer rightfully possess the IBM device described in Appendix A. This Agreement does not grant you any right or license to prepare Derivative Works of the Program and Documentation. Nothing in this Agreement grants either party any rights or licenses under any patents or patent applications regardless of whether use and/or execution of the software licensed herein may be construed to practice one or more patents. 4.4 Responsibilities You agree to use the Program and Documentation only with the IBM device described in Appendix A of this Agreement. You will not: 1. otherwise copy, display, transfer, adopt, modify or distribute in any form, the Program and Documentation, except as IBM expressly authorizes in the Documentation 2. decompile, disassemble, reverse engineer, or in any way modify the Program or Documentation 3. sell, rent, lease, sublicense the Program or Documentation, unless explicitly permitted by law without the possibility of contractual waiver; and sublicense or assign the license for the Program and Documentation 4.5 Confidential information Any information which either party may disclose to the other party shall not be deemed to be confidential. If the parties require the exchange of confidential information, such exchange will be made under a separate written confidentiality agreement. 4.6 Limitation of liability IN NO EVENT SHALL IBM OR ITS SUPPLIERS BE LIABLE FOR COSTS OF PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, LOSS OF DATA, LOST PROFITS, BUSINESS INTERRUPTION OR ANY SPECIAL, INCIDENTAL, INDIRECT, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES , EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING THE FAILURE OF ESSENTIAL PURPOSE OF ANY REMEDY. You acknowledge that circumstances may arise where, because of a default on IBM's part or other liability, you may be entitled to recover damages. Under any such circumstances, you agree that in each such instance, regardless of the basis on which you are entitled to claim damages, IBM shall be liable only up to an amount equal to five thousand U.S. dollars ($5,000). This limitation will not apply to claims relating to bodily injury (including death), and damage to real property and personal property. 4.7 Termination Termination for Cause. If either party fails to perform its obligations hereunder, then the other party may terminate this Agreement or the license granted hereunder for cause. Effect of Termination. The rights and licenses granted to you under this Agreement shall automatically terminate upon the termination of this Agreement. 4.8 Representations and warranties THE PROGRAM AND DOCUMENTATION IS PROVIDED ON AN "AS IS" BASIS. IBM MAKES NO REPRESENTATION OR WARRANTY, EXPRESS OR IMPLIED, WITH RESPECT TO THE PROGRAM AND DOCUMENTATION.IBM DISCLAIMS THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. THE ENTIRE RISK ARISING OUT OF THE USE OR PERFORMANCE OF THE PROGRAM AND DOCUMENTATION REMAINS WITH YOU. 4.9 General Provisions Transfer. You may transfer possession of the program and its media and Documentation to another pay with the transfer of the IBM device described in Appendix A on which such Program is used with. If you do so, you must give the other party a copy of these terms and provide all user documentation to that party, and such party must first agree to such terms before it uses the Program and Documentation. Upon transfer of the Program and Documentation, you must destroy all your copies of the Program and Documentation. Severability. If any provision of this Agreement is found to be illegal or unenforceable, the remainder of this Agreement shall continue in full force and effect provided that the Agreement still effectuates the parties' original intent. Governing Law and Jury Trial Waiver. This Agreement shall be governed by the laws of the State of New York, excluding its conflict of law rules. Each party hereby agrees to waive its rights to a trial by jury. Modifications. No modification to this Agreement, nor any waiver of any rights, shall be effective unless agreed to in a writing that is executed by both parties, and the waiver of any breach or default of this Agreement shall not constitute a waiver of any other right or of any subsequent breach or default. Limitations on Legal Actions. Neither party will bring a legal action against the other more than two (2) years after the cause of action arose. Both parties will act in good faith to resolve disputes. Order of Precedence. In the event of a conflict in terms between this Agreement and another agreement, the terms of this Agreement shall take precedence and prevail over such other terms. Entire Agreement. This Agreement constitutes the entire and exclusive agreement between the parties with respect to this subject matter. All previous discussions and agreements with respect to this subject matter are superseded by this Agreement. 4.10 Appendix A This Appendix indicates: Which specific IBM devices the Program and Documentation are to be used with: IBM devices: IBM Enterprise Storage Server (ESS) IBM devices: IBM TotalStorage DS8000 IBM devices: IBM TotalStorage DS6000 IBM devices: IBM System Storage SAN Volume Controller CONTINUING WITH THIS INSTALLATION CONSTITUTES YOUR ACCEPTANCE OF THE TERMS OF THE ABOVE 'USER LICENSE AGREEMENT FOR IBM DEVICE DRIVERS' ------------------------------------------------------------------------------- 5.0 Notices This information was developed for products and services offered in the U.S.A. IBM may not offer the products, services,or features discussed in this document in other countries. Consult your local IBM representative for information on the products and services currently available in your area. Any reference to an IBM product, program, or service is not intended to state or imply that only that IBM product, program, or service may be used. Any functionally equivalent product, program, or service that does not infringe any IBM intellectual property right may be used instead. However, it is the user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service. IBM may have patents or pending patent applications covering subject matter described in this document. The furnishing of this document does not give you any license to these patents. You can send license inquiries, in writing, to: IBM Director of Licensing IBM Corporation North Castle Drive Armonk, NY 10504-1785 U.S.A. For license inquiries regarding double-byte (DBCS) information, contact the IBM Intellectual Property Department in your country or send inquiries,in writing, to: IBM World Trade Asia Corporation Licensing 2-31 Roppongi 3-chome, Minato-ku Tokyo 106, Japan The following paragraph does not apply to the United Kingdom or any other country where such provisions are inconsistent with local law: INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS PUBLICATION "AS IS" WITHOUT WARRANTY OF ANY KIND,EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or implied warranties in certain transactions, therefore, this statement may not apply to you. Any references in this information to non-IBM Web sites are provided for convenience only and do not in any manner serve as an endorsement of those Web sites. The materials at those Web sites are not part of the materials for this IBM product and use of those Web sites is at your own risk. This information could include technical inaccuracies or typographical errors. Changes are periodically made to the information herein; these changes will be incorporated in new editions of the publication. IBM may make improvements and/or changes in the product(s) and/or the program(s) described in this publication at any time without notice. IBM may use or distribute any of the information you supply in any way it believes appropriate without incurring any obligation to you. Licensees of this program who wish to have information about it for the purpose of enabling: (i) the exchange of information between independently created programs and other programs (including this one) and (ii) the mutual use of the information which has been exchanged, should contact: IBM Corporation Information Enabling Requests Dept. DZWA 5600 Cottle Road San Jose, CA 95193 U.S.A. Such information may be available, subject to appropriate terms and conditions, including in some cases, payment of a fee. The licensed program described in this document and all licensed material available for it are provided by IBM under terms of the IBM License Agreement for Non-Warranted Programs. Any performance data contained herein was determined in a controlled environment. Therefore, the results obtained in other operating environments may vary significantly. Some measurements may have been made on development-level systems and there is no guarantee that these measurements will be the same on generally available systems. Furthermore, some measurement may have been estimated through extrapolation. Actual results may vary. Users of this document should verify the applicable data for their specific environment. Information concerning non-IBM products was obtained from the suppliers of those products, their published announcements or other publicly available sources. IBM has not tested those products and cannot confirm the accuracy of performance, compatibility or any other claims related to non-IBM products. Questions on the capabilities of non-IBM products should be addressed to the suppliers of those products. This information contains examples of data and reports used in daily business operations. To illustrate them as completely as possible, the examples include the names of individuals, companies, brands, and products. All of these names are fictitious and any similarity to the names and addresses used by an actual business enterprise is entirely coincidental. =============================================================================== IBM agreement for licensed internal code +---- Read Before Using -----------------------------------------------+ |IMPORTANT | | | |YOU ACCEPT THE TERMS OF THIS IBM LICENSE AGREEMENT FOR MACHINE CODE BY| |YOUR USE OF THE HARDWARE PRODUCT OR MACHINE CODE. PLEASE READ THE | |AGREEMENT CONTAINED IN THIS BOOK BEFORE USING THE HARDWARE PRODUCT.SEE| |IBM agreement for licensed internal code. | | | +----------------------------------------------------------------------+ You accept the terms of this Agreement(3) by your initial use of a machine that contains IBM Licensed Internal Code (called "Code"). These terms apply to Code used by certain machines IBM or your reseller specifies (called "Specific Machines"). International Business Machines Corporation or one of its subsidiaries ("IBM") owns copyrights in Code or has the right to license Code. IBM or a third party owns all copies of Code, including all copies made from them. If you are the rightful possessor of a Specific Machine, IBM grants you a license to use the Code (or any replacement IBM provides) on, or in conjunction with, only the Specific Machine for which the Code is provided. IBM licenses the Code to only one rightful possessor at a time. Under each license, IBM authorizes you to do only the following: 1. execute the Code to enable the Specific Machine to function according to its Official Published Specifications (called "Specifications"); 2. make a backup or archival copy of the Code (unless IBM makes one available for your use), provided you reproduce the copyright notice and any other legend of ownership on the copy. You may use the copy only to replace the original, when necessary; and 3. execute and display the Code as necessary to maintain the Specific Machine. You agree to acquire any replacement for, or additional copy of, Code directly from IBM in accordance with IBM's standard policies and practices. You also agree to use that Code under these terms. You may transfer possession of the Code to another party only with the transfer of the Specific Machine. If you do so, you must 1) destroy all your copies of the Code that were not provided by IBM, 2) either give the other party all your IBM-provided copies of the Code or destroy them, and 3) notify the other party of these terms. IBM licenses the other party when it accepts these terms. These terms apply to all Code you acquire from any source. Your license terminates when you no longer rightfully possess the Specific Machine. Actions you must not take You agree to use the Code only as authorized above. You must not do, for example, any of the following: 1. Otherwise copy, display, transfer, adapt, modify, or distribute the Code (electronically or otherwise), except as IBM may authorize in the Specific Machine's Specifications or in writing to you; 2. Reverse assemble, reverse compile, or otherwise translate the Code unless expressly permitted by applicable law without the possibility of contractual waiver; 3. Sublicense or assign the license for the Code; or 4. Lease the Code or any copy of it. ------------------------------------------------------------------------------- 6.0 Trademarks and service marks The following terms are trademarks of the International Business Machines Corporation in the United States, other countries, or both: AIX AS/400 Enterprise Storage Server HACMP/6000 IBM IBM logo iSeries Netfinity NetVista Operating System/400 pSeries RS/6000 Seascape SP System/360 System/370 System/390 The eServer logo TotalStorage Versatile Storage Server xSeries zSeries z/Architecture z/OS Microsoft, Windows, Windows NT, and the Windows logo are registered trademarks of Microsoft Corporation. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both. UNIX is a registered trademark of The Open Group in the United States and other countries. Other company, product, and service names may be trademarks or service marks of others. ------------------------------------------------------------------------------- (C) Copyright IBM Corporation 2000, 2002, 2003, 2004. All rights reserved.