Mark A. Stevens wrote:
>
> I'm lost (again). I've been able to get VMTAPE and ADSM to play when
> mounting a scratch tape for use, but mounting a used tape escapes me.
> This is what I've been using:
>
> /***********************************************************************
> * ADSTAR Distributed Storage Manager *
> * *
> * Licensed Materials - Property of IBM *
> * *
> * 5648-020 (C) Copyright IBM Corporation 1990, 1993. *
> * All rights reserved. *
> * *
> * Refer to Copyright Instructions. *
> ***********************************************************************/
> Trace Off
> Address Command
>
> /* ---------------------------------------- */
> /* Get parameter list. */
> /* ---------------------------------------- */
> Arg serverName mountWait requestNum devType volName ,
> serverVaddr mountMode format stgPoolName .
>
> myVaddr = 181
> rc = 0
> /* ---------------------------------------- */
> /* Setup mount options. */
> /* ---------------------------------------- */
> If devType = 'CARTRIDGE' Then Do
> den = '18TR'
> If mountMode = 'R/W' Then
> ring = 'WRITE'
> Else
> ring = 'READ'
> End
> Else Do
> den = 'DEN 6250'
> If mountMode = 'R/W' Then
> ring = 'RING'
> Else
> ring = 'NORING'
> End
>
> /* ---------------------------------------- */
> /* Issue appropriate command to give the */
> /* server the drive at the correct address. */
> /* ---------------------------------------- */
> 'VMTAPE MOUNT' volName myVaddr '(WAIT LABEL SL' ring den
>
> /* ---------------------------------------- */
> /* Cancel mount if return code not zero. */
> /* (Logging off will cancel the mount.) */
> /* ---------------------------------------- */
> If rc ,= 0 Then Do
> 'CP MSG OPERATOR VMTAPE MOUNT' VOLNAME MYVADDR '(WAIT LABEL SL',
> ring den 'FAILED ON ADSM MOUNT MACHINE'
> 'CP LOGOFF'
> End
>
> /* ---------------------------------------- */
> /* Find the real address of the tape drive. */
> /* ---------------------------------------- */
> 'EXECIO 1 CP ( LIFO STRING QUERY VIRTUAL' myVaddr
> If rc ,= 0 Then Do
> 'CP MSG OPERATOR ERROR FINDING REAL ADDRESS ON TAPE MOUNT MACHINE'
> 'CP LOGOFF'
> End
> Pull . . . . raddr .
>
> 'CP DETACH' raddr '* LEAVE'
> 'CP ATTACH' raddr serverName serverVaddr
>
> /* ---------------------------------------- */
> /* Stack a Logoff command and exit. */
> /* ---------------------------------------- */
> Push 'CP LOGOFF'
> Exit 0
>
> When DSMSERV calls for a tape, DSMTAPE is started, but never generates
> a mount request for an existing tape. Does anyone have a clue what I
> should read/do to get this fixed?
>
> Mark A. Stevens Phone: 708-235-2204
> Systems Programmer Internet: xmas AT uxa.ecn.bgu DOT
> edu
> Educational Computing Network BITNET: [email protected]
> Board of Governors Universities VMSHARE: ECE/MARK
I think your problem might be with the VMTAPE AUTHORIZ statments in VMTAPE
CONFIG. I'm using the default MOUNT
EXIT machine IDs DSMEXIT1-4.
Here is an example of my AUTHORIZ statments:
AUTHORIZ ALLOCATE MAINT* DSMEXIT*
AUTHORIZ ANYTAPE MAINT* DSMEXIT*
AUTHORIZ ANYUSER MAINT* DSMEXIT*
AUTHORIZ BLPUSE MAINT* DSMEXIT*
AUTHORIZ MOUNTFOR MAINT* DSMEXIT*
AUTHORIZ NOMAXRET MAINT* DSMEXIT*
AUTHORIZ OPERATOR MAINT* DSMEXIT*
AUTHORIZ OWNEDBY MAINT* DSMEXIT*
AUTHORIZ PERMRW MAINT* DSMEXIT*
AUTHORIZ REALUNIT MAINT* DSMEXIT*
AUTHORIZ SAVEFOR MAINT* DSMEXIT*
AUTHORIZ TAPELIBR MAINT* DSMEXIT*
Also a copy of my mount EXEC follows:
/* ADSTAR Distributed Storage Manager - Tape Mounting Exit */
Trace o
Address Command
adsm_operator=operator
Arg serverName mountWait requestNum devType volName ,
serverVaddr mountMode format stgPoolName .
mount_phrase=mountMode 'MOUNT of 'volName
mount_rc=0
if volName='SCRTCH' then
do
long_time=time(l)
dsn_suffix=substr(long_time,1,2)
dsn_suffix=dsn_suffix||substr(long_time,4,2)
dsn_suffix=dsn_suffix||substr(long_time,7,2)
dsn_suffix=dsn_suffix||substr(long_time,10,2)
VMTAPE Mount volName serverVaddr ,
DSN ADSM userid() date(s) dsn_suffix ,
'('AnyTape For serverName SaveFor serverName ,
Perm XF Ring NoQueue Wait Name RMT_LSM
mount_rc=rc
mount_phrase='SCRATCH MOUNT'
if Mount_rc,=0 then
call mount_error
else
nop
end
else
if mountMode='R/W' then
do
VMTAPE Mount volName serverVaddr ,
'('AnyTape For serverName SaveFor serverName ,
Perm XF Ring NoQueue Wait Name RMT_LSM
mount_rc=rc
if mount_rc,=0 then
call mount_error
else
nop
end
else
do
VMTAPE Mount volName serverVaddr ,
'('AnyTape For serverName SaveFor serverName ,
NoRing NoQueue Wait Name RMT_LSM
mount_rc=rc
if mount_rc,=0 then
call mount_error
else
nop
end
Push 'CP LOGOFF'
Exit mount_rc
mount_error:
cp msg adsm_operator 'An ADSM/VMTAPE 'mount_phrase' FAILED with RC='mount_rc'
return
Hope this helps.
--
Regards,
Regards,
Bruce Braase
Phone: (303) 673-7299
E-Mail: bruce_braase AT stortek DOT com
S-Mail: MS 4152
2270 South 88th Street
Louisville
Colorado
80028-4152
|