Programming Interface Information:
This information is NOT intended to be
used as Programming Interfaces of z/VM.

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
 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

This information is based on z/VM V6R2.0. Last updated on 21 Nov 2011 at 11:10:11 EDT.
Copyright IBM Corporation, 1990, 2011