IBM(R) Subsystem Device Driver Version 1.5.0.0 README for AIX™ November 14, 2003 --------------------------------------------------------------------------------- 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 defects 3.1.3 SVC defects 3.1.4 SVCCISCO defects 3.2 New Features 3.3 Feature 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 Subsystem Device Driver (SDD). This README file contains the most recent information about the IBM Subsystem Device Driver, Version 1 Release 5 Modification 0 Level 0 (SDD 1.5.0.0) for AIX. IBM recommends that you go to this Web site to get the most current information about this release of SDD: http://www-1.ibm.com/servers/storage/support/software/sdd.html You should carefully review the following information available through that site: 1. The most current README file. This will contain corrections to the readme file, corrections to the SDD User's Guide, and documentation updates made discovered since this copy of the README was prepared. 2. The SDD Users' 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 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 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 intended for storage administrators, system programmers, and performance and capacity analysts. The information in this file only applies to customers who run: 1. ESS or SVC or SVCCISCO 2. ESS and SVC 3. ESS and SVCCISCO 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-1.ibm.com/servers/storage/support/software/sdd.html Go to the following Web site for the IBM ESS Open Systems support: http://www.storage.ibm.com/hardsoft/products/ess/supserver.htm Go to the following Web site for IBM TotalStorage SAN Volume Controller support: http://www.ibm.com/servers/storage/support/virtual/2145.html Go to the following Web site for IBM TotalStorage SAN Volume Controller for Cisco MDS 9000 support: http://www.ibm.com/servers/storage/support/virtual/2062-2300.html 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 Prior to installing SDD, you should install the latest version of ibm2105.rte. The latest version of ibm2105.rte is 32.6.100.18. --------------------------------------------------------------------------------- 3.0 SDD Change History ================================================================================= 3.1 Defects Fixed 3.1.1 Common 2165 Display error message when user is not running datapath as superuser 2166 querysn program causes cfgdpo and cfallvpath SDD configure methods to coredump 2172 Set broken paths (INVALID state) to CLOSED_DEAD state when vpath is closed, which will speed up HACMP fallover and speed up the time for an application to start. 2176 (mc def 83310) AIX disk driver returns ENXIO when it is not supposed to. AIX APAR IY48995 fixes this problem. SDD will not retry on ENXIO in order to match this aix disk driver fix. 2177 NIM install failed, because SDD migration script does not distinguish the NIM master or NIM client. 2135 Change nls index and message catalog so that lsattr displays the correct ODM attribute description. 2138 (mc def 87292) SDD package migration/upgrade should not interrupt non-SDD devices. 2125 Add -f to stopsrc command to stop sddsrv immediately in order to speed up migration. 92439 Example for 'datapath query adapter' in man pages different from example in User's Guide. The User's Guide contains the correct example. 3.1.2 ESS defects 2128 (mc defect 86657) SDD will migrate successfully if user migrates from a SDD version which does not support the 2105_max_lun ODM attribute. 3.1.3 SVC defects NONE 3.1.4 SVCCISCO defects NONE ================================================================================= 3.2 New Features 2219 This feature is to allow for a maximum of 1200 ESS LUNS to be configured as vpaths on AIX 5.20 ML1 & up. 2191 Control I/O Flow to SDD devices by dpo 'qdepth_enable' attribute 2175 SDD will issue lun reset command when user opens SDD devices with FORCE mode 2084 Support SAN VC for Cisco MDS 9000 devices. 2119 Display message when MAX LUN configuration is reached. 2127 (PCR 1955) Support man page for datapath command 2113 Support datapath query wwpn (World Wide Port Name) to display the World Wide Port Name (wwpn) of the host fiber adapters Example: [root@cracker]> datapath query wwpn Adapter Name PortWWN fscsi0 10000000C925F5B0 fscsi1 10000000C9266FD1 2114 (PCR 2325) Support scsi-3 lun_reset cmd for ESS device. A new ESS device ODM attribute of "lun_reset_spt" is added, and the default value is set to 'yes' to enable this cmd support. From aix 51D and up, SDD supports a new device openx ext_flag -- SC_FORCED_OPEN_LUN. 2085 Support FC Dynamic Device Tracking and Fast I/O Failure of FC Devices for AIX 5.20 ML1 and up ================================================================================= 3.3 Feature Details 2191 Starting with SDD version 1.5.0.0, a new SDD attribute, qdepth_enable, allows you to control I/O flow to SDD vpath devices. By default, SDD uses the device queue_depth setting to control the I/O flow to SDD vpath device and paths. With certain database applications, such as an application running with a DB2 database, Lotus Notes ® , or Informix ® database, the software might generate many threads, which can send heavy I/O to a relatively small number of devices. Executing queue depth logic to control I/O flow can cause performance degradation, or even a system hang. If you are executing queue depth logic , use the qdepth_enable attribute to disable this queue depth logic on I/O flow control. This removes the limit on the amount of I/O sent to vpath devices. By default, the queue depth logic to control the amount of I/O sending to the vpath devices is enabled in SDD driver. To determine if queue depth logic is enabled on your system, run the following command: >lsattr -El dpo 2062_max_luns 512 Maximum LUNS allowed for 2062 False 2105_max_luns 2400 Maximum LUNS allowed for 2105 True 2145_max_luns 512 Maximum LUNS allowed for 2145 False persistent_resv yes Subsystem Supports Persistent Reserve Command False qdepth_enable yes Queue Depth Control True To disable queue depth logic, you should change the qdepth_enable attribute setting in ODM by executing chdev. The following procedures are examples for different SDD configuration conditions: If vpaths are already configured on the system, use the following procedure to change the value of the qdepth_enable attribute (in this case, from yes to no): 1. Execute rmdev -l dpo -R. 2. Execute chdev -l dpo -a "qdepth_enable=no". 3. Execute lsattr -El dpo to verify qdepth_enable attribute is changed. For example: >lsattr -El dpo 2062_max_luns 512 Maximum LUNS allowed for 2062 False 2105_max_luns 2400 Maximum LUNS allowed for 2105 True 2145_max_luns 512 Maximum LUNS allowed for 2145 False persistent_resv yes Subsystem Supports Persistent Reserve Command False qdepth_enable no Queue Depth Control True 4. Execute ’cfallvpath’ to configure the vpaths. If vpaths are not configured on the system, to change the qdepth_enable value from yes to no: 1. Execute /usr/lib/methods/defdpo. 2. Execute chdev -l dpo -a "qdepth_enable=no". 3. Execute lsattr -El dpo to verify qdepth_enable attribute is changed. >lsattr -El dpo 2062_max_luns 512 Maximum LUNS allowed for 2062 False 2105_max_luns 2400 Maximum LUNS allowed for 2105 True 2145_max_luns 512 Maximum LUNS allowed for 2145 False persistent_resv yes Subsystem Supports Persistent Reserve Command False qdepth_enable no Queue Depth Control True 4. Execute ’cfallvpath’ to configure the vpaths. Note: These procedures are disruptive. If you are planning to run an application that will generate a large amount of I/O, you should perform the above procedures to disable the queue depth logic before you start the application. 2085 Support FC Dynamic Device Tracking and Fast I/O Failure of FC Devices for AIX 5.20 ML1 and up AIX has added an attribute named fc_err_recov in AIX 5.20 ML1 to enable fast failover during error recovery. If enabled, this attribute can reduce the amount of time SDD takes to fail a broken path. By default, this attribute is set to "delayed_fail". To enable fast failover, you must do the following: 1. Change all the children devices of fscsiX on your system to the defined state by running the command 'rmdev -l fscsiX -R' for all adapters on your system. 2. Run the command 'chdev -l fscsiX -a fc_err_recov=fast_fail' for all adapters on your system. 3. Run cfgmgr to reconfigure all devices back to the available state. In order to use dynamic tracking with SDD, you must have ibm2105.rte version 32.6.100.16 or later installed on your AIX 5.20 ML1 system. You need to have the following Fibre Channel device driver APARs applied to your system in order to have all dynamic tracking and fast fail fixes: IY37183 Dynamic Tracking and Fast I/O Failure of Fibre Channel Devices IY44139 Dynamic Tracking: PERM I/O errors after Host HBA Cable Pull IY44142 Dynamic Tracking: I/O Hang after Host HBA Cable Pull IY44342 Dynamic Tracking: Ioctl call may fail after N_Port ID Change IY44344 Dynamic Tracking: Back-to-Back Cable Move May Delay Error Recov IY45368 Fast Fail/Dynamic Tracking: FC Device Inaccesible after Move IY46701 Dynamic Tracking & MPIO: Multiple Cable Swap Cause Path Failure Dynamic Tracking support allows for the following scenarios without I/O errors or loss of access: 1. Combine two switches in two different SANS into one SAN by connecting the switches with a cable and cascading the switches. 2. Change the Shark FC cable from one switch port to a different switch port; Disconnected cable must be reconnected within 15 seconds. 3. Swap two Shark FC cables on the switch ports; Disconnected cables must be reconnected within 15 seconds. 4. Swap two Shark FC cables on the shark ports; Disconnected cables must be reconnected within 15 seconds. Note: FC device dynamic tracking does not support the case that the port change on the Shark means that a cable is moved from one adapter to another free, previoulsy-unseen adapter on the Shark. The reason is that the WWN will be different for that adapter, so we won't be able to track it. The under lying assumption is the WWN is a static identifier of a remote port. AIX has added a new attribute which must be changed to enable dynamic tracking. By default, dynamic tracking is disabled. To enable this feature, you must do the following: 1. Change all the children devices of fscsiX on your system to the defined state by running the command 'rmdev -l fscsiX -R' for all adapters on your system. 2. Run the command 'chdev -l fscsiX -a dyntrk=yes' for all adapters on your system. 3. Run cfgmgr to reconfigure all devices back to the available state. For more information on Dynamic Tracking and Fast I/O Failure, see the AIX release notes at http://publib.boulder.ibm.com/pseries/aixgen/relnotes/52RELNOTES/10073902.htm Installing APAR IY37183 also installs the file /usr/lpp/bos/README.FIBRE-CHANNEL which has more information on these AIX features. ================================================================================= 3.4 Known Issues NONE ================================================================================= 3.5 Correction to User's Guide Addendum to sub-section entitled 'Determining whether system has enough resource for increasing the maximum number of ESS LUNs' on page 27: With a large number of LUNs, many special device files will be created in the /dev directory. Executing the "ls" command with a wildcard (*) in this directory may fail. To fix this, you will need to change the ncargs attribute of sys0. The ncargs attribute controls the ARG/ENV list size in 4K byte blocks. The default value for this attribute is 6 (24K), and the maximum value for this attribute is 128 (512K). We suggest that you increase the value of this attribute to 30. If you still experience failures after changing the value to 30, you should increase this value to a larger number. Changing the ncargs attribute is dynamic. Use the following command to change the ncargs attribute to 30: chdev -l sys0 -a ncargs=30 Correction to note number four of sub-section entitled 'querysn' on page 85: The -d flag will delete the contents of the /etc/vpexclude file, but must be used in conjunction with the -l flag, which will add one device in the /etc/vpexclude file that will be excluded during the next configuration. To remove only one device from the /etc/vpexclude file, you must edit the file with the vi editor and delete the line containing the device name. --------------------------------------------------------------------------------- 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: 1. Which specific IBM devices the Program and Documentation are to be used with: IBM devices: IBM Enterprise Storage Server (ESS) IBM devices: IBM TotalStorage SAN Volume Controller IBM devices: IBM TotalStorage SAN Volume Controller for Cisco MDS 9000 2. For what specific server platforms the Program and Documentation are to be used on and for what software requirements apply to the use of the Program and Documentation reference the ESS Open Systems Support Web page,located at: www.storage.ibm.com/hardsoft/products/ess/supserver.htm or www.ibm.com/storage/support/2145 for IBM TotalStorage SAN Volume Controller support or http://www.ibm.com/servers/storage/support/virtual/2062-2300.html for IBM TotalStorage SAN Volume Controller for Cisco MDS 9000 support 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, or other countries, or both: AIX Enterprise Storage Server HACMP/6000 IBM IBM logo IBM TotalStorage iSeries Netfinity NetVista Operating System/400 RS/6000 Seascape SP StorWatch System/360 System/370 System/390 System/400 TotalStorage Versatile Storage Server xSeries zSeries z/Architecture 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. All rights reserved.