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

Prolog  

Control Block Contents  

CPVOL DSECT

Storage Layout  

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


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 11:48:27 EDT.
Copyright IBM Corporation, 1990, 1999