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.

MDISK

Prolog  

Control Block Contents  

MDISK DSECT

Storage Layout  

Cross Reference (Contains links to field and bit definitions)  

MDISK Prolog

 Name       : Minidisk Control Block
 Description: Mini-disk Control Block
 DSECT      : MDISK
 Function   : This control block maps a defined minidisk for
              a virtual machine.
 Located by : VDEVMDSK - Mini-disk block for Reserve/Release
 Created by : HCPVDSLK
 Deleted by : HCPDTDEV, HCPVRILF, HCPVRIRL

 

MDISK Control Block Content


MDISK DSECT

Hex Dec Type/Val Lng Label (dup) Comments ---- ---- --------- ---- -------------- -------- 0000 0 Structure MDISK Mini-disk Control Block ** FIELDS FOR ATTACH / DETACH 0000 0 Signed 4 MDINEXT NEXT MDISK ON THIS REAL DEVICE 0004 4 Signed 4 MDILINKS NUMBER OF LINKS TO THIS EXTENT ** FIELDS FOR RELEASE PROCESSING 0008 8 Dbl-Word 8 MDISIOQS (0) NORMAL START REQUEST QUEUES 0008 8 Signed 4 MDIDEOWD ANCHOR FOR QUEUE OF UNSOLICITED IORBKS OWED TO DEVICES 000C 12 Signed 4 MDIDEPND ANCHOR FOR QUEUE OF PENDING UNSOLICITED IORBKS 0010 16 Address 4 MDIRTRQ ADDRESS OF TIMER REQUEST BLOCK 0014 20 Address 4 * RESERVED FOR FUTURE IBM USE 0018 24 Dbl-Word 8 MDIDIAQS (0) DIAGNOSE I/O QUEUES 0018 24 Address 4 MDIQWAIT ANCHOR FOR QUEUE OF IORBKS WAITING FOR RELEASE TO RETRY DIAGNOSE I/O 001C 28 Address 4 * RESERVED FOR FUTURE IBM USE ** LOCKS FOR ACCESS TO THE MINIDISK EXTENT 0020 32 Dbl-Word 8 MDILLOCK (0) LOGICAL LOCK --- DEVICE RESERVED 0020 32 Signed 4 MDIRSVD (0) VDEVBK HOLDING DEVICE RESERVED 0020 32 Address 4 MDIRVDEV ADDRESS OF VDEV RESERVING MINI-DISK (BASE VDEV IF MULTIPLE EXPOSURE DEVICE) 0024 36 Bitstring 1 MDISTAT STATUS FLAGS 1... .... MDIRESVD X'80' INDICATES ACTIVE RESERVE .1.. .... MDIRRSVP X'40' REAL RESERVE IS PENDING ..1. .... MDIRELPD X'20' REAL RELEASE IS PENDING ...1 .... MDIWRKAL X'10' Virtual working allegiance is to be simulated MIDWRKAL interacts with MDIRESVD and MDIRVDEV like this : Case I: MDIRESVD = OFF and MDIWRKAL = ON Working allegiance is active and If MDIRVDEV = 0 Then The minidisk is available. Else MDIRVDEV = the owning vdev address Case II: MDIRESVD = ON and MDIWRKAL = OFF The device is currently reserved MDIRVDEV = the owning vdev address MDIRVDEV cannot be zero Case III: MDIRESVD = ON and MDIWRKAL = ON The device is currently reserved MDIRVDEV = the owning vdev address Working allegiance may or may not be active. If the channel program ended without a Release CCW issued, then working allegiance is over but the device is still unavailable. 0025 37 Bitstring 1 MDILPUM MASK FOR LOGICAL PATH ON WHICH RESERVE WAS MADE 0026 38 Bitstring 1 MDIMDCFL Flag byte for minidisk caching 1... .... MDITHUD X'80' MDC purge on backend is required .1.. .... MDIOVLAP X'40' Mini-disk overlapped - purge cache ..11 .... MDIMDCA X'30' MDC authorization bits used only when setting MDIHSHID ...1 .... MDIMDCD X'10' MDC default authorization MDC will be prohibited ("SET MDC MDISK ON" disabled) if: - minidisk includes CP-system cylinders. CP's I/O to PAGE, SPOL, and DRCT space will clash with any user I/O that is cached. .... 1... MDIMDCP X'08' MDC prohibited for this mdisk .... .1.. MDIRECAC X'04' Do record caching for this mdisk 0027 39 Bitstring 1 MDISMFLG miscellaneous MDISK flags 1... .... MDISMFPO X'80' The minidisk has a full pack overlay link to it .1.. .... MDIEXCLU X'40' Exclusive link held on minidisk ..1. .... MDIDVFP X'20' Minidisk created using DEVNO option ...1 .... MDIQDSK X'10' Minidisk is a Vdisk .... 1... MDIQDSKP X'08' Minidisk is a PRIVATE Vdisk 0028 40 Dbl-Word 8 MDILOCK (0) LOCKWORD FOR RESERVE/RELEASE STATUS 0028 40 Dbl-Word 8 MDIPLOCK (3) PHYSICAL LOCK --- EXTENT IN USE 0040 64 Dbl-Word 8 MDIQLOCK (3) LOCKWORD FOR QUEUE MANIPULATION MDISK extent in cylinders (if CKD or ECKD) or blocks (if FBA) These values are unique for this real device; no other MDISK block represents this exact extent, although other MDISK block extents may overlap this extent. Warning: some CKD/ECKD-only routines cannot handle cylinder numbers larger than 65535; FBA routines can handle 2**32-1. 0058 88 Dbl-Word 8 MDIVEXTN (0) Virtual DASD cylinder/block extents 0058 88 Signed 4 MDIVSEXT Virtual DASD start cylinder/block 005C 92 Signed 4 MDIVEEXT Virtual DASD end cylinder/block All MDISK blocks representing existing virtual dasds (whether "minidisks" or "tdisks" but not "dedicated dasds") are chained in no particular order from the RDEV block. The virtual dasd VDEV blocks in use on this extent are doubly-chained from this MDISK block in descending "link access mode" order. The first VDEV's backward pointer points to the end of the chain. 0060 96 Signed 4 MDIVLINK Pointer to next linked VDEV Counts representing the sum of all VDEVs chained from this MDISK having the specified "link access mode." See also MDIEXCLU bit in MDISMFPO byte. MDILINKS = MDIRDCNT + MDIWRCNT. A stable-read link would be counted once in each of MDIRDCNT and MDISTCNT. These counts summarize the thousands of VDEVs that could be chained from this MDISK block. 0064 100 Signed 4 MDIRDCNT Read link count for minidisk 0068 104 Signed 4 MDIWTCNT Write link count to minidisk 006C 108 Signed 4 MDISTCNT Stable link count for minidisk The minidisk owner is either the user who has the MDISK statement in the directory or the user who created this extent (not using the directory). 0070 112 Character 8 MDIOUSER Mini-disk owner userid 0078 120 Signed 2 MDIOVDEV Mini-disk owner VDEV number MDIHSHID may contain one of the following values: Zero - This minidisk isn't eligible for MDC caching RDEVHSID - when positive, the minidisk is eligible for MDC caching and this field is used to create the MDC hash key. When negative (bit 0 is on), MDC caching is not permitted for this minidisk. X'FFFF' - this minidisk is an FBA device and is not page aligned and is not eligible for MDC caching. Note that if MDIHSHID is positve, caching is allowed provided that it permitted at the system level. 007A 122 Signed 2 MDIHSHID MDC Hash ID MDISK blocks representing tdisks are chained in extent-order from the CPVOLume extent EXTBK within which they reside. This mechanism is used to distinguish free tdisk space from tdisk space in use. 007C 124 Signed 4 MDITNEXT Ptr to next MDISK on EXTBK chain 0080 128 Signed 4 MDIEXTBK Ptr to parent EXTBK MDISK blocks representing Vdisks use the following field to chain in the Qdisk block. 0084 132 Address 4 MDIQDISK Address of QDISK block for Vdisk Miscellanea 0088 136 Signed 4 MDICYLMP Minidisk cache cylinder map. If high order bit on, points to address of cyl map indicating the format of each cylinder. If off, then so far entire mdisk is std and this field contains the DPSBK address for that size. Updated with Compare and Swap. 00000012 MDISIZE ((*-MDISK+7)/8) SIZE IN DWS FOR FREE/FRET

 

MDISK Storage Layout

*** MDISK - Mini-disk Control Block
*
*     +---------------------------+---------------------------+
*   0 |         MDINEXT           |         MDILINKS          |
*     +---------------------------+---------------------------+
*   8 |         MDIDEOWD          |         MDIDEPND          |
*     +---------------------------+---------------------------+
*  10 |         MDIRTRQ           |///////////////////////////|
*     +---------------------------+---------------------------+
*  18 |         MDIQWAIT          |///////////////////////////|
*     +---------------------------+------+------+------+------+
*  20 |         MDIRVDEV          |:STAT |:LPUM |:MDCFL|:SMFLG|
*     +---------------------------+------+------+------+------+
*  28 |                                                       |
*     =                       MDIPLOCK                        =
*     |                                                       |
*     +-------------------------------------------------------+
*  40 |                                                       |
*     =                       MDIQLOCK                        =
*     |                                                       |
*     +---------------------------+---------------------------+
*  58 |         MDIVSEXT          |         MDIVEEXT          |
*     +---------------------------+---------------------------+
*  60 |         MDIVLINK          |         MDIRDCNT          |
*     +---------------------------+---------------------------+
*  68 |         MDIWTCNT          |         MDISTCNT          |
*     +---------------------------+---------------------------+
*  70 |                       MDIOUSER                        |
*     +-------------+-------------+---------------------------+
*  78 |  MDIOVDEV   |  MDIHSHID   |         MDITNEXT          |
*     +-------------+-------------+---------------------------+
*  80 |         MDIEXTBK          |         MDIQDISK          |
*     +---------------------------+---------------------------+
*  88 |         MDICYLMP          | 8C
*     +---------------------------+
*
*** MDISK - Mini-disk Control Block

 

MDISK Cross Reference

(contains links to field and bit definitions)
Symbol         Dspl Value
-------------- ---- -----

MDICYLMP 0088

MDIDEOWD 0008

MDIDEPND 000C

MDIDIAQS 0018

MDIDVFP 0027 20

MDIEXCLU 0027 40

MDIEXTBK 0080

MDIHSHID 007A

MDILINKS 0004

MDILLOCK 0020

MDILOCK 0028

MDILPUM 0025

MDIMDCA 0026 30

MDIMDCD 0026 10

MDIMDCFL 0026

MDIMDCP 0026 08

MDINEXT 0000

MDIOUSER 0070

MDIOVDEV 0078

MDIOVLAP 0026 40

MDIPLOCK 0028

MDIQDISK 0084

MDIQDSK 0027 10

MDIQDSKP 0027 08

MDIQLOCK 0040

MDIQWAIT 0018

MDIRDCNT 0064

MDIRECAC 0026 04

MDIRELPD 0024 20

MDIRESVD 0024 80

MDIRRSVP 0024 40

MDIRSVD 0020

MDIRTRQ 0010

MDIRVDEV 0020

MDISIOQS 0008

MDISIZE 0088 00000012

MDISMFLG 0027

MDISMFPO 0027 80

MDISTAT 0024

MDISTCNT 006C

MDITHUD 0026 80

MDITNEXT 007C

MDIVEEXT 005C

MDIVEXTN 0058

MDIVLINK 0060

MDIVSEXT 0058

MDIWRKAL 0024 10

MDIWTCNT 0068


This information is based on VM/ESA 2.4.0.
Last updated on 3 Aug 1999 at 12:13:58 EDT.
Copyright IBM Corporation, 1990, 1999