MDISK | Back to Index page

| Prolog Control Block Contents MDISK DSECT Storage Layout Cross Reference (Contains links to field and bit definitions) |
Programming Interface Information: This information is NOT intended to be used as Programming Interfaces of z/VM.

MDISK Prolog | Top of page

     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 | Top of page

     MDISK DSECT
    Top of page

    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
    009C  156 Signed       4 *              Reserved for future IBM use
    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 | Top of page

    *** 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 | Top of page

    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 7.2.0 Last updated on 24 Jun 2020 at 09:29:08 EDT.
Copyright IBM Corporation, 1990, 2020