Patch Name: PHKL_19097 Patch Description: s700 10.20 WSIO SCSI cumulative patch Creation Date: 99/07/02 Post Date: 99/07/16 Repost: 99/08/27 A problem has been identified with the superseding patch PHKL_19130. PHKL_19130 can cause problems with devices in an LVM configuration. PHKL_19097 does not exhibit the same problem, so it is being re-released until a replacement patch is available. Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHKL_19097: PANIC PHKL_18917: HANG PHKL_18390: HANG PHKL_17467: HANG PHKL_16861: HANG PHKL_16926: PANIC Path Name: /hp-ux_patches/s700/10.X/PHKL_19097 Symptoms: PHKL_19097: System panics (Data page Fault) in scsi_start_bus_locked() PHKL_18917: LVM hangs due to I/O requests never being returned by the IO subsystem. The message "Device violation of Contingent Allegiance" is issued to syslog. PHKL_18390: SR:1653300004 DTS: JAGaa47696 (dup of JAGab11155) Slow PVlink failover after installing PHKL_17467. Diskinfo reports back on an unavailable disk. SR:1653300970 DTS:JAGab11365 SR:1653290395 DTS: JAGaa47016 A faulty disk can prevent the LVM mirroring from working. PHKL_17467: I/O failover hang on Fiber Channel PV_link. PHKL_16861: I/O failover hang on Fiber Channel PV_link. PHKL_17639: This patch enables new functionality that is part of the 10.20 ACE (Additional Core Enhancements) Workstation bundle, which adds new I/O drivers to support the B1000, C3000, and J5000 systems. PHKL_16926: SR:5003434118 DTS:JAGaa23967 System panics (Data Page Fault) in scsi_destroy_scb SR:5003429654 DTS:JAGaa40369 System panics in c720_invalid_req_done SR:4701407890 DTS:JAGaa23080 Unexpected Disconnect Messages when using pass through driver Defect Description: PHKL_19097: When sd_open() fails in scsi_lun_open, we goto recover_lck1 which falls through to recover_lp. recover_lp sets lp->ddsw to NULL but fails to set lp->scb_q_nonempty to NULL. This causes a data page fault panic in scsi_start_bus_locked(). This might occur when an open() fails on a busy device. Resolution: Set lp->scb_q_nonempty to NULL in label recover_lp in scsi_lun_open(). PHKL_18917: When the message is issued (typically caused by a bus RESET during contingent allegiance condition (CAC)), the corresponding I/O request is then lost and never returned to the requestor, eventually causing a system hang. Resolution: When a bus RESET happens during a CAC, the c720 driver now insures that all currently active I/O requests are posted as incomplete and scheduled to be retried. PHKL_18390: SR:1653300004 DTS: JAGaa47696 (dup of JAGaa11155) Slow PVlink failover or diskinfo reporting good disk status on an unavailable disk is due to the SCSI INQUIRY command returning cached data instead of sending the command down to the device." Resolution: We now ensure an INQUIRY command will be sent down to the device when the disk becomes nonresponsive. SR:1653300970 DTS:JAGab11365 and SR:1653290395 DTS:JAGaa47016 If a faulty disk sends NOT_READY sense key to SCSI. The current SCSI policy is to retry the request until the disk is ready. This results in a hang IO situation and prevents the LVM mirroring from working. Resolution: LVM-related NOT_READY requests will be treated as nonresponse from the disk and will therefore be failed back for LVM to handle. PHKL_17467: In a hardware configuration, mirrored disks can be accessed through primary/alternate Fiber Channel (FC) links. If the primary link and the alternate link of a disk of the mirrored pairs are down, the other disk should continue to sending or receiving data. The problem is it fails to do so and causes an I/O hang. Resolution: This patch provides fix for this hang problem. The SCSI layer will retry the FC requests as long as the PFTIMEOUT period has not expired and the request is recoverable. PHKL_16861: In a hardware configuration, mirrored disks can be accessed through primary/alternate Fiber Channel (FC) links. If the primary link and the alternate link of a disk of the mirrored pairs are down, the other disk should continue to sending or receiving data. The problem is it fails to do so and causes an I/O hang. This patch will provide a temporary fix for this problem. In this fix, the SCSI layer will retry the FC request as long as the FC sets a flag to ask for retrying the request. PHKL_17639: New functionality to support the B1000, C3000, and J5000 systems on HP-UX 10.20. New functionality adds new I/O drivers. Resolution: Add support for new SCSI hardware in the SCSI driver. PHKL_16926: SR:5003434118 DTS:JAGaa23967 There is a race condition between scsi_lun_open and scsi_start_bus_locked. This can be fixed by incrementing the in_use counter before releasing the lun lock therefore insuring the lun stay open. SR:5003429654 DTS:JAGaa40369 In c720_invalid_req_done, we directly dereference scb->busp without assuring that this scb is a bus scb. The busp pointer is NULL if the scb is a lun scb. Thus, the fix is to add a check to see whether lsp->scb->busp is NULL, if so, obtain the busp from lsp->scb->lp->bus instead. SR:4701407890 DTS:JAGaa23080 When using the pass through driver with the "inhibit Inquiry on open" option (see scsi_ctl(7)) and a device on a SCSI bus with no other devices and repeatedly opening and closing the device to send but a single SCSI command, the bus is sometimes in the wrong state when the target device begins to transfer data. SR: 1653290395 1653300004 1653300970 1653306654 4701398263 4701407668 4701407890 4701414136 5003429654 5003434118 5003464297 Patch Files: /usr/conf/lib/libhp-ux.a(scsi_c720.o) /usr/conf/lib/libhp-ux.a(scsi_ctl.o) /usr/conf/lib/libhp-ux.a(scsi_disk.o) what(1) Output: /usr/conf/lib/libhp-ux.a(scsi_c720.o): scsi_c720.c $Date: 99/06/18 13:25:35 $ $Revision: 1.5.98.41 $ PATCH_10.20 (PHKL_18917) scsi_c720.c $Date: 99/06/18 13:25:35 $ $Revision: 1. 5.98.41 $ /usr/conf/lib/libhp-ux.a(scsi_ctl.o): scsi_ctl.c $Date: 99/07/02 11:21:01 $ $Revision: 1 .9.98.38 $ PATCH_10.20 (PHKL_19097) /usr/conf/lib/libhp-ux.a(scsi_disk.o): scsi_disk.c $Date: 99/04/23 11:00:34 $ $Revision: 1.7.98.33 $ PATCH_10.20 (PHKL_18390) cksum(1) Output: 3432856428 97956 /usr/conf/lib/libhp-ux.a(scsi_c720.o) 223893132 68504 /usr/conf/lib/libhp-ux.a(scsi_ctl.o) 2256118250 19920 /usr/conf/lib/libhp-ux.a(scsi_disk.o) Patch Conflicts: None Patch Dependencies: s700: 10.20: PHKL_16750 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_16861 PHKL_16926 PHKL_17467 PHKL_17639 PHKL_18390 PHKL_18917 Equivalent Patches: PHKL_19098: s800: 10.20 Patch Package Size: 250 KBytes Installation Instructions: Please review all instructions and the Hewlett-Packard SupportLine User Guide or your Hewlett-Packard support terms and conditions for precautions, scope of license, restrictions, and, limitation of liability and warranties, before installing this patch. ------------------------------------------------------------ 1. Back up your system before installing a patch. 2. Login as root. 3. Copy the patch to the /tmp directory. 4. Move to the /tmp directory and unshar the patch: cd /tmp sh PHKL_19097 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_19097.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_19097. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHKL_19097.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_19097.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_16750. For successful installation, please ensure that PHKL_16750 is in the same depot with this patch, or PHKL_16750 is already installed.