When SMS attempts to obtain space from a volume in
a storage group, SMS makes a call to a system component called
DADSM. DADSM has two system exits that can be used by
SMS/Debug: IGGPRE00 and IGGPOST0.
IGGPRE00)
gets control before the space attempt, and has the name of the candidate volume that was
selected by SMS. SMS/Debug can use this exit to track
which volumes have been selected by SMS. SMSDEBUG=ALL.The DADSM postprocessing exit (IGGPOST0)
gets control after DADSM has made the attempt at obtaining space on a
candidate volume. In most cases, the exit simply shows that DADSM
successfully allocated the data set along with information about which volume was selected.
However, the SMS/DebugIGGPOST0 exit can be very useful for allocation failures. The product can
examine and display the return codes available to the exit and display information about why a
candidate volume failed. The following list illustrates some of the common reasons for
failure:
- Space not available on the volume
- DADSM preprocessing exit rejected the volume
- VTOC is full
Without SMS/Debug, the system will only display information about why the last candidate volume failed.
When SMS/Debug encounters a DADSM failure, the product always displays failure codes available to the DADSM postprocessing exit. For the more common failure codes, the product will display a text message about the failure.
The IGGPOST0 exit can be very helpful in debugging SMS
allocation problems. To activate debugging using the postprocessing exit, specify either
SMSDEBUG=YES or SMSDEBUG=ALL.
Sample trace output
The following job shows sample output from the SMS/DebugDADSM trace facility.
// EXEC PGM=IEFBR14
//DD1 DD DSN=DON.DD1,SPACE=(TRK,1),SMSDEBUG=(NOACS,NOVOL,DADSM)
ACC00510-* STARTING TRACE FOR POST_DADSM-ALLOCATE, DSN=DON.DD1, VOL=SMS002, DD=DD1
ACC05201-* ALLOCATE FOR 1 TRACKS EXTENT 0 RC=0 - SUCCESSFUL
Figure 3-5. Sample SMSDEBUG DADSM trace output