Patch-ID# 104708-21 Keywords: ssd pln sd_uselabel pln_private pln_attach ssa_disk ssafirmware Synopsis: SunOS 5.5.1: ssd, pln, soc, ssaadm and ssafirmware patch Date: Apr/20/2001 Solaris Release: 2.5.1 SunOS Release: 5.5.1 Unbundled Product: Unbundled Release: Xref: Topic: SunOS 5.5.1: ssd, pln, soc, ssaadm and ssafirmware patch NOTE: Refer to Special Install Instructions section for IMPORTANT specific information on this patch. Relevant Architectures: sparc 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 4111066 4128002 4133135 4155865 4204491 4236399 4246223 4305886 4318776 4384992 4397494 Changes incorporated in this version: 4384992 4397494 Patches accumulated and obsoleted by this patch: 103766-02 104710-01 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: 4384992 A3x00 SCSI controller NOT_READY up to 111 secs after a Bus Reset 4397494 Add the following drives to ssd_disk_table (from 104708-20) 4305886 sol251, oracle server on PDB got forced abort by SSA offline/online repeating. (from 104708-19) 4318776 need to support current and future fcal drives (from 104708-18) 4236399 A3500 LUNs go offline without warning (from 104708-17) 4246223 ssd/sd: Add Product String for new Seagate and Fujitsu Fibre Channel/Scsi (from 104708-16) 4155865 ssd: 22 drive photon sees timeouts/transport errors with heavy IOs. 4204491 ssd: Add Product String for 18G Seagate FC Drives (from 104708-15) 4133135 pln_ctlr_ioctl panics system when an USCSI command is issued from kernel space (from 104708-14) 4128002 DR Detach fails with disks under Veritas control (layered open > 0) (from 104708-13) 4111066 ssd: sd: bp_resid gets incorrect value while recovery for the "Soft Error" cases (from 104708-12) 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 (from 103766-02) Bugfixes found in patch 103766-02 and 103766-01 are now merged into this patchbaseid. (from 103766-01) Bugfixes found in patch 103766-02 and 103766-01 are now merged into this patchbaseid. 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: ----------------------------- NOTE: To get the complete fix for 4128002 (DR Detach fails with disks under Veritas control (layered open > 0)), one needs to install the /kernel/drv/sd patch, 103622-12 (or newer). 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 b) Disable the SSA fastwrite capability: # /usr/sbin/ssaadm fast_write -sd 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 c) Unmount any filesystems residing on the SSA disks. d) Stop all Veritas Volume manager (VxVA) volumes and/or Solistice 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 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. NOTE1: To get the complete fix for 4236399 (A3500 LUNs go offline without warning), one needs to install the /kernel/drv/sd patch, 103622-15 (or newer). Reboot the system after patch installation. README -- Last modified date: Friday, April 20, 2001