IBM(R) SUBSYSTEM DEVICE DRIVER PATH CONTROL MODULE(PCM) VERSION 2.0.1.0 README FOR AIX™ May 28, 2004 --------------------------------------------------------------------------- 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 SDDPCM 3.0 SDDPCM change history 3.1 Defects Fixed 3.1.1 ESS 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 Path Control Module (PCM). This README file contains the most recent information about the IBM Subsystem Device Driver PCM, Version 2 Release 0 Modification 1 Level 0 (SDDPCM 2.0.1.0) for AIX. IBM recommends that you print and review the contents of this README file before installing and using SDDPCM on AIX with MPIO-capable disk driver. You can find the most current documentation and support information Abut AIX MPIO-capable devices on the Web site: http://publib16.boulder.ibm.com/pseries/en_US/aixbman/baseadmn/manage_mpio.htm 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 ESS. 1.2 How to get help Go to the following Web site for the IBM ESS Open Systems support: www.storage.ibm.com/hardsoft/products/ess/supserver.htm 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 SDDPCM Prior to install SDDPCM, you must deinstall "ibm2105.rte"(version of 32.6.100.XX) host attachment for SDD driver, and the SDD package. The SDD driver and SDDPCM module can not coexist. You must install ESS host attachment for SDDPCM (devices.fcp.disk.ibm2105.mpio.rte). The current version of the attachment is 33.6.100.9. This version of SDDPCM package requires host system having AIX 52F and 52F first PTF installed, because several AIX MPIO disk driver defect fixes are only available in AIX 52F, but not available in AIX 52B. Important: ESS SCSI devices are not supported in SDDPCM version 2.0.1.0 and the ESS host attachment for SCSI MPIO support is not being released. If you already have an earlier version(version earlier than v33.6.100.9) of SDDPCM host attachment installed, and you are going to update to version 33.6.100.9, you must remove all SDDPCM mpio devices, before you start to update this package. This is because the ESS device type is changed, starting from this version. --------------------------------------------------------------------------- 3.0 SDDPCM change history =========================================================================== 3.1 Defects Fixed 3.1.1 SDDPCM 2270 pcmpath has a bug with set device command. The problem was caused by counting non-ESS hdisks as ESS hdisks. 2358 Add new command in sddpcm to implement 'set adapter offline' command efficiently. 2374 pcmsrv daemon needs to do health check on open_failed paths in case the sddpcm internal health check is disabled. 2375 pcmsrv daemon allows user to disable/enable TCP/IP port dynamically, and it supports to write out its trace data to a file. 2428 Improve the performance of 'pcmpath set adapter X online' command. 2458 fcppcmmap needs to scan the map file instead of rescan hdisks. 2415 pcmsrv daemon changes trace file size, and default directory location for trace file. 2534 Add a new PdAt into ESS host attachment for supporting parallel device configuration. 2563 Disable recovering 'INVALID' path in pcmsrv daemon. The MPIO disk driver implements this function. 3.1.2 ESS defects None 3.2 New Features 2320 (PCR 2343, PCR 2466) support SDDPCM for Thresher Shark release. With this release, following new features are included : 1. Support external ESS MPIO device as system boot device. 2. Support external ESS MPIO device as primary/secondary dump device. 3. Support WebSM. 4. Support 'pcmsrv' daemon to reclaim INVALID paths. 5. Support maximum 1200 ESS LUNs. 2321 (PCR 2531) porting 'essutil' program into SDDPCM's 'pcmpath' program. Four new pcmpath commands are added. They are: pcmpath query portmap pcmpath query essmap pcmpath disable ports ess pcmpath enable ports ess 2357 Support pcmpath query wwpn. 2507 Support distribute error detection (DED) feature of MPIO disk driver in 52F. 2307 Support ESS 750 device model. 2540 Support 'pcmpath' manpage ==================================================================================== 3.3 Feature/defect Details 2320 SDDPCM version 2.0.1.0 supports boot device. You can pick external ESS MPIO-configured devices as boot devices to install the operating system. After the OS is installed, the boot device is always configured with AIX default pcm (path control module). You need to install the SDDPCM package and the ESS host attachment for SDDPCM and reboot the system, in order to switch the boot device from the AIX default pcm to SDDPCM. If you have ESS device as rootvg, then we recommend you to use concurrent microcode download procedure, instead of non-concurrent microcode download procedure. If you have to use non-concurrent microcode download procedure, then you must shutdown your system with rootvg configured with ESS external device, before you start non-concurrent microcode download. Then power up the system after you complete microcode download procedure. You can use smitty to create primary and/or secondary dump devices with external ESS device, configured with SDDPCM. You can use the 'wsm' program to manage ESS devices configured with SDDPCM. Starting with this SDDPCM release, SDDPCM adds 'pcmsrv' daemon to reclaim CLOSE_FAILED paths of a Closed device. Current SDDPCM health-Checker can only claim OPEN_FAILED paths. Because of current AIX disk driver design, both the SDDPCM health check and the pcmsrv daemon cannot probe CLOSED paths if device is not OPENED. Based on current AIX MPIO disk driver design, there is no mechanism for SDDPCM to control the number of ESS LUNs configured and the number of paths per device. That means that you can configure more than 1200 LUNs on a system, with any number of paths per device. Thus, when SDDPCM announces support for a maximum of 1200 LUNs, it means that SDDPCM can support a maximum of 1200 ESS LUNs per host. It is your responsibility for the problems caused by configuring more than 1200 LUNs. SDDPCM will also follow the rules set in the SDD table for maximum number of paths per device. In order to configure large number of devices (up to 1200), you should ensure that the system has enough resources to support this large configuration. For detailed information, refer to the information in Section 5.3 of the SDD User's Guide. 2321 In this release, 'essutil' functions are merged into SDDPCM's 'pcmpath' program. These functions are supported for ESS fibre-channel devices only. The supported commands are: pcmpath query essmap This command displays data collected from fcppcmmap program invoked by cfgmgr or by pcmpath. The ESS device configuration change must be detected by fcppcmmap. Followings are the display header definitions: ---------------------------------------------- Disk - hdisk name assigned by the host Path - logical path name for a MPIO device Location - physical location code of host adapter LUN is accessed through Adapter - adapter name assigned by the host LUN SN - unique serial number for each LUN within the ESS Type - device and model Size - configured capacity of LUN in giga bytes LSS - logical subsystem where LUN resides Vol - volume number within the LSS Rank - unique identifier for each raid-array with the ESS C/A - cluster and adapter accessing the array S - shared by two or more ESS ports, Yes or No Connection - physical location code of ESS adapter LUN is accessed through Port - ESS port LUN is accessed through RaidMode - specifies disk Raid mode. pcmpath query portmap This command displays hdisk status in terms of ESS physical location code. pcmpath disable ports ess This command disables hdisks' paths using an ESS location code. The location code must be in one of the following formats: single port = R1-Bx-Hy-Zz all ports on a card = R1-Bx-Hy all ports on a bay = R1-Bx pcmpath enable ports ess This command enables hdisks' paths using an ESS location code. The location code must be in one of the following formats: single port = R1-Bx-Hy-Zz all ports on a card = R1-Bx-Hy all ports on a bay = R1-Bx 2357 Add 'query wwpn' command to the pcmpath program. 2375 Allow enable/disable pcmsrv TCP/IP port dynamically. Starting with the SDDPCM v2.0.1.0 release, you can dynamically enable and disable the port binding for pcmsrv. The pcmsrv.conf file ships with the package which contains parameters to enable the port binding. By default, pcmsrv will not bind to any TCP/IP port. pcmsrv.conf file is located in /etc directory. The pcmsrv.conf file contains the following parameters: 1) enableport - This parameter allows user to enable or disable pcmsrv to bind to TCP/IP port. Default value of this parameter is set to false. You can set this parameter to true if you want to enable the TCP/IP interface of pcmsrv. 2) loopbackbind - If user sets enableport parameter to true, then this parameter specifies if pcmsrv will listen to any Internet address or the loopback (127.0.0.1) address. To enable pcmsrv to listen to any Internet address, this parameter must be set to false. If enableport parameter is set to false, the loopbackbind parameter will not have any effect. 3) portnumber - This parameter specifies the portnumber on which pcmsrv will bind to. Default value of this parameter is 20001. You can modify this parameter to change the portnumber. If the enableport parameter is set to true, then this parameter must be set to valid port number on which pcmsrv can bind upon. You must use a port number that is not used by any other application. You can modify any of these parameters anytime while pcmsrv is running and thus can dynamically enable or disable TCP/IP interface. Since pcmsrv TCP/IP interface by default is disabled, we have provided a way to get the pcmsrv trace. For AIX, the pcmsrv.log and pcmsrv_bak.log files are saved in the /tmp directory. These files are wrap-around files and each is 2 MB in size at MAX. Prior to installing SDDPCM, ensure that the /tmp filesystem of the host has a minimum of 4 MB free for these traces. 2507 In 52F, the MPIO disk driver supports the distribute error detection (DED) feature, which requires code changes in SDDPCM and to the ESS host attachment. This feature is set to off by default in ODM. 2534 A new PdAt ODM entry is added into SDDPCM's host attachment to support parallel device configuration. 2540 The 'pcmpath' manpage command is supported in this release. 2563 MPIO disk driver of AIX 52F can recover INVALID (Close_Failed) paths after a device is OPENED. It checks and recovers an INVALID path at 1 minute time interval. To enable this feature, it is required to install AIX 52F first PTF. 3.4 Known issues In the MPIO environment, the pcmsrv daemon can only reclaim a failed path. pcmsrv can not probe paths, since it might cause a device open failure to applications. Because of this limitation, SDDPCM cannot detect any broken path before a device is opened. The consequence of this limitation is that MPIO device may hit a slow device open problem, if there are non-functional paths of the device. This will impact the HACMP node fallover, since HACMP will quit the node fallover if it takes too long to vary on volume groups. The real solution to this issue is to support multithreads during device open call by AIX disk/adapter drivers. The AIX MPIO disk driver will provide multithread device open to solve the device open slow problem when some paths of a device are broken. An AIX feature is opened to track the progress of this support in MPIO disk driver. Since supporting multithread device open will not be available in near term, the AIX MPIO disk driver provides a temporary solution in AIX 52F first PTF, to handle this slow open problem: 1. If a path failed to open while the device is opened, the path state will change to INVALID. If the broken path is physically recovered, then MPIO disk driver will test and recover INVALID path one at a time w/ 1 minute time interval. 2. If a device is closed, and broken paths are still not recovered, the paths state will change to CLOSE_FAILED. In the next device open call, these CLOSE_FAILED paths will be skipped by the MPIO disk driver, so the device will be opened quickly on good paths. 3. If a closed device has some CLOSE_FAILED paths with recovered physical connections, and some Closed paths with broken physical connections, then when the device is opened, the previously Closed path will fail the open operation and set to INVALID. If that happens, the MPIO driver will try to open previously CLOSE_FAILED paths. If the physical connection is recovered, these previously CLOSE_FAILED paths will be successfully opened and the device will be successfully opened. 4. If a closed device with all its paths in CLOSE_FAILED state, in the next device open call, disk driver will try to open all these CLOSE_FAILED paths. This design may be changed later. The AIX default pcm sets reserve policy as 'single_path' policy, which is scsi-2 reserve, and path selection algorithm as 'fail_over', which means one path being opened, made scsi-2 reserve to disk, and be selected for I/Os per device. This setting will cause problem if user builds volume group and file system with AIX default pcm, and leaves the volume groups active and file system mounted, before they reboot system after SDDPCM packages are installed. When system boots up, you may see some paths in INVALID state. Only the paths that were opened previously with the AIX default pcm will be opened successfully. This is because the scsi-2 reserve is not released during the reboot, hence only the paths that made scsi-2 reserve can be opened. All the other paths cannot be opened because of reservation conflict. To avoid this problem, we strongly suggest user to either switch from AIX default pcm to SDDPCM before you make any volume group or file system; or you must vary off the AIX default pcm's volume group/file system before you reboot the system, to ensure the scsi-2 reserve is released from the devices. If user does not have SDDPCM boot device on ESS external disk and if they want to switch to ESS mpio devices from SDDPCM to AIX default pcm, They must follow the procedures below: 1. Umount file systems of SDDPCM devices 2. Varyoff SDDPCM volume groups. 3. Remove SDDPCM mpio devices. 4. Deinstall SDDPCM package and ESS host attachment for SDDPCM. 5. Reboot system. After system boots up, all the ESS devices should be configured with AIX default pcm. Attention: The above procedures are not applicable if you have ESS boot device configured with SDDPCM. Switching ESS boot devices from SDDPCM to AIX default pcm is not supported. There are 2 minor bugs in the MPIO disk driver(AIX defect 452249 & 452251) that cause an incorrect message to be displayed at output; however, the actual function is working. These minor problems will be fixed in the future release of the MPIO disk driver. 3.5 Corrections to User's Guide Correction to sub-section entitled 'Removing SDDPCM from an AIX host system' on page 111. When removing SDDPCM from an AIX host system, remove both the SDDPCM software package and the ESS host attachment for SDDPCM. To do this, in step two of the procedure, type the following in the SOFTWARE name field: "devices.sddpcm.52b.rte devices.fcp.disk.ibm2105.mpio.rte" Alternatively, you can press F4 in the SOFTWARE name field to bring up a list of packages and use the F7 key to select these two packages to deinstall. Attention: To remove SDDPCM, you must remove both packages before you configure ESS devices or reboot the system. Otherwise, the devices will get into the Defined state and will not be configurable as MPIO or non-MPIO devices. --------------------------------------------------------------------------- 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) 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 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.