|
Programming Interface Information:
This information is NOT intended to be used as Programming Interfaces of z/VM. |
MDISK
Control Block Contents
MDISK DSECT
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
RELOCATION CONSIDERATIONS : None
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' MDIRESVD INDICATES ACTIVE
RESERVE
.1.. .... MDIRRSVP X'40' MDIRRSVP REAL RESERVE IS
PENDING
..1. .... MDIRELPD X'20' MDIRELPD REAL RELEASE IS
PENDING
...1 .... MDIWRKAL X'10' MDIWRKAL 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
Updates serialized by RDEV lock
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
.... ..1. MDIMDTM X'02' MDC disabled by Transport
Mode I/O
.... ...1 MDIMDCEN X'01' MDC may be enabled for this
and/or one or more overlapping
mdisk.
0027 39 Bitstring 1 MDISMFLG miscellaneous MDISK flags
1... .... MDISMFPO X'80' MDISMFPO The minidisk has a
full pack overlay link to it
.1.. .... MDIEXCLU X'40' MDIEXCLU Exclusive link
held on minidisk
..1. .... MDIDVFP X'20' MDIDVFP Minidisk created
using DEVNO option
...1 .... MDIQDSK X'10' MDIQDSK Minidisk is a Vdisk
.... 1... MDIQDSKP X'08' MDIQDSKP Minidisk is a
PRIVATE Vdisk
.... .1.. MDILOCAL X'04' MDILOCAL Minidisk is local
to this system. Set for private
minidisks, t-disks, v-disks and
minidisks created with DEFINE
MDISK. Used by QUERY MDISK
DETAILS.
.... ..1. MDIPRIVT X'02' MDIPRIVT Minidisk is
private to this system on the
SUBCONFIG BUILD statement
.... ...1 MDIDDEF X'01' MDIDDEF Minidisk created
with DEFINE MDISK
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.
008C 140 Signed 4 * Reserved for future IBM use
0090 144 Signed 4 MDIWMASK Mask of system(s) with write link
0094 148 Signed 4 MDILKTOT Count of LINKs issued for this
mini
0098 152 Signed 4 MDILKPLX Count of LINK plex consultations
00A0 160 Dbl-Word 8 MDILKTOD Total virtual time for LINKs to
consult with the plex
00A8 168 Signed 4 MDIDTTOT Count of DETACHs for this
minidisk
00AC 172 Signed 4 MDIDTPLX Count of DETACH plex
consultations
00B0 176 Dbl-Word 8 MDIDTTOD Total virtual time for DETACHs to
consult with the plex
00B8 184 Signed 4 MDIWKTOT Count of WRKALLEG uses for
minidisk
00BC 188 Signed 4 MDIWKPLX Count of WRKALLEG plex
consultation
00C0 192 Dbl-Word 8 MDIWKTOD Total virtual time for WRKALLEG
uses to consult with the plex
00C8 200 Signed 4 MDIMDOCT Count of times MDC shut off due
to write link in plex
RESERVED FIELDS FOR INSTALLATION USE
THIS AREA IS PERMANENTLY AVAILABLE, BUT MAY
BE MOVED TO ANOTHER OFFSET IN THE BLOCK AT
A LATER RELEASE OF THE SYSTEM.
00CC 204 Signed 4 MDIUSR1 RESERVED FOR INSTALLATION USE
00D0 208 Signed 4 MDIUSR2 RESERVED FOR INSTALLATION USE
00D4 212 Signed 4 MDIUSR3 RESERVED FOR INSTALLATION USE
00D8 216 Signed 4 MDIUSR4 RESERVED FOR INSTALLATION USE
End of Installation reserved fields
0000001C 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 |///////////////////////////|
* +---------------------------+---------------------------+
* 90 | MDIWMASK | MDILKTOT |
* +---------------------------+---------------------------+
* 98 | MDILKPLX |///////////////////////////|
* +---------------------------+---------------------------+
* A0 | MDILKTOD |
* +---------------------------+---------------------------+
* A8 | MDIDTTOT | MDIDTPLX |
* +---------------------------+---------------------------+
* B0 | MDIDTTOD |
* +---------------------------+---------------------------+
* B8 | MDIWKTOT | MDIWKPLX |
* +---------------------------+---------------------------+
* C0 | MDIWKTOD |
* +---------------------------+---------------------------+
* C8 | MDIMDOCT | MDIUSR1 |
* +---------------------------+---------------------------+
* D0 | MDIUSR2 | MDIUSR3 |
* +---------------------------+---------------------------+
* D8 | MDIUSR4 | DC
* +---------------------------+
*
*** MDISK - Mini-disk Control Block
MDISK Cross Reference
Symbol Dspl Value -------------- ---- ----- MDICYLMP 0088 MDIDDEF 0027 01 MDIDEOWD 0008 MDIDEPND 000C MDIDIAQS 0018 MDIDTPLX 00AC MDIDTTOD 00B0 MDIDTTOT 00A8 MDIDVFP 0027 20 MDIEXCLU 0027 40 MDIEXTBK 0080 MDIHSHID 007A MDILINKS 0004 MDILKPLX 0098 MDILKTOD 00A0 MDILKTOT 0094 MDILLOCK 0020 MDILOCAL 0027 04 MDILOCK 0028 MDILPUM 0025 MDIMDCA 0026 30 MDIMDCD 0026 10 MDIMDCEN 0026 01 MDIMDCFL 0026 MDIMDCP 0026 08 MDIMDOCT 00C8 MDIMDTM 0026 02 MDINEXT 0000 MDIOUSER 0070 MDIOVDEV 0078 MDIOVLAP 0026 40 MDIPLOCK 0028 MDIPRIVT 0027 02 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 00D8 0000001C MDISMFLG 0027 MDISMFPO 0027 80 MDISTAT 0024 MDISTCNT 006C MDITHUD 0026 80 MDITNEXT 007C MDIUSR1 00CC MDIUSR2 00D0 MDIUSR3 00D4 MDIUSR4 00D8 MDIVEEXT 005C MDIVEXTN 0058 MDIVLINK 0060 MDIVSEXT 0058 MDIWKPLX 00BC MDIWKTOD 00C0 MDIWKTOT 00B8 MDIWMASK 0090 MDIWRKAL 0024 10 MDIWTCNT 0068
Copyright IBM Corporation, 1990, 2011