TOCPREVNEXTINDEX

Lund Performance Solutions


The TINDEX Tool
TINDEX verifies that data on a tape backup is readable and then produces a report on all the data that has been verified. Use TINDEX to verify tapes before sending tapes to other sites. You may want to include the TINDEX report as a courtesy. TINDEX is ideal if you are backing up critical data or archiving seldom used accounts.

Operation

Conceptually, TINDEX is similar to programs like VALIDATE and VSTORE. Operationally, however, TINDEX differs in its ease of use, powerful command set, and flexible operation.
TINDEX prints a directory of the files on various kinds of tapes: STORE (NM and CM style), DBLOAD, Classic MEMDUMP, SPOOK, Classic DUS (Diagnostic Utilities Tape), HPPA INSTALL, MPE XL MEMDUMP, HPUX Core tapes. TINDEX also has limited support for UNIX TAR tapes.
While TINDEX is running, you can press Ctrl+Y to display the name of the file currently being processed. Additionally, a dot (.) is printed each time 50 files have been processed as that you can more easily monitor how TINDEX is progressing.

NOTE Be careful if you use TINDEX with a tape that has no file marks on it as it may spin the tape off of the end of the reel.

Background on Filenames

This section discusses operational issues related to long creator names and to the Hierarchical File Name Syntax (HFS).

Long Creator Names

Prior to MPE XL, whenever a disk file was created, MPE would record the user-id in the file label. The account name of the creator was not recorded. As of MPE/iX (and earlier for a few files), MPE records both the user-id and the account name.
This means that the first 8-bytes of the creator name is a user-id and the second 8-bytes is an account name. Files with "long" creator names are flagged with a plus (+) instead of a period (.) in front of the account name. If the account portion of the creator’s name does not match the account the file is in, then the full creator name will be shown on the next line of output.
These files are typically either from an MPE/iX 4.0 (or later) system or are spoolfiles from an MPE XL 2.2 (or later) system. :RESTORE on pre-MPE/iX 4.5 systems has trouble restoring non- spoolfiles with long creator names and may require use of the options:
CREATE=CREATOR;CREATOR=<desiredname>

Hierarchical File System (HFS)

With the release of MPE/iX 4.5, MPE supports Hierarchical File System names (i.e., /usr.lib/ thisisalongname/too). STORE was modified to handle the names of such files in a special manner, which is somewhat backwards-compatible with pre-Posix MPE XL :RESTORE.
When the first HFS file is seen by STORE, it generates a new file and puts it on the tape. This file appears to be called "HFSMAP._HFSGRP._HFSACCT". This file contains lines that show a mapping between the HFS name and a name like "F#######", where "#######" is a number that increments for each HFS file stored.
Here is a sample line from HFSMAP:
F0000000._HFSGRP._HFSACCT<-/MINER/SOURCE/foo
The above line means that the HFS file /MINER/SOURCE/foo was placed on the STORE tape as if its name is F0000000._HFSGRP._HFSACCT.
TINDEX shows the names of the HFS files as F#######._HFSGRP._HFSACCT, and then shows the mapping from F####### to HFS names.

TINDEX Report

By default, TINDEX reports on a select set of information about each file. This information includes: filename, accessed date, modified date, lockword (depending on your capabilities), and creator. Fields can be selected by including the fieldname in the option list:
:tindex mgr dates
Or you can suppress information by preceding the fieldname with the letters NO:
:tindex mgr nodates

Printer Output & LPSLP

TINDEX will read the specified tape and look at each file on the tape. Detailed information about each file is reported to a printer file whose formal name is LPSLP. By default, each output line defaults to a width of 132 characters. To provide greater output control, LPSLP can be file equated to other devices. Example file equations are listed below:

:file lpslp;dev=100
Send output to ldev 100
:file lpslp=$null
No output
:file lpslp;dev=lp,1
Deferred output
:file lpslp;dev=100
Change the file designator

Usage

TINDEX can be run from either the supplied UDC or via a fully-qualified statement.
  • UDC
  • The following UDC allows easy invocation of TINDEX:
    tindex WHAT=" ",A=" ",B=" ",C=" ",D=" ",E=" "
    RUN TINDEX.PUB.LPSTOOLS;INFO="!WHAT !A !B !C !D !E"
    **************
    Example usage:
    tindex elvis long verify
    Or, if you prefer to specify options via the PARM bits:
    tindex WHAT=" ", PARM=0, MISC=" "
    RUN TINDEX.PUB.LPSTOOLS;INFO="!WHAT !MISC";PARM=!PARM
    **************
    Example usage:
    tindex elvis, 1
    Note that the above two UDC examples show "elvis" as the tape name. Requesting a tape called "T", "TAPE", or "MYTAPE" provides the operator with little extra information. By requesting a tape called "ELVIS", the operator immediately knows which tape should be mounted.
  • RUN
  • :RUN TINDEX.PUB.LPSTOOLS;INFO="tapename option1 option2 ..."
    The tapename is the name of the tape. If a tapename is not specified, then your user name is used. If you wish to specify one or more options, you must provide a tapename. Multiple options can be specified by separating each with a blank space.

    Capabilities

    Program capabilities required include IA, BA, DS, PM and PH. User SM or OP is required if you want TINDEX to display file lockwords on the report.

    Building TINDEX Reports

    TINDEX’s report capabilities can be formatted in a variety of ways. Specifying format and report contents is done through TINDEX options. A number of these options are specified through the INFO parameter. A few of the options can be specified by setting various PARM bits.
    Table 17.1 TINDEX Options
    Option
    Description
    132
    132 character portrait output
    ACCESSED
    Displays access date
    ALPHASORT
    Inserts a blank line after first letter of filename change
    BLKSZ
    Displays block size
    BUILDPV
    Creates private volume account structure
    COMPARE
    Compares modification date
    CONTENTS
    Dumps tape directory to disk file
    CREATED
    Displays creation date
    CREATOR
    Displays creator
    DATES
    Synonym for ACCESSED, CREATED, MODIFIED
    DEFERLPSLP
    Assigns output priority 1 to LPSLP
    DEVICE
    Displays device name for every file
    EOF
    Displays EOF
    EXTENTS
    Displays extents
    EXPLAIN
    Displays extra information about long creator names
    FCODE
    Displays filecode
    FGA
    Displays filename.group.account
    FILENUM
    Displays filenumber
    FROMDISK
    FROMDISK is an internal debugging option
    FULLQUICK
    Displays directory only, one filename per line
    HEADER
    Displays header at the top of each page
    HELP
    Displays on-line help
    HFS
    Displays HFS file information
    LABELLED
    Labeled tape
    LAND132
    132 character landscape output
    LAND176
    176 character landscape output
    LASTEXTENT
    Displays last extend information
    LIMIT
    Displays file limit
    LOCKWORD
    Displays lockwords
    LONG
    More detailed output
    MATRIX
    Displays file security matrix
    MINIMUM
    Minimum output
    MODIFIED
    Displays modification date
    NEWDISK
    Outputs to disk instead of printer
    NOTHING
    Only displays filename.group.account
    ONLINE
    Puts tape drive on-line
    PAGESIZE
    Changes output page size
    PORT132
    132 character portrait output
    PV
    Synonym for BUILDPV
    QUICK
    Directory listing only
    REARM
    Periodically rearms Ctrl-Y
    RECSZT
    Displays record size
    RESTOREQUICK
    Produces a RESTORE compatible listing
    SECTORS
    Displays number of sectors
    SECURITY
    Displays file security matrix
    SHOWNEW
    Compares tape files against disk, only display newer
    SHOWOLD
    Compares tape files against disk, only display older
    SHOWSAME
    Compares tape files against disk, only display same
    SKIP
    Use fcontrol - forward skip file
    TAPECONT
    Dumps tape directory to disk
    TRYNM
    Tells TINDEX to run STORE to read the tape
    TRYXC
    Tells TINDEX to try to process 7980XC compressed tapes
    TYPE
    Displays user label information
    USERLABELS
    Displays user label information
    VERIFY
    Verifies file label and file data

    Options Definitions

    Listed below is a detailed description for each TINDEX option. In cases where a command is suppressed by adding "NO" as a prefix, "NO" is shown in brackets ([ ]).
    In the list below, each option that controls an output column in a STORE tape report is flagged <report>. Most of these options apply only to STORE tapes, not to any other kind of tape (i.e.: TAR, SLT).

    [NO] ACCESSED

    <report>
    ACCESSED tells TINDEX that you want to see the access date for every file (if available). NOACCESSED tells TINDEX to suppress showing the access date. ACCESSED is true by default.

    [NO] ALPHASORT

    ALPHASORT tells TINDEX to put a blank line between any two filenames whose first letter is different. Normally, most STORE tapes are created by storing files alphabetically within groups, and groups alphabetically within accounts. TINDEX defaults to printing a blank line after every group or account change is noticed. If your STORE tape has files in alphabetic order by filename only (rare, but it happens), then the default action can result in a large number of blank lines. TINDEX tries to deduce when the files on a tape are in this "alphasort" order (i.e.: not in group.account order). If TINDEX fails to deduce correctly, the ALPHASORT keyword tells TINDEX to put blank lines only after the first letter of the file-part changes. NOALPHASORT reverts to the default mechanism.

    [NO] BLKSZ

    <report>
    BLKSZ tells TINDEX that you want to see the block size for every file. NOBLKSZ tells TINDEX to suppress showing the block size. BLKSZ is the default.

    NOTE BLKSZ may not be visible on "narrow" output.

    [NO] BUILDPV

    This command has the following syntax:
    BUILDPV [ = pvname]
    BUILDPV tells TINDEX to build a flat disk file (PV) which contains lines like:
    newacct SPLASH , MGR
    newacct SPLASH , MGR; onvs = PV
    newgroup ASMNM.SPLASH
    Hit <return> to continue, / to stop:
    newgroup ASMNM.SPLASH; onvs = PV
    altgroup ASMNM.SPLASH; onvs = PV
    altgroup ASMNM.SPLASH; homevs = PV
    The name of the private volume can be specified (=pvname), or it will default to PV. The output is written to a file whose formal name is PV.

    [NO] CHECKSUM

    <report>
    CHECKSUM tells TINDEX to compute a checksum of the data for every file. The checksum information is displayed as the first column of output on the listing.
    CHECKSUM tries to skip those fields in a file label that might change without the underlying file's data changing (i.e.: access date, ldev).
    CHECKSUM tries to skip those few bytes in record 0 of CM PROG files that get modified every time the program is run (in record 0).
    Due to a flaw in the implementation of "TRANSPORT" mode STORE on MPE XL, the checksums generated may vary from STORE to STORE, even if the files have not been modified.
    Default: NOCHECKSUM

    [NO] COMPARE

    This command has the following syntax:
    COMPARE [ = <ACcessdate | CReatedate | MOdifydate> ]
    COMPARE tells TINDEX to compare the modification date of every file on the tape against a file of the same name on disk. If the "=" option is used, a different date from tape may be chosen instead of modification date. However, the disk file's modification date is always used, no matter which of the three possible dates from the tape copy of the file was selected.
    The result is displayed as a special character in the first column after the account name. The characters used are:

    <
    older than disk file
    >
    newer than disk file
    =
    same date as disk file
    blank
    disk file exists, could not compare
    *
    disk file exists, could not compare
    ?
    error occurred fetching disk file info.

    CONTents

    This command has the following syntax:
    CONTents < <eol> | tapecontname >
    Synonym for TAPECONT (see below)

    [NO] CREATED

    <report>
    CREATED tells TINDEX that you want to see the creation date for every file (if available). NOCREATED tells TINDEX to suppress showing the creation date. CREATED is true by default.

    [NO] CREATOR

    <report>
    CREATOR tells TINDEX to report the creator for each file (if available). NOCREATOR suppresses this column. CREATOR is true by default.

    [NO] DATES

    <report>
    DATES is a synonym for ACCESSED, CREATED, MODIFIED. NODATES is a synonym for NOACCESSED, NOCREATED, NOMODIFIED

    [NO] DEFERlpslp

    DEFERLPSLP tells TINDEX to open LPSLP with output priority 1. This may be overridden with a file equation. The default is NODEFERLPSLP.

    [NO] DEVICE

    <report>
    DEVICE tells TINDEX that you want to see the device name for every file. NODEVICE tells TINDEX to suppress showing the device name. DEVICE is the default.

    NOTE Device names of "DISC" are automatically replaced by 8 blanks.
    DEVICE may not be visible on "narrow" output.

    [NO] EOF

    <report>
    EOF tells TINDEX that you want to see the end-of-file record number for every file. NOEOF tells TINDEX to suppress showing the end-of-file. EOF is the default.

    NOTE EOF may not be visible on "narrow" output.

    [NO] EXTENTS

    <report>
    EXTENTS tells TINDEX that you want to see the # of extents for every file (if available). NOEXTENTS tells TINDEX to suppress showing the # extents. EXTENTS is the default.

    NOTE EOF may not be visible on "narrow" output.

    [NO] EXPLAIN

    <report>
    Suppresses explanation of long creator names.
    DEFAULT: EXPLAIN

    [NO] FCODE

    <report>
    FCODE tells TINDEX that you want to see the file code for every file. NOFCODE tells TINDEX to suppress showing the block size. FCODE is the default.

    NOTE Lower case file codes are "synthetic", and are not recognized by MPE. These include "qedit" (file code 111), as well as several dozen common file codes recognized by SIGSYSPROG.

    [NO] FGA

    <report>
    FGA tells TINDEX that you want to see the "file.group.account" name of every file. NOFGA tells TINDEX to suppress showing the "file.group.account".
    DEFAULT: FGA

    NOTE It might not be very useful to suppress FGA!

    [NO] FILENUM

    <report>
    FILENUM tells TINDEX to report the file number of each file it finds. NOFILENUM suppresses this column. FILENUM is true by default.

    [NO] FROMDISC

    FROMDISC is an internal debugging option.

    [NO] FULLQUICK

    FULLQUICK tells TINDEX to produce a modified form of the QUICK option's output (see QUICK). QUICK puts multiple file names on the same line, as long as they are in the same group and account.
    FULLQUICK puts one file name per line, in the form:
    ####: file .group .account
    Where #### is a counter of the number of files reported so far.
    See also: RESTOREQUICK.