IOBLOK .-> rr--------.. I I IOBLINK 1 1----1 1 1 1 I 1 I Mini IOBLOK Mini IOBLOK 1 1 1 I 1 I 1 1 1 L->I I -1--->1 1 -1--. , , 1----+--1 1--+--1 I I 1 I I 1 I 1 --I l J I 1 V IOBFPNT I V IOBBPNT I I I I I I Figure 17. Mini IOBLOK Queuing RCUBLOK1 RCUBLOK2 I 1 I 1 I I I I 1---1 1---1 RCUFIOB 1 IRCULIOB r--I 1->IOBLOK3 .---1 1-->IOBLOK2 I 1 1 I I 1 I 1 I I I 1 1 1 I I' , I' , 1 1 I 1 1 MINI IOBLOK1 1 IOBLOK --->. I 1 ---.> I 1 1 1 1--------> 1 1->IOBLOK1 1-"'-1 III IOBFPNT 1 1 1 IOBBPNT l----fo-I r--I '1 1-->RCOBLOK1 I 1 1->RCUBLOK2 I I! " IOBLOK2 1 I i 1 IOBLOK3 I I 1 1 1 1 1-+-1 1 1 1 1 1 RCUBLOK2 1-"-1 RCUBLOK1<--1 I 1->IOBLOK1 <-I 1--. 1 1 1-+-1 I 1 1 1 1 1 " " 1 1 1 V MINI IOBLOK Figure 18. Control Block Structure for Alternate Path Request
CP Introduction 1-93
Prior to starting an I/O operation associated with the request, a
check is made to see if the IOBLOK is a mini IOBLOK and whether aini IOBLOKs are queued off this IOBLOK. All mini IOBLOKs associated with this request are dequeued froa their respective queues by running the IOBLINK chain. The storage for the blocks is released. If the active IOBLOK is a mini IOBLOK, the IOBRADD fro. the aini IOBLOK is aoved to
the priaary IOBLOK and the I/O started using the priaary IOBLOK. Once the storage for the aini IOBLOKs has been released and the SIO initiated, any busy condition encountered causes the IOBLOK to be queued
on this same path. That is, there will be no alternate path scheduling
after the SIO if a busy condition is encountered. The I/O request will
be restarted on the same path as the original request.
Reserve/release is supported for shared DASD as though each virtual
aachine has a separate channel path to a shared device. Reservejrelease support prevents the occurrence of a channel lockout situation. This is
accomplished by changing reserve CCWs to sense CCWs when a reserve is
issued to a device that has alternate paths defined to it. This aeans
that whenever alternate paths are defined to a device, the real reserve
does not execute on the hardware. Reserve/release support is implemented in Vft/310 on a virtual basis allowing the reservejrelease operation codes to be simulated on a virtual basis for ainidisks,
including full-extent ainidisks. When a reserve is issued against a
ainidisk, the reserve is accomplished by a locking aechanisa. The status
of the minidisk is aaintained in the VRRBLOK that is chained fro. the VDEVBLOK. The following matrix identifies how the reserve operation code is
handled in the various situations. I I Virtual
will Reserve/I Reserve/ RESERVE1 Defined Release Release
Alternate Execute Requested --or --
Paths to on the for
Device Hardware !inidisks SENSE2 Dedicated NO N/A N/A RESERVE DASD or
Tape YES N/l N/A SENSE Minidisk NO NO NO RESERVE NO NO YES SENSE NO YES NO RESERVE NO YES YES RESERVE J YES N/A N/A SENSE IThe 'RESERVE' keyword in the chart indicates that the
real reserve is allowed to execute on the hardware.
2The SENSE keyword indicates that the reserve CCW is
changed to a sense CCW. Virtual Reserve/Release is
requested by means of a new option on the ftDISK directory
control state.ent.
1-94 IBM VM/310 System Logic and Problem Determination--Voluae 1
Previous Page Next Page