|
NAME : HCPVDIBK
DESCRIPTION: VDISK data BlocK (Guest Relocation)
DSECT : VDIBK
VDIVLT
FUNCTION : The VDIBK DSECT is used during Live Guest Relocation
to accumulate a list of migratable VDISKs and their
associated ASCBK addresses.
The VDIVLT DSECT maps a table locating all VDIBKs used
in the current relocation.
LOCATED BY : The DSECTS within this block are pointed to by
following fields in HCPRLOBK:
RLOVDIFP - Points to first VDIBK in VDIBK chain
RLOVDILP - Points to last VDIBK in VDIBK chain
RLOVLTBL - Points to the VDISK location table
(VDIVLT)
VDIARNXT - Points to the next VDIBK in the chain,
or zero if we're at the end of the chain
CREATED BY : - On the source system: The VDIBK is created/updated by
the VDISK Array routine (HCPRLLVA). This routine is
called during I/O eligibility checking.
VDIVLT is created by the Generate VDIBK Table,
HCPRLLGT. This is called by source eligibility
checking (HCPRLLSE).
- On the destination system: The VDIBK is received over
ISFC by destination eligibility checking (HCPRLLDE),
which anchors it into the RLOBK on the destination.
VDIVLT is created by HCPRLLGT, which is called by
HCPRLLDE as it processes the VDIBKs sent over ISFC
from the source system.
DELETED BY : HCPRLNCU - LGR cleanup routine (source)
HCPRLNCT - LGR cleanup routine (target)
REFERENCES : None
SERIALIZED : RLOVDILK
There is a risk of STMGT LGR cleanup and destination
I/O device creation running at the same time. As both
access the VDIBK, the RLOVDILK lock was created to
serialize all fields related to relocating VDISKs. This
is a standard shared/exclusive lock.
Furthermore, these DSECTs are *not* covered under the
VDEV lock as changes to the VDISK configuration are not
supported during a relocation; a DEFINE or DETACH VDISK
command will fail a relocation in progress.
RELOCATION CONSIDERATIONS : This block is sent from the source to the destination
system.
NOTES :
On the destination system, flag VDIDNXIT is used to
coordinate address space cleanup when a relocation is
terminated prematurely. If the bit is set, then I/O
relocation has created the VDISK as part of the
relocating guest's I/O configuration. As such, the
VDISK address space will be cleaned up when the
relocation skeleton goes through logoff processing. If
VDIDNXIT is not set, then relocation cleanup (HCPRLNCT)
will destroy the VDISK address space.
For a description of how the VDIVLT can be used to find
a VDIBK during a relocation, see fields VPAAIDOF and
VPAAIDIN in the VPABK.
| |