**************************** ECO SUMMARY INFORMATION **************************** Release Date: 20-JUL-2004 Kit Name: DEC-AXPVMS-VMS731_XFC-V0300--4.PCSI Kit Applies To: OpenVMS ALPHA V7.3-1 Approximate Kit Size: 9168 blocks Installation Rating: INSTALL_2 Required Features: XFC Superseded Kits: VMS731_XFC-V0200 Mandatory Kit Dependencies: VMS731_UPDATE-V0400 VMS731_PCSI-V0200 Optional Kit Dependencies: None. VMS731_XFC-V0300.PCSI-DCX_AXPEXE Checksum: 2830634302 ======================================================================= Hewlett-Packard OpenVMS ECO Cover Letter ======================================================================= ECO NUMBER: VMS731_XFC-V0300 PRODUCT: OpenVMS Alpha OPERATING SYSTEM V7.3-1 UPDATE PRODUCT: OpenVMS Alpha OPERATING SYSTEM V7.3-1 1 KIT NAME: VMS731_XFC-V0300 2 KIT DESCRIPTION: 2.1 Installation Rating: INSTALL_2: To be installed by all customers using the following feature(s): - XFC This installation rating, based upon current CLD information, is provided to serve as a guide to which customers should apply this remedial kit. (Reference attached Disclaimer of Warranty and Limitation of Liability Statement) 2.2 Reboot Requirement: Reboot Required. HP strongly recommends that a reboot is performed immediately after kit installation to avoid system instability. If you have other nodes in your OpenVMS cluster, they must also be rebooted in order to make use of the new image(s). If it is not possible or convenient to reboot the entire cluster at this time, a rolling re-boot may be performed. 2.3 Version(s) of OpenVMS to which this kit may be applied: OpenVMS Alpha V7.3-1 2.4 New functionality or new hardware support provided: Yes. 3 KITS SUPERSEDED BY THIS KIT: - VMS731_XFC-V0200 Page 2 4 KIT DEPENDENCIES: 4.1 The following remedial kit(s), or later, must be installed BEFORE installation of this, or any required kit: - VMS731_PCSI-V0200 - VMS731_UPDATE-V0400 4.2 In order to receive all the corrections listed in this kit, the following remedial kits, or later, should also be installed: - None. 5 FILES PATCHED OR REPLACED: o [SYSLIB]ALPHA_XFC$SDA.EXE (new image) Image Identification Information image name: "XFC$SDA" image file identification: "V1.0" image file build identification: "XA2Q-0060030010" link date/time: 24-JUN-2004 10:16:45.86 linker identification: "A11-50" Overall Image Checksum: 2386596401 o [SYS$LDR]SYS$XFCACHE.EXE (new image) Image Identification Information image name: "SYS$XFCACHE" image file identification: "V1.0" image file build identification: "XA2Q-0060030010" link date/time: 24-JUN-2004 10:16:35.25 linker identification: "A11-50" Overall Image Checksum: 4213481762 o [SYS$LDR]SYS$XFCACHE_MON.EXE (new image) Image Identification Information image name: "SYS$XFCACHE_MON" image file identification: "V1.0" image file build identification: "XA2Q-0060030010" link date/time: 24-JUN-2004 10:16:41.86 linker identification: "A11-50" Overall Image Checksum: 1856210592 Page 3 o [SYSLIB]XFC$SDA.EXE (new image) Image Identification Information image name: "XFC$SDA" image file identification: "V1.0" image file build identification: "XA2Q-0060030010" link date/time: 24-JUN-2004 10:16:45.44 linker identification: "A11-50" Overall Image Checksum: 712938255 o [SYSLIB]SYS$XFCACHE.DSF (new file) o [SYSHLP]XFC$SDA.HLB (new file) 6 NEW FUNCTIONALITY AND/OR PROBLEMS ADDRESSED IN THE VMS731_XFC-V0300 KIT 6.1 New functionality addressed in this kit 6.1.1 Add throughput counters for volumes and cache 6.1.1.1 Functionality Description: Maintain the total number of blocks transferred by the cache for volumes and the cache as a whole. Add support in the XFC SDA extensions to display the new values. Images Affected: - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2 Problems addressed in this kit 6.2.1 Readahead performance improvement 6.2.1.1 Problem Description: Readahead performance has been improved. Images Affected: - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE Page 4 6.2.1.2 CLDs, and QARs reporting this problem: 6.2.1.2.1 CLD(s) None. 6.2.1.2.2 QAR(s) 75-100-85 6.2.1.3 Problem Analysis: XFC was modified to unconditionally limit the size of XFC issued readahead IOs to 120 blocks. This prevented data corruption when reading files from served IDE CD drives. The DCL COPY program was enhanced for V7.3-2 to increase the IO size it uses from 64 to 127 blocks. These larger IOs interact with the XFC readahead size to actually lower the copy performance (at least for some types of disks). This change removes the 120 block limit for all disks except served write-locked disks. The maximum size for readahead IOs is now the smaller of 3 times the IO size or the SYSGEN parameter VCC_MAX_IO_SIZE. 6.2.1.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.1.5 Work-arounds: None. 6.2.2 Use of uninitialized XFC private DIOBM results in errors 6.2.2.1 Problem Description: Use of an uninitialized XFC private DIOBM can results in two errors: o File corruption or INVPTEFMT bugchecks (invalid page table entry format). Crashdump Summary Information: ------------------------------ Bugcheck Type: INVPTEFMT, Invalid page table entry format Failing PC: FFFFFFFF.800D719C IOC_STD$PTETOPFN_C+0008C Page 5 Failing PS: 18000000.00000804 Module: IO_ROUTINES (Link Date/Time: 1-OCT-2003 21:19:13.05) Offset: 0000719C Stack Pointers: KSP = 00000000.7AF6CDD8 ESP = 00000000.7FF8C000 SSP = 00000000.7FF9CD00 USP = 00000000.0010FBD0 Failing Instruction: IOC_STD$PTETOPFN_C+0008C: BUGCHK o INVEXCEPTN bugcheck in XFC routine XfcMemAllocateDBM at SYS$XFCACHE+15DAC due to corrupt queue of private DIOBMs. Crashdump Summary Information: ------------------------------ Bugcheck Type: INVEXCEPTN, Exception while above ASTDEL Current Process: DATBCK$1 Current Image: Failing PC: FFFFFFFF.802D5DAC SYS$XFCACHE+15DAC Failing PS: 30000000.00000800 Module: SYS$XFCACHE (Link Date/Time: 7-MAR-2003 15:29:50.83) Offset: 00015DAC Failing Instruction: SYS$XFCACHE+15DAC: STL R20,(R19) Images Affected: - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.2.2 CLDs, and QARs reporting this problem: 6.2.2.2.1 CLD(s) 70-3-7467,CFS.103463 Page 6 6.2.2.2.2 QAR(s) 75-102-15 6.2.2.3 Problem Analysis: o Under some conditions, a FASTIO writethrough needs to be converted to a writearound. In this case, XFC used the previously allocated private DIOBM without initializing it. o The second problem was caused by XFC using different IRP (IO Request Packet) flags to identify a FASTIO at the beginning of the IO and the end of the IO. 6.2.2.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.2.5 Work-arounds: None. 6.2.3 Eliminate unnecessary spinlock overhead for Page IOs 6.2.3.1 Problem Description: XFC was unnecessarily acquiring and releasing the SCS spinlock for every PAGE IO. This added significant overhead to these IOs. Images Affected: - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.3.2 CLDs, and QARs reporting this problem: Page 7 6.2.3.2.1 CLD(s) None. 6.2.3.2.2 QAR(s) None. 6.2.3.3 Problem Analysis: See problem description. 6.2.3.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.3.5 Work-arounds: None. 6.2.4 NO_CACHING attribute ignored for sequential files 6.2.4.1 Problem Description: The NO_CACHING attribute for files was being ignored for sequential files opened for exclusive access. The files would be cached even though the user did an explicit 'SET FILE/CACHING_ATTRIBUTE=NO_CACHING'. Images Affected: - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.4.2 CLDs, and QARs reporting this problem: 6.2.4.2.1 CLD(s) CFS.104964 Page 8 6.2.4.2.2 QAR(s) None. 6.2.4.3 Problem Analysis: This was caused by the use of an uninitialized variable in an internal XFC routine. 6.2.4.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.4.5 Work-arounds: None. 6.2.5 INVPTEFMT bugcheck for FASTIO Reads 6.2.5.1 Problem Description: The system can crash with an INVPTEFMT bugcheck when doing FASTIO reads Crashdump Summary Information: ------------------------------ Bugcheck Type: INVPTEFMT, Invalid page table entry format Failing PC: FFFFFFFF.800D719C IOC_STD$PTETOPFN_C+0008C Failing PS: 28000000.00000804 Module: IO_ROUTINES (Link Date/Time: 1-OCT-2003 21:19:13.05) Offset: 0000719C Stack Pointers: KSP = 00000000.4003F6E8 ESP = 00000000.40044000 SSP = 00000000.40048000 USP = 00000000.00179940 Failing Instruction: IOC_STD$PTETOPFN_C+0008C: BUGCHK Images Affected: - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE Page 9 6.2.5.2 CLDs, and QARs reporting this problem: 6.2.5.2.1 CLD(s) None. 6.2.5.2.2 QAR(s) 75-102-37 6.2.5.3 Problem Analysis: When converting a FASTIO read I/O from caching to no-caching, XFC failed to clean up a DIOBM. 6.2.5.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.5.5 Work-arounds: None. 6.2.6 Stale data in cache 6.2.6.1 Problem Description: Under very rare conditions, XFC might move a file from no-caching to caching too quickly. This could leave stale data in the cache. The symptoms of this would be that file would appear to have different data depending on which cluster node was used to look at the file. Images Affected: - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.6.2 CLDs, and QARs reporting this problem: Page 10 6.2.6.2.1 CLD(s) CFS.101841 6.2.6.2.2 QAR(s) None. 6.2.6.3 Problem Analysis: See problem description. 6.2.6.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.6.5 Work-arounds: None. 6.2.7 Close, truncate and blocking AST synchronization 6.2.7.1 Problem Description: Under very rare conditions, a blocking AST on the XFC file arbitration lock can restart after the underlying file structures have been removed from the cache. There are several different crashes or hangs possible depending on the sequence of operations. Images Affected: - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.7.2 CLDs, and QARs reporting this problem: 6.2.7.2.1 CLD(s) 75-13-1189 Page 11 6.2.7.2.2 QAR(s) None. 6.2.7.3 Problem Analysis: See problem description. 6.2.7.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.7.5 Work-arounds: None. 6.2.8 System hangs with XFC processes hang in RWAST state 6.2.8.1 Problem Description: The system can hang with XFC processes left in the RWAST state. Images Affected: - [SYSLIB]ALPHA_XFC$SDA.EXE - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.8.2 CLDs, and QARs reporting this problem: 6.2.8.2.1 CLD(s) CFS.106647 6.2.8.2.2 QAR(s) None. Page 12 6.2.8.3 Problem Analysis: Users occasionally set the maximum memory for the XFC cache to a very small number. XFC will boot with enough memory allocated to allow some caching. However, in the worst case there is only enough memory to allow about 1000 files to be opened. XFC stalls further opens while it attempts to free memory. Since there is not any memory left to free, the system is effectively hung with these processes typically in RWAST state. 6.2.8.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.8.5 Work-arounds: None. 6.2.9 The cluster can hang. 6.2.9.1 Problem Description: The cluster can hang. Images Affected: - [SYSLIB]ALPHA_XFC$SDA.EXE - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.9.2 CLDs, and QARs reporting this problem: 6.2.9.2.1 CLD(s) 70-3-7967 6.2.9.2.2 QAR(s) None. Page 13 6.2.9.3 Problem Analysis: A FAL can remain in PW mode until a file is closed. IO to this file on other nodes will hang in XFC waiting for a lock conversion on the FAL. 6.2.9.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.9.5 Work-arounds: None. 6.2.10 Negative IO size causes IO hang in XFC 6.2.10.1 Problem Description: If a negative IO size is requested, IO can hang. Images Affected: - [SYSLIB]ALPHA_XFC$SDA.EXE - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.10.2 CLDs, and QARs reporting this problem: 6.2.10.2.1 CLD(s) CFS.107052 6.2.10.2.2 QAR(s) None. 6.2.10.3 Problem Analysis: A request for negative IO size should result in a SYSTEM-F-BADPARAM error. However, the code to round to the next larger block size incorrectly calculates an IO size of 0. If a window turn is required later, then XFC continuously loops calling the XQP mapvblk routine. Page 14 6.2.10.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.10.5 Work-arounds: None. 6.2.11 Disk queue lengths incorrect for fast IO through XFC 6.2.11.1 Problem Description: Disk queue lengths are incorrect for fast IO through XFC. Images Affected: - [SYSLIB]ALPHA_XFC$SDA.EXE - [SYS$LDR]SYS$XFCACHE.EXE - [SYS$LDR]SYS$XFCACHE_MON.EXE - [SYSLIB]XFC$SDA.EXE 6.2.11.2 CLDs, and QARs reporting this problem: 6.2.11.2.1 CLD(s) None. 6.2.11.2.2 QAR(s) 75-13-1212 6.2.11.3 Problem Analysis: Normally, when XFC issues an IO to the underlying driver (QNXTSEG1 or INSIOQC), the device queue length (ucb$l_qlen) is decremented prior to XFC being called back at routine CACHE$RESUME. However, with fast IO, CACHE$RESUME is called before ucb$l_qlen is decremented. This means that ucb$l_qlen is decremented only once even if XFC required several real IOs to the device. The result is that the device queue lengths build to large numbers. Page 15 6.2.11.4 Release Version of OpenVMS that will contain this change: Next release after V7.3-2 6.2.11.5 Work-arounds: None. 7 PROBLEMS ADDRESSED IN PREVIOUS KITS Problems addressed in previously released VMS731_XFC kits can be found in the following files: o [SYSHLP]VMS731_XFC-V0100.RELEASE_NOTES o [SYSHLP]VMS731_XFC-V0200.RELEASE_NOTES 8 INSTALLATION INSTRUCTIONS 8.1 Compressed File This kit is provided as a DCX compressed kit. To expand this file to the installable PCSI file, run the file with a RUN file_name command. When the file is run you will see the following output: $ RUN VMS731_XFC-V0300.PCSI-DCX_AXPEXE FTSV DCX auto-extractible compressed file for OpenVMS (AXP) FTSV V3.0 -- FTSV$DCX_AXP_AUTO_EXTRACT Copyright (c) Digital Equipment Corp. 1993 Options: [output_file_specification] [input_file_specification] The decompressor needs to know the filename to use for the decompressed file. If you don't specify any, it will use the original name of the file before it was compressed, and create it in the current directory. If you specify a directory name, the file will be created in that directory. Decompress into (file specification): If you want the file to be expanded into a different directory, enter the directory specification. DO NOT enter a new file name. The expanded file must retain the original name. If you want to expand the file via batch, the command file must contain an answer to the Decompress into "(file specification)" question, either a or an alternate directory specification Page 16 8.2 Installation Command Install this kit with the POLYCENTER Software installation utility by logging into the SYSTEM account, and typing the following at the DCL prompt: PRODUCT INSTALL VMS731_XFC /SAVE_RECOVERY_DATA [/SOURCE=location of Kit] The /SAVE_RECOVERY_DATA qualifier is optional but highly recommended. Using this qualifier will allow easy removal of the kit from the system in the event of problems. The kit location may be a tape drive, CD, or a disk directory that contains the kit. The /SOURCE qualifier is not needed if the PRODUCT INSTALL command is executed from the same directory as the kit location. Additional help on installing PCSI kits can be found by typing HELP PRODUCT INSTALL at the system prompt. 8.3 Scripting of Answers to Installation Questions During installation, this kit will ask and require user response to several questions. If you wish to automate the installation of this kit and avoid having to provide responses to these questions, you must create a DCL command procedure that includes the following logical name definitions and commands: o To avoid the BACKUP question, define the following: $ DEFINE/SYS NO_ASK$BACKUP TRUE o To avoid the REBOOT question, define the following: $ DEFINE/SYS NO_ASK$REBOOT TRUE o To save replaced files as *.*_OLD define the following logical name as YES. If you do not wish to save replaced files, define the logical name as NO. Note that if you use the /SAVE_RECOVERY_DATA qualifier (recommended) on the PRODUCT INSTALL command all replaced files will be saved as part of that operation. There is no need to also save files as *.*_OLD: $ DEFINE/JOB ARCHIVE_OLD NO o Add the following qualifiers to the PRODUCT INSTALL command and add that command to the DCL procedure. /PROD=DEC/BASE=AXPVMS/VER=V3.0/SAVE_RECOVERY_DATA Page 17 o De-assign the logical names assigned For example, a sample command file to install the VMS731_XFC-V0300 kit would be: $ $ DEFINE/SYS NO_ASK$BACKUP TRUE $ DEFINE/SYS NO_ASK$REBOOT TRUE $ DEFINE/JOB ARCHIVE_OLD NO $! $ PROD INSTALL VMS731_XFC/PRODUCER=DEC/BASE=AXPVMS- /VER=V3.0/SAVE_RECOVERY_DATA $! $ DEASSIGN/SYS NO_ASK$BACKUP $ DEASSIGN/SYS NO_ASK$REBOOT $! $ exit 9 COPYRIGHT AND DISCLAIMER: (C) Copyright 2004 Hewlett-Packard Development Company, L.P. Confidential computer software. Valid license from HP and/or its subsidiaries required for possession, use, or copying. Consistent with FAR 12.211 and 12.212, Commercial Computer Software, Computer Software Documentation, and Technical Data for Commercial Items are licensed to the U.S. Government under vendor's standard commercial license. Neither HP nor any of its subsidiaries shall be liable for technical or editorial errors or omissions contained herein. The information in this document is provided "as is" without warranty of any kind and is subject to change without notice. The warranties for HP products are set forth in the express limited warranty statements accompanying such products. Nothing herein should be construed as constituting an additional warranty. DISCLAIMER OF WARRANTY AND LIMITATION OF LIABILITY THIS PATCH IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND. ALL EXPRESS OR IMPLIED CONDITIONS, REPRESENTATIONS AND WARRANTIES, INCLUDING ANY IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR PARTICULAR PURPOSE, OR NON-INFRINGEMENT, ARE HEREBY EXCLUDED TO THE EXTENT PERMITTED BY APPLICABLE LAW. IN NO EVENT WILL HP BE LIABLE FOR ANY LOST REVENUE OR PROFIT, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL, INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED AND REGARDLESS OF THE THEORY OF LIABILITY, WITH RESPECT TO ANY PATCH MADE AVAILABLE HERE OR TO THE USE OF SUCH PATCH.