Been there, done that, have the T-shirt (which seems to have shrunken a 
few sizes).

Try copy/past of the following LOSTDISK EXEC.  It does require the ID to 
be able to execute the DEFINE MDISK command.

Mike Walter
Aon Corporation
The opinions expressed herein are mine alone, not my employer's.

/* Prolog; See Epilog for additional information ********************
 * Exec Name     - LOSTDISK EXEC                                    *
 * Unit Support  - OSS/VM                                           *
 * Status        - Version 1, Release 1.0                           *
 ********************************************************************/

   address 'COMMAND'
   parse source xos xct xfn xft xfm xcmd xenvir .
   parse upper arg parms 1 operands '(' options ')' parmrest

   parse var operands volid fn ft .
   If vol='' | volid='?' then
      Signal Explain

   If fn='' | ft='' then
      Do
        say 'Warning: searching for ONLY MINIDISKS'
        say 'If you need to find specific file patterns on lost' ,
            'disks, enter:' xfn '?'
      End

   ?fl=0
   ?LFopts=0
   lfopts=''
   wkopts=options
   Do while wkopts<>''
      parse var wkopts opt wkopts
      Select
        When abbrev('FILELIST',opt,5) then ?fl=1
        When opt='FL'                 then ?fl=1
        When opt='LFOPTIONS'          then
          Do
            ?lfopts=1
            lfopts=wkopts
            wkopts=''
          End
        Otherwise nop
      End /* Select */
   End

   If ?fl & ?lfopts then
      Do
        say xfn'; Mutually exclusive options specified:' ,
                 'FILELIST LFOPTIONS'
        Call Exit 20
      End


   address CMS 'STATE ACCESSM0 MODULE *'
   If rc=0 then
      Do
        'ACCESSM0 ON'
        ?accm0=1
      End
   Else If ?fl then
           Do
             say 'Warning!  Filemode 0 files will not be displayed' ,
                 'when using FILELIST option'
             say 'because the ACCESSM0 MODULE is unavailable.'
           End

   /* Warning: CP DEFINE MDISK gets a R/W link to the disk.         */
   /* Do NOT issue a CMS RELEASE, just DETACH it - other users      */
   /* are likely to have a R/W link to the disk, release can        */
   /* provide a quick one-way encyryption (trash it)!               */
   ?showhdr=1
   Do cx=0 by 1
     'PIPE CP DETACH 001'
     'PIPE CP DEFINE MDISK 001' cx 1 volid ,
        '| STEM emsg.'
      src=rc
      /* HCPLNM024E Cylinder or block numbers missing or invalid */
      If src=24 then Leave
      If rc<>0 then
         Do
           src=rc
          'PIPE STEM emsg. | CONS'
           Call Exit src
         End
     'PIPE COMMAND ACCESS 001 Q/Q'            /* Prevent R/W access */
      If rc<>0 then Iterate
      If ft='' then
         Do
           If ?showhdr
              then showhdrstage=''
              else showhdrstage='| DROP 1'

          'PIPE COMMAND QUERY DISK Q' ,
              showhdrstage ,
             '| PREFACE STRLITERAL /HIT on cylinder:' right(cx,4,0)'/' ,
             '| CONSOLE'
           ?showhdr=0
           Iterate
         End

     'PIPE COMMAND LISTFILE' fn ft 'Q ('lfopts '| STEM hit.'
      If rc<>0 then Iterate

      If ?showhdr
         then showhdrstage=''
         else showhdrstage='| DROP 1'

     'PIPE (END ? Name GetSizeToo)' ,
        '| COMMAND QUERY DISK Q' ,
        '| copy: FANOUT' ,
           showhdrstage ,
        '| PREFACE STRLITERAL /HIT on cylinder:' right(cx,4,0)'/' ,
        '| CONSOLE' ,
        '? copy:' ,
          '| TAKE LAST' ,
          '| VAR qdisk'

      ?showhdr=0
     'PIPE STEM hit. | CONSOLE'
      If \?fl then Iterate
     /* They want FILELIST, probably XEDIT.  Need real mdisk size.  */
     'PIPE CP DET 0001'
      parse var qdisk . . . . size .
     'PIPE CP DEFINE MDISK 001' cx size volid ,
        '| STEM emsg.'
      If rc<>0 then
         Do
           src=rc
          'PIPE STEM emsg. | CONS'
           Call Exit src
         End
     'PIPE COMMAND ACCESS 001 Q'

      /* Help prevent accidental R/W update *AFTER* FILELIST built  */
      If ?accm0
         then push 'COMMAND ACCESS 001 Q/Q (MODE0'
         else push 'COMMAND ACCESS 001 Q/Q'
      queue 'COMMAND EMSG Hit on cylinder' cx
     'EXEC FILELIST' fn ft 'Q'
   End
Call Exit 0


/********************************************************************/
/*                   Sub-Routines below this point                  */
/********************************************************************/

Exit:
   parse arg exitrc .
   If verify(exitrc,'-0123456789')=0 then Exit exitrc
                                     else Exit 999999

Error:
   say '+++ "ERROR" error routine entered in:' xfn xft xfm', rc='rc
   say '+++ from line:' sigl', which reads:'
   say '+++'sourceline(sigl)
Call Exit 20


Syntax:
   say '+++ "SYNTAX" error routine entered in:' xfn xft xfm', rc='rc
   say '+++ from line:' sigl', which reads:'
   say '+++'sourceline(sigl)
Call Exit 20


NoValue:
   say '+++ "NoValue" error routine entered in:' xfn xft xfm', rc='rc
   say '+++ from line:' sigl', which reads:'
   say '+++'sourceline(sigl)
   say '+++ Variable with no value is:' condition('Description')
Call Exit 24

Explain:
  'PIPE (NAME Explain)' ,
     '| <' xfn xft xfm ,
     '| INSIDE /ExplainBegin:/ /ExplainEnd:/' ,
     '| CONSOLE'
   Call Exit 0
/*
ExplainBegin:
LOSTDISK is used from a userid with the PrivClass for 'CP DEFINE MDISK'
to locate mindisks, and optionally files, on a full-pack volume.
It is handy if you no longer have a DIRECTORY mapping that volume.

Syntax:

>--LOSTDISK--+-volser-+--+---------------------------------+-|options|-><
                         +--fnamepattern--+----------------+
                                          +--ftypepattern--+


|-Options-|

FILEList
FL
          Enter FILELIST on the files with patching filename (and
          optionally filetype) patterns from the found mdisk(s).


LFoptions
          Mutually exclusive with "FILELIST" or "FL".
          Issues LISTFILE for the specified "fnamepattern ftypepattern"
          with the "LFoptions" arguments as LISTFILE's options.

For example:

lostdisk vmres1
lostdisk vmpk01 *some* file*
lostdisk vmpk02 *some* cata* (filel
lostdisk vmu087 *some* *x*   (fl
lostdisk 520res user direct  (fl
ExplainEnd:
*/

/* Epilog ***********************************************************
 * Function      - See 'Explain' subroutine, above.                 *
 * Component of  - VM System Programmers Toolbox                    *
 * Command format- See 'Explain' subroutine, above.                 *
 * Called by     - Concerned sysprogs.                              *
 * Dependencies  - CMS REXX                                         *
 *               - CMS Pipelines                                    *
 *               - Privs to use the command CP DEFINE MDISK         *
 *               - Optionally, FILELIST EXEC                        *
 *               - Optionally, ACCESSM0 MODULE                      *
 * Program Lang. - CMS REXX                                         *
 * Date Written  - 20020226                                         *
 * Author        - Michael R. Walter                                *
 * Changed | By  | Description of Change                            *
 * --------+-----+------------------------------------------------- *
 * 20061107  mrw - Added example: lostdisk 520res user direct (fl   *
 *                 following real-life "test".  ;-)                 *
 * 20090408  mrw - Changed loop from 3338 cyls to rc=24.            *
 * 20090415  mrw - Add LFOPTIONS support.                           *
 *                                                                  *
 ********************************************************************/




"Brian France" <b...@psu.edu> 

Sent by: "The IBM z/VM Operating System" <IBMVM@LISTSERV.UARK.EDU>
11/17/2010 02:32 PM
Please respond to
"The IBM z/VM Operating System" <IBMVM@LISTSERV.UARK.EDU>



To
IBMVM@LISTSERV.UARK.EDU
cc

Subject
A how to ?...






Folks,
     Our storage folks have come across a dasd volume that apparently by 
it's name was one of our VM volumes. Now, none of my 3 vm's have this 
volume on line and I would like to just have a look see as to what was on 
the volume. Is there a utility to do this? We have Vmdirect but I don't 
believe by adding this volume into the pool a map is going to give me 
anything since no users have it. IF this was z/OS, I would simply use ISPF 
3.4 to list the contents of the volume and this is what I was wondering 
about, it something like that existed in z/VM. Maybe this is something 
that can't be done due to the nature of it all. Thanx in advance...
-- 

-- 

Brian W. France
Systems Administrator (Mainframe)
Pennsylvania State University 
Administrative Information Services - Infrastructure/SYSARC
Rm 25 Shields Bldg., University Park, Pa. 16802 
814-863-4739 
b...@psu.edu

"To make an apple pie from scratch, you must first invent the universe."

Carl Sagan 



The information contained in this e-mail and any accompanying documents may 
contain information that is confidential or otherwise protected from 
disclosure. If you are not the intended recipient of this message, or if this 
message has been addressed to you in error, please immediately alert the sender 
by reply e-mail and then delete this message, including any attachments. Any 
dissemination, distribution or other use of the contents of this message by 
anyone other than the intended recipient is strictly prohibited. All messages 
sent to and from this e-mail address may be monitored as permitted by 
applicable law and regulations to ensure compliance with our internal policies 
and to protect our business. E-mails are not secure and cannot be guaranteed to 
be error free as they can be intercepted, amended, lost or destroyed, or 
contain viruses. You are deemed to have accepted these risks if you communicate 
with us by e-mail. 


Reply via email to