GEROLL - rollback or re-initiate program.

Usage:

mme     geroll

Description:

MME GEROLL has two uses:

Both Rollback and Deferred Restart make use of checkpoint "snapshots" taken via MME GECHEK. A snapshot consists of an image of the slave program and parts of its control section at the time of the MME GECHEK, along with information describing the positioning of data files. This information is saved in a file, called the "snapshot file".

MME GEROLL may not be used in a courtesy call.

Rollback

Rollback always goes back to the most recent checkpoint. It is not possible to roll back to a selected checkpoint.

All machine registers and data file positions are restored to the state they had at the time of the checkpoint.

All user data files that were present when the checkpoint snapshot was taken must also be present when MME GEROLL is called. The only exception is when the MME GECHEK that takes the snapshot contains a list of files to be released (see "expl mme gechek" for more details).

The amount of memory that is allocated at Rollback time should be equal to the amount of memory that was allocated at the time the snapshot was taken. If the two are not equal, Rollback will be given up to 64K more memory for the job. If more than 64K is needed, the user program will be aborted.

Repositioning of multi-reel tapes is done automatically if the program is using File and Record Control or UFAS. If the wrong reel is mounted at Rollback time, the operator will be given the required reel sequence number and asked to mount the reel.

If program files are opened or closed (via File and Record Control) after the MME GECHEK and before the MME GEROLL, a pointer to the snapshot file FCB must be restored in the upper half of location 15 (decimal).

After Rollback is complete, control is returned to the address specified by location 14 (decimal) of the slave program prefix in the user program's memory. Note that the value in this location was supplied by the MME GECHEK that took the snapshot.

Deferred Restart

Deferred Restart is usually initiated by a small program that sets up a few arguments, then issues MME GEROLL to obtain a checkpoint snapshot from a permanent mass storage snapshot file created by another job. The arguments that must be set up are listed below.

Word 15 (decimal) of Slave Program Prefix:
If a program is using File and Record Control, bits 0-17 may contain the address of the FCB for the snapshot file. Otherwise, bits 6-17 should contain the file code of the snapshot file. (Note: a program may choose to specify a file code in this word, even if it is using File and Record Control.)
Word 14 (decimal) of Slave Program Prefix:
Bit 19
should be 0 if word 15 (above) has an FCB pointer and 1 if word 15 contains a file code.
Bit 20
should be 1 to indicate Deferred Restart.

The initiating program must match the original program's allocated files, peripherals, and memory size. The Deferred Restart will attempt to position data files as they were at the original checkpoint, but if the files have been changed by other programs in the meantime, the behavior of the restarted program may not mimic the behavior of the original.

The same activities that followed the checkpointed activity in the original job should follow the initiating program in the Deferred Restart job. MME GECHEK does not save J* and *J files, so they must be rebuilt by System Input for the unprocessed activities. (Note: MME GECHEK does not save any system temporary files.)

If SYSOUT files were not closed or flushed before the MME GECHEK, the Deferred Restart will contain the last buffer of File and Record Control output, and some output may be duplicated. If the SYSOUT files were closed before the MME GECHEK, they must be opened after the MME GEROLL.

Multi-reel files involved in a Deferred Restart can consist of a maximum of 21 tapes.

Errors

If a MME GEROLL operation encounters an error, an error code is stored in the lower half of the Q register and the program is aborted. The following octal codes are used:

 1  -- file or snapshot not found
 2  -- incompatible memory size and sufficient
       memory cannot be obtained
 3  -- no snapshot taken in this activity
 5  -- bad read status on snapshot file
 7  -- invalid snapshot file device
10  -- protected file cannot be repositioned
11  -- undefined file for Deferred Restart
12  -- attempted MME GEROLL in courtesy call
13  -- file too fragmented to reposition
14  -- number of SSAs changed
If a Rollback operation is successful but the lower half of Q contains a 4, one or more tapes were no longer assigned or positioning was lost on some file. In this case, the program must decide for itself whether to abort.

See Also:

expl mme gechek

Copyright © 2000, Thinkage Ltd.