z/OS DFSMSdfp Advanced Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


IXRCDS: Retain VIERs in Virtual Storage

z/OS DFSMSdfp Advanced Services
SC23-6861-01

This keyword applies to an indexed VTOC only.
IXRCDS=KEEP
Specifies that the VIERs read into storage during the CVAF function are to be kept in virtual storage. The VIERs are retained even if the index function is unsuccessful. The VIERs are accessed from the CVAF parameter list (CVIRCDS). CVIRCDS is the address of a buffer list containing the VIR buffer addresses and RBAs of the VIERs read.

Index search function dynamically updates the buffer list and, when necessary, obtains additional buffer lists and chains them together.

If IXRCDS=KEEP is specified and no buffer list is supplied to CVAF in the CVPL, CVAF obtains a buffer list and buffers and reads the first high-level VIER. The address of the buffer list is placed in the CVIRCDS field of the CVPL.

The buffer list and VIR buffers are in the caller's protect key. The subpool is 0 if the caller is not authorized; subpool 229 if the caller is authorized.

If IXRCDS=KEEP for an nonindexed VTOC, a request to read a DSCB can be performed, but an error code is returned.

When processing on the current volume is finished, release all areas that were kept.

IXRCDS=(KEEP,addr)
The CVIRCDS from one CVAF call can be passed to another CVAF parameter list by specifying the address as the second parameter in the IXRCDS keyword.
IXRCDS=NOKEEP
If IXRCDS=NOKEEP is coded, the VIERs that are accessed (if any) are not retained. Furthermore, the buffer list supplied in the CVIRCDS field in the CVAF parameter list is released, as are all buffers found in the buffer list. If the skip bit is set in any entry in the buffer list, the buffer and buffer list are not freed.
IXRCDS=(NOKEEP,addr)
specifies that previously accessed VIERs are not to be retained.
You must free buffer lists and buffers obtained by CVAF. This can be done in one of three ways:
  • By coding IXRCDS=NOKEEP on the CVAFSEQ macro that obtained the buffers
  • By coding IXRCDS=NOKEEP on a subsequent CVAF macro
  • By coding CVAFDIR ACCESS=RLSE and providing the address of the buffer list in the BUFLIST keyword.
Requirement: You must enqueue the VTOC and reserve the unit to maintain the integrity of the VIERs read.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014