z/OS DFSMS Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Understanding when IGGPRE00_EXIT and IGGPOST0_EXIT dynamic exits, exit routines are available

z/OS DFSMS Installation Exits
SC23-6850-01

IGGPRE00 receives control after the successful initial validity check, and before the first VTOC update. The parameter list passed to IGGPRE00 contains a function code, which identifies the DADSM function requested, and the addresses of required input data. IGGPRE00 receives control once for each volume in the volume list provided for scratch and rename. IGGPRE00 can use the IEXRSVWD field in the parameter list to pass data to IGGPOST0.

The operating system gives control to IGGPOST0 after a DADSM function has been completed or attempted. The system gives control to IGGPOST0 if it gives control to IGGPRE00, whether the DADSM function was successful or not. The system does not give IGGPOST0 control if it does not give IGGPRE00 control, nor if the DADSM function terminates abnormally. IGGPRE00 can establish a recovery routine, if required, to clean up system resources. The DADSM recovery routine does not give IGGPOST0 control. Input to IGGPOST0 is the same parameter list passed to IGGPRE00. No return codes from IGGPOST0 are defined.

The EOF mark that is written during creation of certain data sets (with primary space specified and either DSORG=PS or no DSORG) is written after IGGPOST0 receives control.

DADSM, or the program that invokes DADSM, acquires the system resources it needs to serialize system functions (by issuing enqueues, reserves, or others). These enqueues can prevent other system services from completing successfully. In particular, IGGPRE00 and IGGPOST0 must not issue dynamic allocation, open, close, end-of-volume, locate, or other DADSM functions, because they issue an enqueue on the SYSZTIOT resource. If the exit routines require access to an installation data set, the control blocks required to access that data set (DCB, DEB) should be built during system initialization (IPL, NIP).

The type and number of resources held by DADSM depend upon the DADSM function and which exit routine is being given control. For example, on entry to IGGPRE00, DADSM holds an enqueue on the VTOC and a reserve on the device for the volume specified by a scratch, rename, or partial release request. DADSM dequeues these resources before IGGPOST0 is given control.

You must anticipate potential system resource contention when IGGPRE00 or IGGPOST0 request services. For example, RACF services issue an enqueue on the RACF data set or a reserve on that data set's volume. This contention can cause system performance problems or an interlock condition.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014