The second block of the internal label might be damaged if the volume was pre-labeled with Tivoli Storage Manager level 5.4.3, 5.5.1, 6.1.0, or earlier. Data can be stored to this pre-labeled volume without error. The dismount operation fails with an ANR8355E I/O error due to label corruption, but actually, the volume is dismounted successfully from the drive. After dismount, this volume will fail to mount on a drive because the label is corrupted. The ANR8355E I/O error appears again on every mount following this label corruption. This label error does not affect the data on this volume.
The Tivoli Storage Manager server may encounter error message ANR8355E when dismounting a volume after having mounted and written to a scratch tape. During the dismount, Tivoli Storage Manager server cannot read this volume's label and displays an ANR8355E message. However, this volume is dismounted successfully without damaging the data on this volume. The Tivoli Storage Manager server activity log might show the following entries:
ANR8337I 3592 volume ABC123 mounted in drive DRIVE1 (device). (SESSION: 456, PROCESS: 789)
ANR1340I Scratch volume ABC123 is now defined in storage pool POOL_ABC. (SESSION: 456, PROCESS: 789)
ANR0513I Process 789 opened output volume ABC123. (SESSION: 456, PROCESS: 789)
ANR0514I Session 456 closed volume ABC123. (SESSION: 456)
ANR8336I Verifying label of 3592 volume ABC123 in drive DRIVE1 (device). (SESSION: 456, PROCESS: 789)
ANR8355E I/O error reading label for volume ABC123 in drive DRIVE1 (device). (SESSION: 456, PROCESS: 789)
After the dismount, the same tape volume will cause the ANR8355E error on subsequent mount operations, rendering all previously written data unavailable until a server at level 5.4.6, 5.5.4, or 220.127.116.11 or higher is used. Once the server level is updated to level 5.4.6, 5.5.4, or 18.104.22.168 or higher, the TSM server will be able to read new volumes as well as to use them again for store operations. It will not fix previously affected tapes. It only prevents new tapes from being affected.
The Tivoli Storage Manager server re-writes all the internal label blocks when it writes to the beginning of the tape (BOT). In this case, the server fails to properly convert (ASCII to EBCDIC) the second (HDR1) label block if the existing HDR1 block contains any characters with a hexadecimal value greater than 0x'7F'. Later, on dismount, because the HDR1 block contains incorrect characters resulting from the failure to handle characters of hexadecimal value 0x'7F' or greater, the server will issue the error message ANR8355E.
A Tivoli Storage Manager server trace with the trace flag as PVR on will show that the HDR1 label block is corrupted. For example:
[pvrntp.c][ReadLabelBlocks]:Reading label blocks from NTP drive DRIVE1 (device)
[pvrntp.c][ReadLabelBlocks]:Read VOL1 block from drive DRIVE1 (device); sig=VOL1, volSer=ABC123.
[pspvr.c][PvrDevRead]:PvrDevRead: handle = 119, read amt = 80, numBytes requested = 80, errno = 0
[pvrntp.c][ReadLabelBlocks]:Read HDR1 block from drive DRIVE1 (device); sig= .
[nnn][pvrntp.c][ReadLabelBlocks]: Signature did not match.
[nnn][output.c][PutConsoleMsg]: ANR8355E I/O error reading label for volume ABC123 in drive DRIVE1 (device).~
After this point, because the HDR1 block is invalid, the same tape will consistently fail to mount and will cause the ANR8355E error message to be seen.
This problem only occurs when a volume is pre-labeled with a Tivoli Storage Manager server prior to levels: 5.4.3, 5.5.1, 6.1.0. If the volume was pre-labeled at a level prior to 5.4.3, 5.5.1, or 6.1.0 and is then used by a server at these levels or higher, the error will occur. For servers prior to level 5.4.3, 5.5.1, 6.1.0, the Tivoli Storage Manager server did not perform sufficient checks for characters in the HDR1 label block as being hexadecimal value 0x'7F' or greater. This checking and corrected handling was added to Tivoli Storage Manager releases 5.4.3, 5.5.1, 6.1.0, and later.
You can use the dd command to dump label blocks in ASCII mode to see if there is a non-ASCII character (hexadecimal value greater than 0x7F) in these blocks on the UNIX or Linux platforms.
Below is an example command for using the dd command to dump the partial label continent of the second label block:
dd if=device-file-name skip=1 count=1 conv=ascii | od -j32 -N48
This command is designed to dump the label content from the 32nd byte to the 48th byte in the second label block. The total Tivoli Storage Manager label block number is 4. The block size is 80 bytes.
Who is affected?
All Tivoli Storage Manager server users of tape volumes pre-labeled with Tivoli Storage Manager server prior to levels 5.4.3, 5.5.1, or 6.1.0 that then use these pre-labeled volumes at these server levels or higher.
Update the Tivoli Storage Manager server release to 5.4.6, 5.5.4, 22.214.171.124, 6.1.3, or later.
TSM DISMOUNT ANR8355E HDR1 LABEL VOLUME IC62141
17 June 2018