Programming Interface Information:
This information is NOT
intended to be
used as Programming Interfaces of VM/ESA. It is to be used for diagnosis only. |
CPVOL
Cross Reference (Contains links to field and bit definitions)
CPVOL Prolog
NAME : HCPCPVOL DESCRIPTION: System Volume List Entry DSECT : CPVOL FUNCTION : A CPVOL describes a volume that is dedicated for use by the system. LOCATED BY : CPVNEXT - Field of HCPCPVOL block used for paging reference to indicate the next device of the same type. RDEVVOL - Field of HCPRDEV block SYSVOLS - Contains the pointer to the beginning of CP-owned volumes that are contiguous in storage. The volume index of the ASA can be used to index into the table to determine the correct volume for that ASA. Multiply the index by the size of a CPVOL. CREATED BY : HCPGENER MACRO after the SYSCPVOL MACRO has been executed. DELETED BY : The CPVOL is never deleted. SERIALIZED : - CPLERCT is serialized with Compare and Swap
CPVOL Control Block Content
CPVOL DSECT
Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure CPVOL System Volume List Entry 0000 0 Dbl-Word 8 CPVUVOL (0) CPVOL size in DW's 0000 0 Character 6 CPVOLSER Volume serial identifier 0006 6 Bitstring 1 CPVLSTAT Volume status flags 1... .... CPVTEMPL X'80' Indicates that the CPVOL is temporarily removed from the allocation list. The volume does not have any slots available for allocation. (removed logically only) FOR ATTEMPTS TO LINK .1.. .... CPVLDRCT X'40' Volume contains directory slots ..1. .... CPVCACHE X'20' VOLUME IS CACHED DEVICE ...1 .... CPVLSHRD X'10' Volume was defined in SYSCPVOL as "SHR". It is not owned by this system, it is owned by another system in the VM/CSE complex and can only be READ by this system. .... 1... CPVTEMPT X'08' Indicates that the CPVOL is temporarily removed from the allocation list. The volume does not have any slots available for allocation. (removed logically only) FOR TDISK SPACE .... .1.. CPVLDUMP X'04' Volume was defined in SYSCPVOL as a DUMP ONLY volume .... ..1. CPVTEMPS X'02' Indicates that the CPVOL is temporarily removed from the allocation list. The volume does not have any SPOOL slots available for allocation. SPOOL space on the volume either is full or has been DRAINed. (Removed logically only.) Notes : CPVTEMPS == PGTSPOOL == PGUSPOOL == ALOCSPOL: 0007 7 Address 4 * (0) (CPVTEMPS)))) IEV075 will result if CPVTEMPS NE PGTSPOOL @P3714FM 0007 7 Address 4 * (0) (CPVTEMPS)))) IEV075 will result if CPVTEMPS NE PGUSPOOL @P3714FM Notes : If CPVTEMPS is set in CPVLSTAT *before* the device is initialized and attached to the system (e.g., CPVRDEV and/or CPVVEXBK are zero), it indicates that the volume has been DRAINed for SPOOL, and should *NOT be started (made available for allocation) when it is eventually initialized and attached to the system. .... ...1 CPVTEMPP X'01' Indicates that the CPVOL is temporarily removed from the allocation list. The volume does not have any PAGE slots available for allocation. PAGE space on the volume either is full or has been DRAINed. (Removed logically only.) Notes : CPVTEMPP == PGTPAGE == PGUPAGE == ALOCPAGE: 0007 7 Address 4 * (0) PVTEMPP)))) IEV075 will result if CPVTEMPP NE PGTPAGE @P3714FM 0007 7 Address 4 * (0) PVTEMPP)))) IEV075 will result if CPVTEMPP NE PGUPAGE @P3714FM Notes : If CPVTEMPP is set in CPVLSTAT *before* the device is initialized and attached to the system (e.g., CPVRDEV and/or CPVVEXBK are zero), it indicates that the volume has been DRAINed for PAGE, and should *NOT be started (made available for allocation) when it is eventually initialized and attached to the system. 0007 7 Bitstring 1 CPVCODE Index number into CPVOL list 1111 1111 CPVOLMSK X'000000FF' CPVOL mask to get Volume number isolated from CCPV or PPPV. 0008 8 Address 4 CPVRDEV Address of the RDEV block if attached otherwise it contains zeroes 000C 12 Address 4 CPVVEXBK Address of the VEXBK 0010 16 Address 4 CPVNEXT Next CPVOL of same device type. The end pointer is zero. 0014 20 Signed 4 CPVLERCT # of continuous paging errors this field must be updated by COMPARE and SWAP logic 00000006 CPVMAXER 6 The maximun number of continuous errors allowed Limit of slots that can be allocated before switching to another volume. 0018 24 Signed 2 CPVDEVLM Limit to allocate 001A 26 Signed 2 * Reserved for IBM use. Count of slots deallocated for a volume that once full. The volume is keep from being allocated too until it has at least the limit allowed for allocation before switching volumes. CPCTDAL is used to address the fields index by SALOFFST/2. 001C 28 Signed 2 CPVCTDAL (0) Count of slots deallocated 001C 28 Signed 2 CPVCTPAG Page counts for de-allocation. 001E 30 Signed 2 CPVCTSPL Spool counts for de-allocation. Monitor information. These fields are provided for and maintained and serialized by the Monitor. 0020 32 Address 4 CPVMCPBK Pointer to MCPBK for this volume 0024 36 Signed 4 CPVMCPLK Lockword for MCPBK CPVLIST is used to address both the next pointers for paging and spooling queues. SALOFFST is used to determine what queue to look at. The CPVOLs on these queues are looped to together. The end pointer points to the first in queue. 0028 40 Signed 4 CPVLIST (0) Page and spool lists of CPVOLs. 0028 40 Signed 4 CPVPGNXT Page pointer to the next CPVOL containing pageing slots. 002C 44 Signed 4 CPVSPNXT Spool pointer to the next CPVOL containing spooling slots. Count of times this volume was looked at and used. 0030 48 Signed 4 CPVLOKAT Count of times this volume was looked at while chosing a volume for allocation. 0034 52 Signed 4 CPVALOCD Count of times this volume was chosen for allocation. End of CPVOL block. 0038 56 Dbl-Word 8 CPVOLEND (0) End of CPVOL. 00000007 CPVSIZE (*-CPVOL+7)/8 CPVOL entry size in doublewords (for PAGING/SPOOLING system volumes) 00000038 CPVBSIZE CPVSIZE*8 CPVOL entry size in bytes 0000 0 Character 4 CPVOLSR1 Bytes 1-4 of CPVOLSER 0004 4 Character 2 CPVOLSR5 Bytes 5 & 6 of CPVOLSER
CPVOL Storage Layout
*** CPVOL - System Volume List Entry * * +-----------------------------------------+------+------+ * 0 | CPVOLSER |:LSTAT|:CODE | * +---------------------------+-------------+------+------+ * 8 | CPVRDEV | CPVVEXBK | * +---------------------------+---------------------------+ * 10 | CPVNEXT | CPVLERCT | * +-------------+-------------+-------------+-------------+ * 18 | CPVDEVLM |/////////////| CPVCTPAG | CPVCTSPL | * +-------------+-------------+-------------+-------------+ * 20 | CPVMCPBK | CPVMCPLK | * +---------------------------+---------------------------+ * 28 | CPVPGNXT | CPVSPNXT | * +---------------------------+---------------------------+ * 30 | CPVLOKAT | CPVALOCD | * +---------------------------+---------------------------+ * 38 | | * = CPVOLEND = * | | * +-------------------------------------------------------+ * *** CPVOL - System Volume List Entry *** Overlay for CPVOLSER in CPVOL * * +---------------------------+-------------+ * 0 | CPVOLSR1 | CPVOLSR5 | 6 * +---------------------------+-------------+ * *** Overlay for CPVOLSER in CPVOL
CPVOL Cross Reference
(contains links to field and bit definitions)Symbol Dspl Value -------------- ---- -----CPVALOCD 0034
CPVBSIZE 0038 00000038
CPVCACHE 0006 20
CPVCODE 0007
CPVCTDAL 001C
CPVCTPAG 001C
CPVCTSPL 001E
CPVDEVLM 0018
CPVLDRCT 0006 40
CPVLDUMP 0006 04
CPVLERCT 0014
CPVLIST 0028
CPVLOKAT 0030
CPVLSHRD 0006 10
CPVLSTAT 0006
CPVMAXER 0014 00000006
CPVMCPBK 0020
CPVMCPLK 0024
CPVNEXT 0010
CPVOLEND 0038
CPVOLMSK 0007 FF
CPVOLSER 0000
CPVOLSR1 0000
CPVOLSR5 0004
CPVPGNXT 0028
CPVRDEV 0008
CPVSIZE 0038 00000007
CPVSPNXT 002C
CPVTEMPL 0006 80
CPVTEMPP 0007 01
CPVTEMPS 0006 02
CPVTEMPT 0006 08
CPVUVOL 0000
CPVVEXBK 000C
Last updated on 3 Aug 1999 at 11:48:27 EDT.
Copyright IBM Corporation, 1990, 1999