Wizard of Odd codex

💠Laissez Les Bon Code Roulez💠

User Tools

Site Tools


ibm360-370:use_the_format_allocate_program

VM/370 Format/Allocate

The FORMAT/ALLOCATE program is a stand-alone application which prepares portions of volumes to be used by the VM/370 control program. Because it is such an important part of system setup and maintenance, we will use an example session to describe its use.

Using Format/Allocate

Logged in as userid MAINT, locate the FMT program. All stand-alone utilities are, by convention, consistently given the filename IPL <utilityname> * and are usually located on the 190(S) disk.

Locating FMT

General User
l ipl * * IPL DDR B2 IPL DIR B2 IPL FMT B2 IPL DDR S2 IPL DIR S2 IPL FMT S2 IPL IBCDASDI S2 Ready; T=0.01/0.01 21:14:53
The file we are searching for is IPL FMT S2. The one on MAINT's B-disk is just a copy of the one on the 190(S) disk.

Starting FMT

  1. Spool the virtual punch unit to our own virtual reader:
    spool pun *
    Ready; T=0.01/0.01 20:59:21
  2. Punch the file (with NO punch headers) to our virtual reader:
    punch ipl fmt s2 (noheader
    PUN FILE 0501  TO  MAINT    COPY 01 NOHOLD
    Ready; T=0.01/0.02 21:00:41
  3. Move the file we just deposited in the virtual reader, to the front of the reader's queue:
    order rdr 0501
    0001 FILE  ORDERED
    Ready; T=0.01/0.01 21:00:46
  4. Now IPL from the virtual reader (defined by convention as Device 00C):
    ipl 00c
    VM/370 FORMAT/ALLOCATE PROGRAM RELEASE 6
    ENTER FORMAT OR ALLOCATE:

The utility is now ready!

Verify Our Work

As a follow-up task in this system, we discovered that VOLSER VM50-6 has no valid allocation byte map and one needs to be instantiated. Because we have user MDISKS defined on this volume - we are only going to perform our task on a portion of the volume: Cylinder 0.

Verify our virtual DASD Configuration by issuing the command #cp q v dasd:

CP Q V DASD
DASD 093 3350 VM50-4 R/W 0040 CYL
DASD 094 3350 VM50-4 R/W 0040 CYL
DASD 141 3350 VM50-1 R/W 0555 CYL
DASD 190 3350 VM50-1 R/W 0061 CYL
DASD 191 3350 VM50-1 R/W 0035 CYL
DASD 193 3350 VM50-1 R/W 0035 CYL
DASD 194 3350 VM50-1 R/W 0035 CYL
DASD 19D 3350 VM50-2 R/W 0070 CYL
DASD 19E 3350 VM50-2 R/W 0070 CYL
DASD 232 3350 VM50-2 R/W 0555 CYL
DASD 233 3350 VM50-3 R/W 0555 CYL
DASD 234 3350 VM50-4 R/W 0555 CYL
DASD 235 3350 VM50-5 R/W 0555 CYL
DASD 236 3350 VM50-6 R/W 0555 CYL   <-- NOTE: This is the Device we seek.
DASD 294 3350 VM50-1 R/W 0035 CYL
DASD 299 3350 VM50-1 R/W 0014 CYL
DASD 393 3350 VM50-1 R/W 0085 CYL
DASD 394 3350 VM50-1 R/W 0110 CYL
DASD 494 3350 VM50-1 R/W 0017 CYL

Noting the Full-Pack MDISK for VOLSER VM50-6 on Device 236 of Type 3350, we can then proceed with our tasks.

We first VERIFY that this is the volume that we seek by performing a “no-write” allocate action. (The lower-case text shows commands we type, UPPER-CASE text shows the responses from the utility.)

  • Verify a volume we already know to be properly allocated: vm50-1 (the VM system residence volume):
    ENTER FORMAT OR ALLOCATE:
    allocate
    ALLOCATE FUNCTION SELECTED
    ENTER DEVICE ADDRESS (CUU):
    141
    ENTER DEVICE TYPE:
    3350
    ENTER DEVICE LABEL:
    vm50-1
    ENTER ALLOCATION DATA FOR VOLUME VM50-1
    TYPE CYL  CYL
    end
    ALLOCATION RESULTS
    PERM 0000 0010
    DRCT 0011 0012
    PERM 0013 0019
    TEMP 0020 0079
    TDSK 0080 0099
    PERM 0100 0554
    DEVICE 141 VOLUME VM50-1 ALLOCATION ENDED

Success! The volume validates against the output of the analysis tool:

*****
*  Device Address 141
*****


Volume      : E:\Emulation\Vm370.6Pack.1.3.Orig\disks\vm3350-1.141.cckd
Shadow      : sf=E:\Emulation\Vm370.6Pack.1.3.Orig\disks\shadows\vm3350-1_
Composed On : C:\Users\sjzop\AppData\Local\Temp\vm3350-1.141.cckd.CV.cckd

VolSer(VM50-1) :555 cylinders

Allocations Found On This Volume

ALLOCATE StartCyl  EndCyl
-------- -------- --------

PERM       0000     0010
DRCT       0011     0011
DRCT       0012     0012
PERM       0013     0019
TEMP       0020     0079
TDSK       0080     0099
PERM       0100     0554

Now we validate our candidate device 236 VOLSER vm50-6

ENTER FORMAT OR ALLOCATE:
allocate
ALLOCATE FUNCTION SELECTED
ENTER DEVICE ADDRESS (CUU):
236
ENTER DEVICE TYPE:
3350
ENTER DEVICE LABEL:
vm50-6
DMKFMT736E IO ERROR 236 CCHHR = 0000000004
SENSE=000800008000000000000000000000000000000000000000
DMKFMT735E FATAL DASD I/O ERROR CSW=00002C680E000000
The format program receives an I/O Error from the VM/370 Control Program indicating a failure to read CYLINDER 000 HEAD 00 RECORD 4 (the location of the allocation byte map). This is the correct volume.

Execute FORMAT/ALLOCATE

We only need to format CYLINDER 000 to perform the allocation. This is done in two easy steps.

  1. Perform the FORMAT operation:
    ENTER FORMAT OR ALLOCATE:
    format
    FORMAT FUNCTION SELECTED
    ENTER DEVICE ADDRESS (CUU):
    236
    ENTER DEVICE TYPE:
    3350
    ENTER START CYLINDER (XXX OR XXXX) OR "LABEL":
    000
    ENTER END CYLINDER (XXX OR XXXX):
    000
    ENTER DEVICE LABEL:
    vm50-6
    FORMAT STARTED
    FORMAT DONE
    0000 NO. PAGE RECORDS WITH READ-CHECK ERRORS
  2. Perform the ALLOCATE operation:
    ENTER FORMAT OR ALLOCATE:
    allocate
    ALLOCATE FUNCTION SELECTED
    ENTER DEVICE ADDRESS (CUU):
    236
    ENTER DEVICE TYPE:
    3350
    ENTER DEVICE LABEL:
    vm50-6
    ENTER ALLOCATION DATA FOR VOLUME VM50-6
    TYPE CYL  CYL
    perm 000 554
    end
    ALLOCATION RESULTS
    PERM 0000 0554
    DEVICE 236 VOLUME VM50-6 ALLOCATION ENDED
  3. Verify both operations:
    ENTER FORMAT OR ALLOCATE:
    allocate
    ALLOCATE FUNCTION SELECTED
    ENTER DEVICE ADDRESS (CUU):
    236
    ENTER DEVICE TYPE:
    3350
    ENTER DEVICE LABEL:
    vm50-6
    ENTER ALLOCATION DATA FOR VOLUME VM50-6
    TYPE CYL  CYL
    end
    ALLOCATION RESULTS
    PERM 0000 0554
    DEVICE 236 VOLUME VM50-6 ALLOCATION ENDED
    ENTER FORMAT OR ALLOCATE:

Restart CMS

We are done - so we can just return to CMS by entering the #cp ipl cms command:

CP IPL CMS
CMS VERSION 6.0 - 03/11/18 19:50


Y (19E) R/O
U (19D) R/O
B (094) R/O
D (194) R/O
E (294) R/O
F (394) R/O

+-----------------------------------------------------------------------------+
|          Welcome to VM/370 and VM/380 "SixPack" version 1.3!                |
+-----------------------------------------------------------------------------+

For a list of CMS commands, type HELP CMSCMDS.  For a list of CP commands, type
HELP CPCMDS.

Other useful documentation and sample programs can be found on MAINT 19D,
accessed as your U disk.

For more details, type HELP WELCOME ( MORE

For information on building the CP or CMS nucleus, read SYSPROG MEMO.
Ready; T=0.01/0.05 21:08:28

That's it!

Now Shutdown VM, and let's re-run our analysis to obtain an up-to-date analysis.

The analysis looks good …

Let’s move on to Enhancing the Operational Environment.

ibm360-370/use_the_format_allocate_program.txt · Last modified: 2020/12/27 21:05 by site_admin