OpenVMS ALPDRIV12_071 Alpha V7.1 - 7.1-1H2 DRDRIVER ECO Summary
TITLE: OpenVMS ALPDRIV12_071 Alpha V7.1 - 7.1-1H2 DRDRIVER ECO Summary
Modification Date: 13-OCT-1999
Modification Type: Updated Kit: Supersedes ALPDRIV09_071
NOTE: An OpenVMS saveset or PCSI installation file is stored
on the Internet in a self-expanding compressed file.
The name of the compressed file will be kit_name-dcx_vaxexe
for OpenVMS VAX or kit_name-dcx_axpexe for OpenVMS Alpha.
Once the file is copied to your system, it can be expanded
by typing RUN compressed_file. The resultant file will
be the OpenVMS saveset or PCSI installation file which
can be used to install the ECO.
Copyright (c) Compaq Computer Corporation 1997, 1999. All rights reserved.
PRODUCT: OpenVMS Alpha
Volume Shadowing
COMPONENT: SWXCR RAID Array Driver (SYS$DRDRIVER.EXE)
SOURCE: Compaq Computer Corporation
ECO INFORMATION:
ECO Kit Name: ALPDRIV12_071
ECO Kits Superseded by This ECO Kit: ALPDRIV09_071
ALPDRIV05_071
ALPDRIV01_071
ALPDRIV04_062
ECO Kit Approximate Size: 288 Blocks
Kit Applies To: OpenVMS Alpha V7.1, V7.1-1H1, V7.1-1H2
System/Cluster Reboot Necessary: Yes
Installation Rating: INSTALL_3
3 - To be installed on all systems running
the listed versions of OpenVMS which
are experiencing the problems described.
Kit Dependencies:
The following remedial kit(s) must be installed BEFORE
installation of this kit:
None
In order to receive all the corrections listed in this
kit, the following remedial kits should also be installed:
None
ECO KIT SUMMARY:
An ECO kit exists for DRDRIVER.EXE on OpenVMS Alpha V7.1 through
V7.1-1H2. This kit addresses the following problems:
Problems Addressed in ALPDRIV12_071:
o The original implementation of DRDRIVER set the DEV$M_NOCLU
bit and cleared the DEV$M_CLU bit in the UCB's devchar2 field
for each logical drive. This was intended to delay cluster
serving of the DRcu: units until the controller-initialization
sequence had correctly determined the device's characteristics
(size, support for forced error, etc.). Once the characteristics
were known and the appropriate UCB fields filled in, the driver
would clear DEV$M_NOCLU and set DEV$M_CLU, then call
scs$disk_mscp_newdev() to arrange for the unit to be cluster-served.
Although the effects of this approach were not well
defined/documented, it worked for several years. Unfortunately,
recent changes to other parts of the system (MOUNT and the XQP
in particular) have broken this approach. These facilities expect
consistency in the NOCLU bit. Customers have been reporting HDRFULL
and BADFID errors that have been traced to this way of handling NOCLU.
The driver now sets CLU and clears NOCLU, as well as all of the
other relevant characteristics in the UCB, before the UCB is
linked into the I/O database. This ensures that a unit is not
cluster-served before its time.
o A mismatch between the command count and the actual number of
commands causes an INVEXCEPTN system crash. The crash
footprint is as follows:
Fatal Bugcheck
Crash Time: 28-MAY-1999 15:37:26.88
Bugcheck Type: INVEXCEPTN, Exception while above ASTDEL
Node: TRDHQ1 (Clustered)
CPU Type: AlphaServer 2100 4/275
VMS Version: V7.1
Current Process: A1 Sender_1
Current Image: DSA0:[ALLIN1.OA$EXE_AXP_SHARE]OA$MAIN.EXE
Failing PC: FFFFFFFF.802537DC SYS$DRDRIVER_NPRO+057DC
Failing PS: 30000000.00000804
Problems Addressed in ALPDRIV09_071:
o This set of changes introduces improvements to DRDRIVER that
are needed to support StorageWorks Command Console, the global
configuration/monitoring system available from Storage.
Problems Addressed in ALPDRIV05_071:
o The ALPDRIV01_071 remedial kit, which applied to V6.2*
and V7.1 is being reissued as two single version kits.
There are no new fixes in this kit. If you have
installed the ALPDRIV01_071 remedial kit you do not
need to install this kit.
Problems Addressed in ALPDRIV01_071:
o Unacceptable shadow-set merge times may occur when the SYS$DRDRIVER
(the SWXCR RAID array driver) is used. The driver sometimes
allocates an insufficient number of DMA mapping registers when
it performs an IO$_WRITECHECK. The effect of this is that
insufficient data is being read into the driver's buffer for the
comparison which causes the comparison to fail.
There are actually two instances of essentially the same
problem. The first is in routine dr_compare(), the second in
dr_diagnose(). Those routines both call dr_allocate_io(),
which (on large-memory systems) allocates map registers based
on the values of irp$l_boff and irp$l_bcnt. These registers
are then used to map, not the user buffer, but a driver-private
buffer (dr->buffer) that is to be the target of the eventual
I/O request. If the page alignment of dr->buffer is such that
the I/O touches an extra page there that it would not have
touched in the user buffer, dr_allocate_io() can end up
allocating one too few map registers, and the resulting DMA
operation fails to transfer the correct amount of data.
In both cases, the driver has been modified to set irp$l_boff
temporarily to the correct value for the driver-private buffer
before the call to dr_allocate_io(). irp$l_boff is then
restored to its original value.
Problems addressed in ALPDRIV04_062 kit
o DRDRIVER (the SWXCR RAID array driver) can hang. This hang
occurs when a shadow copy is in progress between two logical
RAID (DR) drives, and the SWXCR controller is under an
extremely heavy I/O load.
CSC NOTE: The hang might also occur in any process that is
performing I/O. This includes the SWXCR Monitor
and/or manager processes.
This problem is corrected in OpenVMS Alpha V7.0.
INSTALLATION NOTES:
The images in this kit will not take effect until the system is
rebooted. If there are other nodes in the VMScluster, they must
also be rebooted in order to make use of the new image(s).
If it is not possible or convenient to reboot the entire cluster at
this time, a rolling re-boot may be performed.
All trademarks are the property of their respective owners.
This patch can be found at any of these sites:
Colorado Site
Georgia Site
Files on this server are as follows:
alpdriv12_071.README
alpdriv12_071.CHKSUM
alpdriv12_071.CVRLET_TXT
alpdriv12_071.a-dcx_axpexe
alpdriv12_071.CVRLET_TXT
|