Recovering from corrupted entries

Once the bad directories or entries have been identified, one can make a new catalogue using a special version of the RTOX/RFRX tools. Here we simply exclude directories and/or entries that have been identified as bad. In the above example, we clearly see that there are problems in the directory //CERN/L3/PROD/DATA/SDRETT We can now use the FATMEN shell to localise the corrupted entries.

First, we use the ls command to list all files in this directory.

         Using the ls command to locate corrupted entries
                                  

ls -w output=sdrett.log

The server log has told use that the first bad entry is CC02HBLY. As the catalogue entries take 163 words and the record length is 1024 words, we would expect 7 corrupted entries if an entire record was corrupt. That means that we should be able to retrieve the entry CC02HJ0M correctly. This we can test using the ls command, e.g.

ls CC02HJ0M -a

However, if we attempt to retrieve the previous entry, we get the following:

FM> ls CC02HJ66 -a
 Directory: //CERN/L3/PROD/DATA/SDRETT
 FMRZIN. Error in RZIN for directory //CERN/L3/PROD/DATA/SDRETT
 Object:
 Key serial number =   1670 filename = CC02HJ66             data repr. =   0 media type =  2 location code =      1
 Generic filename: CC02HJ66
 Data repr.:  0 Media type: 2 Location code:      1 File serial number:   1670
 Device group: CT1
 Comment:
 Start record:          0 End record:          0
 Start block :          0 End block :          0
 File format:  user format:
 VSN:  VID:  FSEQ:    0
 Fileid:
 Created by:   ACCT:  on node:  by job:
 RECFM:   LRECL:     0 BLKSIZE:     0 Filesize:     0 Use count:     0
 File protection mask:          00000000
 Date and time of creation:          0    0
 Date and time catalogued:           0    0
 Date and time last accessed:        0    0
 User words:  00000000 00000000 00000000 00000000 00000000
              00000000 00000000 00000000 00000000 00000000

We can extract all of the good entries in this directory by using the extract or touch commands.

          Extract good entries from a corrupted directory
                                  

FM>ls output=sdrett.log
FM>edit sdrett.log
(delete the lines corresponding to bad entries)
(add the command 'touch' to the beginning of every line)
(save as sdrett.kumac)
FM>update 9999 9999 0
FM>exec sdrett