System information
88 Sharing and maintaining SLES 10 SP2 Linux under z/VM
rw_addrs = '01B0 01B1 01B4 01B5 01B6 01B7 01B8'
ro_addrs = '11B0 11B1 11B4 11B5 11B6 11B7 11B8'
/* link target disks R/W */
Do a = 1 to Words(rw_addrs)
addr = Word(rw_addrs,a)
'CP LINK' target addr addr 'MR'
If (rc \= 0) Then Call CleanUp 100+a
End
/* link source disks R/O */
Do a = 1 to Words(ro_addrs)
addr = Word(ro_addrs,a)
'CP LINK' source addr addr 'RR'
If (rc \= 0) Then Call CleanUp 200+a
End
/* copy disks */
Do a = 1 to Words(ro_addrs)
source_addr = Word(ro_addrs,a)
target_addr = Word(rw_addrs,a)
'EXEC COPYMDSK' source_addr target_addr
If (rc \= 0) Then Call CleanUp 300+a
End
/* cleanup */
Call CleanUp 0
/*+------------------------------------------------------------------+*/
CleanUp: Procedure Expose ro_addrs rw_addrs
/*| Detach all disks before exiting |*/
/*| parm 1: Exit code |*/
/*+------------------------------------------------------------------+*/
Parse Arg retVal
Say
Say 'Cleaning up ...'
'CP DETACH' ro_addrs rw_addrs
Exit retVal
/*+------------------------------------------------------------------+*/
CheckLoggedOff: Procedure
/*| Verify that a user ID is logged off |*/
/*| parm 1: User ID to check |*/
/*+------------------------------------------------------------------+*/
Parse arg virt_machine .
'CP QUERY' virt_machine
Select
When (rc = 0) Then Do /* user ID is logged on or disconnected */
Say "Error:" virt_machine "user ID must be logged off"
Exit 2
End
When (rc = 3) Then Do /* user ID does not exist */
Say "Error:" virt_machine "user ID does not exist"
Exit 3
End
When (rc = 45) Then /* user ID is logged off - this is correct */
Return 0
Otherwise Do /* unexpected */
Say "Error:" virt_machine "user ID must exist and be logged off"
Exit 4