Skip to: Abstract | Comments | Solution | Migration | Download
APAR NUMBER: PK47859 PRODUCT: z/TPFDF FUNCTIONAL AREA: TPFDF CRUISE UTILITY SHIPPED IN PUT: 4 ABSTRACT: Files containing large logical records (LLRs) cannot be properly captured and restored by CRUISE. Restore will stop processing before the end of the tape is reached leaving the database corrupted without warning. PACKAGE CONTENTS: Source Segments: (C) tpfdf/macro/acpdbe.mac (C) tpfdf/macro/idcadf.mac (C) tpfdf/rt/ufi5.asm (C) tpfdf/rt/ufi8.asm (C) tpfdf/rt/ufil.asm Object Only Binaries: None. Configuration Independent Binaries: None. Support Files: None. OTHER BINARIES TO BUILD: (C) <sys>/load/UFI5.so (C) <sys>/load/UFI8.so (C) <sys>/load/UFIL.so (C) <sys>/obj/ufi5.o (C) <sys>/obj/ufi8.o (C) <sys>/obj/ufil.o PREREQUISITE APARS IN APPLICATION ORDER: tpfdf/macro/acpdbe.mac PK31990(4) PK34860(4) tpfdf/macro/idcadf.mac PK07181(2) PK17496(2) PK20315(3) tpfdf/rt/ufi5.asm PK09389(1) PK07181(2) PK25978(3) PK33673(4) PK43089(4) tpfdf/rt/ufi8.asm PK20315(3) PK27914(3) tpfdf/rt/ufil.asm PK46041(4) <sys>/load/UFI5.so PK09389(1) PK07181(2) PK25978(3) PK33673(4) PK43089(4) <sys>/load/UFI8.so PK07181(2) PK12199(2) PK20315(3) PK27914(3) <sys>/load/UFIL.so PK07181(2) PK46041(4) <sys>/obj/ufi5.o PK09389(1) PK07181(2) PK25978(3) PK33673(4) PK43089(4) <sys>/obj/ufi8.o PK07181(2) PK12199(2) PK20315(3) PK27914(3) <sys>/obj/ufil.o PK07181(2) PK46041(4) COMMENTS: 1 - The restore process of CRUISE stops prior to having processed all data blocks on the tape. The database is restored only partially. This results in corrupted subfiles and broken references. This problem occurs because of a missing tape mark in the CRUISE control block. 2 - The loop to write LLRs to tape doesn't check the tape queue. This may result in a CTL-C. 3 - CAPTURE writes all blocks to tape, but the control block, which precedes every data block, is not set up properly. This is because the format of the CRUISE control block on tape is set up mixed with 4 byte or 8 byte file address format. This results in additional processing in restore. SOLUTION: 1 - The tape control block is written to tape with a required tape mark. Segments ufil.asm, ufi8.asm, and ufi5.asm were updated to add the tape mark to every block. Also, idcadf.mac was updated to add a new equate IDCALEN to indicate the length of the areas on tape to be copied. 2 - Segments ufil.asm and ufi8.asm were updated to have the tape write loop check the tape queue and issue DEFRC if the predefined value is reached. 3 - Segment ufi5.asm was updated so that the format of the CRUISE data control is always set up with an 8 byte file address format. Segments ufil.asm and ufi8.asm were updated to always use a 8 byte file address format. The following additional cleanup was added. 4 - In segment ufi8.asm, the fields IDCATDBI8 and IDCATSID8 are set up for the purpose of checking whether the data originates from the same subsystem. 5 - Macro idcadf.mac was updated to make a spare field visible. COREQS: None. MIGRATION CONSIDERATIONS: Coexistence, migration, and fallback considerations: In order to correct other related problems with CRUISE and/or LLR processing, z/TPF APAR PJ32128 and z/TPFDF APAR PK43531 should be applied along with this APAR. BUILD COMMANDS AND INSTRUCTIONS: #maketpf commands for linux maketpf -f UFIL ufil.o maketpf -f UFI5 ufi5.o maketpf -f UFI8 ufi8.o maketpf UFIL link maketpf UFI5 link maketpf UFI8 link UPDATED INFORMATION UNITS: None. See your IBM representative if you need additional information. DOWNLOAD INSTRUCTIONS: http://www.ibm.com/software/htp/tpf/pages/maint.htm APAR URL: http://www.ibm.com/software/htp/tpf/ztpfmaint/put4/PK47859.htm APAR Package
