Description of DRM

Download count: 7 this month, 7954 altogether.
Downloads for DRM :
  VMARC archive: v-248K

From Kris Buelens, IBM Belgium

The DRM package provides a simple interface to manage the CP directory

  • Helps with finding free space for new minidisks (automatic or manual)
  • Checks for overlaps before placing the directory online
  • Can be used to see only users with certain options
  • Helps to defragment CKD disks (DIRMAINT and/or DFSMS is required then)
  • The additional MVMDISKS tool can be used as a help to move/copy lots of minidisks to other volumes. Moving to another dasdtype is only supported for CMS formatted minidisks as we use DDR, DFSMS COPY or FORMAT and COPYFILE.
  • The DIRBAC EXEC can be used to create DDR statements to backup only used cylinders (gaps and excluded users are skipped).

In general: a poor man's DIRMAINT alternative,
If you have DIRMAINT: enhances DIRMAINT a little bit:

  • DIRME is an EXEC to directly XEDIT the directory entry of a user or to send selected users into a Pipeline.  It also allows to XEDIT some selected DIRMAINT control files.  Examples:DIRME MAINT and you see MAINT's entry in XEDIT.  DIRME MAINT LOCK and you can change MAINT's entry.  DIRME EXTENT CONTROL and you can change that control file.
  • DIRMW is an EXEC to look at DIRMAINT's WORKUNIT files.  It allows to view them, issue RETRY and CANCEL commands as well as removing olf failed WUCCFAIL files.  All this without having to remember the workunit ids.

DIRMAP MODULE, part of CMS Utilities feature, standard part of CMS in z/VM, is used to map the directory as well as to find free space.

Changes Version 3.00.1 :

8 Sep 1998 - Accept the LK prefix command also on LINK cards

15 Sep 1998 - Ignore blank lines in RACF commands file

29 Sep 1998 - Bug: do not rebuild the GAPfile for each GET command

Changes Version 3.01 :

4 Jul 2000 - Improve Freemap (disk defragmanentation)
  • PF11 is now FILELIST of the mdisk pointed too.
  • When moving an Mdisk with DIRM CMDISK, DRM will now allow moving into a gap smaller than the original Mdisk. And, DRM will use the new mdisk size when updating the freemap.
  • DRM recognizes when you change a prepared DIRM CMDISK into a DIRM DMDISK, and it will update the freemap accordingly.

Changes Version 3.02:

7 Jul 2000 - Improve Freemap (disk defragmanentation)
  • When you write 'userid cuu' in FREEMAP's commandline, and press PF9 (or PF11) it will find the indicated mdisk in the freemap.
  • Bug correction: when moving minidisks, the remaining gap space in a FREEMAP line can become 0. When later another gap is found on a line with a 0, the cursor got placed at a wrong gap, or at not gap at all. Problem fixed.

Changes Version 4

30 Jan 2002 - Support for the DRMGUI PACKAGE
1 Feb 2002 - Better errormessage passing to DRMGUI in case of errors

Changes Version 4.1

10 Jan 2003 - Include the MVMDISKS and DIRBKP tools.

Changes Version 4.2

7 Feb 2004 - Include the DIRMW tool to make handling of DIRMAINT WORKUNIT files a lot easier.  Add some new prefix commands: for example LU (becomes RAC LISTUSER), RL (becames RAC RLIST VMMDISK ...), TMD (for DIRM TMDISK), and PURGE (for DIRM PURGE).

Changes Version 4.3

8 Feb 2004 - Add CMP prefix command to easily compare the contents of two minidisks (uses COMPMDSK, part of the Compare package).

Changes Version 4.4 May/June 2005

  • Fix the FI prefix command entered in MDISKMAP
  • Start DIRM BATCH if many DIRMAINT commands entered in XEDIT Prefix
  • Allow "CMDisk" prefix commands on LINK cards, it prepares a DIRM LINK
  • Support a "nbr" on most DIRM cmds (e.g. "DMD 5" prepares a DIRM DMDISK for the up to 5 MDISK cards.
  • Addition of the MDSK EXEC. This makes a DEFINE MDISK easy if your current VM system has access to other VM systems (e.g. a Guest test VM, or VMs sharing DASD with your VM). You need to have a copy of the CP directory of this other system. The MDSK EXEC extracts the wanted MDISK card from it, ATTACHes the target volser to the SYSTEM if required, issues the DEFINE MDISK, ACCESSes it R/O (by default) and can start FILELIST. At the end, MDSK can DETACH the things again.

Changes Version 4.5 July 2005

The DIRME EXEC has been included in the package.

Changes Version 4.5.2 August 2006

We support the new layout provided by DIRMAP in z/VM 5.2.  The FRMT prefix command now supports a parameter to indicate the wanted CMS blocksize.

Changes Version 4.5.3 February 2009

PF 10, 11, & 12 performed SAVE and not FILE as they are described.
When an unauthorised user issued DIRME uid LOCK, DIRME kept waiting after that DIRMAINT replies "not authorised", causing a long response time.

Changes Version 4.5.3a October 2009

PF 10 (file), resulted in a NOVALUE rexx error.

Changes Version 4.5.4 Februari 2011

  • Fix searching an MDISK with prefix FInd cmd in MDISKMAP
  • The FI prefix command now also works in LINKMAP
  • For both FI commands, the cursor will be placed on the MDISK or LINK found.
  • A fix for the MDSK EXEC:
    Give user a chance to do something if target MDISK cannot be ACCESSed or FILELISTed.
  • Two fixes for the QDSK EXEC:
    Try to use ACCESS(MODE0. If impossible (meaning fm 0 files remain invisible), we add an * in col 45 of Q DISK to signal that the number of files doesn't include fmode 0 files.
    Add LINKS option to display who has links to the selected MDK

Changes Version 5.1 March 2013

Two main changes and many small changes.
  1. Support dynamic filtering op GAPFILE and MDISKMAP.

    You have a few classes of disk volumes and may want to find space for a new MDISK on a disk belonging (or not belonging) to a given class.
    For example: a class may be the disks that are PPRC copied to a remote site. When you allocate a new MDISK you want an easy way to select whether or not that MDISK must go to a PPRC or non-PPRC volume.
    DRM's Dynamic Filtering allows that: you define you disk classes in DRM NAMES. The same disk classes can be used to filter the MDISKMAP. Issue HELP DRM DYNFLTR to learn the details.

  2. With z/VM 6.2, the CP directory was changed quite a bit, with SUBCONFIG and IDENTITY statements as additional means to define virtual machines. DRM V5 supports those new statements in a certain way.

    As DRM's main task is to find space for new MDISKs (based on DIRMAP's GAPFILE), not too much had to be changed. The main change is to DRM's PF2 fuinction: "find user" or "find user mdisk".
    An example: you can type "MAINT 191" in XEDIT's command line an press PF2. DRM will locate the MDISK 191 of user MAINT in the CP DIRECTORY.

    • If you do not have a z/VM running in SSI mode: you have for example IDENTITY MAINT and exactly one BUILD ON statement pointing to SUBCONFIG MAINT-1. In the sample CP Directory, the 191 MDISK of MAINT is located in the directory section of MAINT-1.
      In this case when you search for example for MAINT 191 (using DRM's PF2), DRM will locate the MDISK statement in IDENTITY MAINT or in SUBCONFIG MAINT-1. So, on such systems, the find "user mdisk" function works as if there is no SUBCONFIG statement.
    • If your z/VM system is running in SSI mode: then you have example IDENTITY MAINT and one to four BUILD ON statements pointing to SUBCONFIG MAINT-1, MAINT-2 etc.
      In this case when you search for example for MAINT 191 (using DRM's PF2), DRM doesn't know in which SUBCONFIG to look and will tell "not found". So, in stead of typing "MAINT 191" & press PF2, you then must type "MAINT-n 191" & press PF2
    Other changes for z/VM 6.2
    • When the cursor is on a BUILD ON statement and you hit PF2, DRM will search the corresponding SUBCONFIG (just like that with the cursor on INCLUDE, PF2 searches for that PROFILE statement).
    • When hitting PF2 without having entered a userid (and the cursor is not on INCLUDE nor on BUILD ON), DRM advances to the next USER, PROFILE, IDENTIFY or SUBCONFIG statement.
  3. Extra documentation: a README first and a PDF.

Changes Version 5.1.A Nov 2014

Fix build of the FREEMAP: all gapsizes were not shown.
Allow RACF prefix commands on AMDISK records (just like on MDISKs).

Changes Version 5.1.B Feb 2015

Fix build of the FREEMAP: gap sizes at end-of-disk weer not printed

Changes Version 5.2 Mar 2021

  • Gap size was not reported for gaps at end-of-disk
  • Avoid Rexx syntax err for some RACF and Dirmaint prefix cmds
  • For GET(x) commands: give better msg when GAPFILE has only gaps of different disk type than requested on the MDISK-card
  • Xlate volser to upper when GET commands are executed (avoid "no gap found" if volser is e.g. "VM7res")
  • Prefix command FI in LINKMAP did no longer work
  • Some error msg was sometimes not displayed, but this was shown 3559 *-* c 'SET MSGM ON' +++ RC(-3) +++