Patch-ID# 104708-12
Keywords: ssd pln sd_uselabel pln_private pln_attach ssa_disk ssafirmware ssaadm
Synopsis: SunOS 5.5.1: ssd, pln, soc, ssaadm and ssafirmware patch
Date: Feb/25/98

Solaris Release: 2.5.1

SunOS Release: 5.5.1

Unbundled Product: 

Unbundled Release: 

Topic: SunOS 5.5.1: ssd, pln, soc, ssaadm and ssafirmware patch

BugId's fixed with this patch: 1184878 1189853 1190977 1208892 1220596 1223140 1223884 1234710 1238425 1241003 1242664 1243658 1246302 1247175 1248015 1249597 1253752 1257125 1260753 1261305 1262768 1263633 1263860 1263893 1267348 1267361 4005293 4006384 4007520 4009744 4010805 4011667 4011826 4012074 4013307 4014243 4015226 4022233 4022789 4028542 4040095 4044749 4049905 4057257 4058807 4059100 4060752 4063760 4077919 4079906 4094627 4099645 

Changes incorporated in this version: 4099645

Relevant Architectures: sparc

Patches accumulated and obsoleted by this patch: 104710-01 103766-02 

Patches which conflict with this patch: 

Patches required with this patch: 

Obsoleted by: 

Files included with this patch:

/kernel/drv/pln
/kernel/drv/soc
/kernel/drv/ssd
/kernel/drv/ssd.conf
/usr/include/sys/fc4/fcp.h
/usr/include/sys/scsi/adapters/plnvar.h
/usr/include/sys/scsi/targets/pln_ctlr.h
/usr/include/sys/scsi/targets/ssddef.h
/usr/lib/adb/ssa_disk
/usr/lib/firmware/ssa/ssafirmware
/usr/sbin/ssaadm

Problem Description:

4099645 USCSI_SILENT flag doesn't work in Solaris 2.5.1

(from 104708-11)

4013307 soc waits too long for unused channel on boot up

(from 104708-10)

4094627 sd/ssd: cannot sleep indefinitely holding the mutex, while waiting for resources
4079906 reset of first node of cluster connected to sonoma hangs other node

(from 104708-09)

4077919 Disk reservation causes sibling host to receive ssd_synchronize_cache failed
4022233 SPARCstorage ARRAY suddenly slow down.
4059100 Quantum 4.2 Gbyte does not spin up at power on, ssa1xx hangs because of failed d
4040095 Pluto controller rejects uscsi Log Sense/Select commands
4063760 4.2GB (VK45J05)and 2.1 GB (VK22J05) Quantum disc don't spin up after warm swa
4060752 ssa firmware needs awareness of HDD-download - TUR-timeout/reset can cripple HDD
4005293 system panics with data fault from vol_release_ilock

(from 104708-08)

	This revision was cranked to include a prepatch that will save
	the original kernel/drv/ssd.conf.

(from 104708-07)

1261305 SSA drivers retry 20 times (26mins) when I/O times out - entire mirror hangs

(from 104708-06)

4058807 timeouts running async i/o test: when 2 ports of the HA connected to single IB

(from 104708-05)

4057257 ssd assertion failure: ASSERT(un->un_ocmap.lyropen[i] == 0);

(from 104708-04)

	This patch revision was retracted from the patch database
	due to incorrect bundling of sd driver.

(from 104708-03)

4049905 ssd: changes are needed to 2.5.1 ssd and ssd.conf for photon
1242664 Data corruption when caching enabled on Conner 30540 disk drive
4044749 ssd: ssd_ready_and_valid return value checked incorrectly in ssdstrategy()

(from 104708-02)

	This patch revision was generated to combine 104708-01 and
        104710-01 into one patch.

(from 104708-01)

1184878 sd/ssd driver continues to probe and print Warning messages about bad disks
1189853 pln_attach can crash system on transport error
1208892 ssa/pln drivers display garbled messages on console
1223140 pln: pln_private() function does not return error correctly
1234710 ssd/pln: attach/detach problems
1243658 sd/ssd drivers need to handle command timeout and abort correctly
1246302 sd,ssd: sd_uselabel() function needs to return error if disk label is bad.
1247175 Bad 2.1 drive reset entire SSA in H/A config thus all metadevices were hot spar
1248015 pln driver does not report scsi errors back to the target drivers correctly
1249597 resync scsi drivers with CRAY
1253752 ssdopen in biowait too long causes HA-Oracle node-abort (single-disk failure)
1260753 ssd/sd: improve PFA code
1262768 ssd/sd: panic with program running uscsi command to SSA disk
1263633 pln driver does not do dma_sync for reads using consistent memory
1263893 SSA: ssd will not permit replaced disk to have different geometry.
1267348 ssd max throttle is too high for fibre channel disks
1267361 ssd reserve/release handling needs to be fixed for fibre channel disks
4006384 Transport error: incomplete error after installing ssa fw 3.9
4009744 sd: Multinitator changes to sd need to be put back into 2.5.1 tree
4011667 sd/ssd: Resync 2.6 sd/ssd driver changes to 2.5.1 shwp
4011826 SSA drivers for patch 103766-02 break Detach/Attach for Starfire (sun4u_10000)
4012074 sd allocation of space for uscsi request sense buffer is incorrect
4014243 move header definitions out of sd, ssd, st, into appropriate header files
4015226 sd/ssd : Should allocate space for sense information if ARQ is enabled
4022789 sd/ssd: Drivers return incorrect errno during open disks with bad label.
4028542 sun4u_10000 panics with rpc.rstatd alignment error.

(from 104710-01)

1190977 When a disk tray is removed from a running pluto the led does not note it.
1220596 P200 needs to support Tabasco 8th non-disk target: environmental sensing card
1223884 pluto resets itself when a tray is pulled under heavy load
1238425 Pulling out a tray causes Pluto to lose all disk reservations on that tray
1241003 offline/online looping problem with 3.5 firmware
1257125 patch 103766-01: download 3.7 f/w to pluto cause FW option get lost
1263860 SSA: performance degradation with 3.8 firmware.
4010805 ssaadm -v fc_s_download fails when boot disk target id is 10 or more
4007520 HA 1.2 hangs, does not boot up with mirror disk failure

Patch Installation Instructions: 
-------------------------------- 
Refer to the Install.info file within the patch for instructions on
using the generic 'installpatch' and 'backoutpatch' scripts provided
with each patch.  Any other special or non-generic installation
instructions should be described below.

Special Install Instructions: 
-----------------------------

After installing the patch, here is how one goes about
upgrading the firmware:

1.  Enter the following command to see what the firmware level is
    for each SPARCstorage Array on your system:

# /usr/sbin/ssaadm display controller

        where controller is either the logical controller name
        (given as cX) or the physical path of the controller
        (given as
        /devices/../../SUNW,soc@3,0/SUNW,plnaxxxxxx,xxxxxxxx:ctlr).
        For more information, see the ssaadm.1m man page.

2.  Look at the output for a line similar to the following to find
    the firmware level:

Firmware Rev: 3.xx

3.  Determine if you need to upgrade the firmware.
        If the firmware level produced from the ssaadm command (Step
        2) is lower than 3.12 then you must upgrade your firmware. Go to Step 4.
        If the firmware level produced from the ssaadm command (Step
        2) is the 3.12 or higher then you do not have to read any
        further in these instructions, since your firmware is
        already at the proper level.

4.  If the firmware level produced from the ssaadm command is lower
    than 2.4 you MUST complete the following steps for those SPARCstorage
    Arrays that contain firmware revision lower than 2.4. If the
    firmware is 2.4 or higher you don't need to do step 4 so go to step 5.

a) Enable the SSA fastwrite capability:
#       /usr/sbin/ssaadm fast_write -se <controller>

b) Disable the SSA fastwrite capability:
#       /usr/sbin/ssaadm fast_write -sd <controller>

        where controller is either the logical controller name
        (given as cX) or the physical path of the controller
        (given as
        /devices/../../SUNW,soc@3,0/SUNW,plnaxxxxxx,xxxxxxxx:ctlr).

CAUTION: This operation may take a few minutes to complete.  Do NOT
        interrupt the operation before it is finished or the system
        may not be able to communicate with the SPARCstorage Array.

5. Download the SPARCstorage Array firmware to your SPARCstorage Array.
   If the host is booted off a SSA, the host MUST be rebooted for this
   operation. If the host is being rebooted only the steps 'e' and 'f' below
   need to be executed.

   The following steps must be completed on each SSA to download the firmware
   safely:

a) Stop all I/O activity on the SPARCstorage Array.

b) Perform a sync_data to the SSA:
#       /usr/sbin/ssaadm sync_cache  <controller>

c) Unmount any filesystems residing on the SSA disks.

d) Stop all Veritas Volume manager (VxVA) volumes and/or Solstice Disk Suite
   (SDS) metadevices (if any) running on the SSA. Also insure that ownership
   of any SDS diskset metadevices have been released since an implicit I/O
   stream exists while ownership of a diskset is maintained. Please refer
   to the metaset(1M) manpage for details on taking/releasing ownership
   of disksets.

e) Execute the ssaadm download command to download the new firmware:
#/usr/sbin/ssaadm download -f /usr/lib/firmware/ssa/ssafirmware <controller>
        where controller is either the logical controller name
        (given as cX) or the physical path of the controller
        (given as
        /devices/../../SUNW,soc@3,0/SUNW,plnaxxxxxx,xxxxxxxx:ctlr).

CAUTION: This operation may take a few minutes to complete.  Do NOT
        interrupt the operation before it is finished or the system
        may not be able to communicate with the SPARCstorage Array.

f) The SSA(s) will now need to be reset for the changes to take effect. If the
   host is booted off an SSA then the host MUST be shutdown at this point.

   Reset your SSA(s) by pushing the SYS OK button in the back of the unit(s).
   This causes the SPARCstorage Array to reboot using the new revision
   of firmware.

   If your host boots off an SSA it can now be booted up again.

g) Restart the Veritas Volume manager (VxVA) and/or SDS metadevices and
   reclaim ownership of any SDS diskset metadevices that were relinquished.

h) Remount the filesystems that reside on the SSA disks.

6. The firmware download is now complete. I/O activity on the SPARCstorage
   Array can be restarted.

Reboot the system after patch installation.
