Patch Name: PHKL_14852 Patch Description: s700 10.20 PC floppy cumulative patch Creation Date: 98/04/16 Post Date: 98/04/24 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHKL_14852: PANIC PHKL_12431: CORRUPTION PHKL_11910: CORRUPTION PHKL_10768: CORRUPTION Path Name: /hp-ux_patches/s700/10.X/PHKL_14852 Symptoms: PHKL_14852: A kernel panic may occur when writing to the block special file to access the pc floppy. This panic can occur on systems where the processor clock speed is greater than or equal to 200MHZ (C200 and C240 systems). PHKL_12431: Under heavy IO bus load, the pc_floppy may corrupt the last byte in the sector being written. This is a very infrequent condition. The last byte of the sector will have the same value as the preceeding byte. PHKL_11910: Under the right conditions of high interrupt load, the first four bytes of a 512 byte transfer could be corrupted. An unrelated change also increases the number of retries performed on read and write requests. This could help successfully read or write data on marginal or defective media. PHKL_10768: Some writes will fail but will not be reported. This can result in unknown data corruption. These types of failures occur on newer workstations with a high load of I/O processes. PHKL_9011: Geometry problem reports that media with 77 tracks has 80 tracks, but you cannot write to tracks 78, 79, and 80. The data loss with the "dd" command only occurs on newest workstations with extreme load of I/O processes. Defect Description: PHKL_14852: System panics can occur when PHKL_12431 is installed on C200 and C240 systems. These panics occur when a block special device file (/dev/floppy/) is used to write to the pc floppy. The panic messages and situations can vary, but are nearly always related to kernel routines which use file system buffers. PHKL_12431: The floppy disk controller may not report data underrun errors on some writes. When the error is not reported, the data in the sector is corrupted and the error is not reported to the user application. This error only occurs under heavy IO bus loads. The floppy controller may not return the correct number of result bytes on a read. The driver does not catch that error condition. Also the driver may not determine the correct geometry if a read request fails due to a data overrun condition. Improper geometry would result in data being read/written from/to the wrong part of the media. PHKL_11910: The data in the DMA buffer is not flushed from the data cache to memory before the dma engine fetches it. When that happens, the dma engine will fetch incorrect data from memory. This usually results in four bytes of corrupted data. The corrupted data will begin on a 512 byte boundary. An unrelated change increases the number of re-tries for read and write requests to the floppy. PHKL_10768: The write corruption occurs on PC floppy media during heavy I/O load. The problem occurs when the floppy disk controller (FDC) encounters a data underrun when writing to the floppy disk. The problem does not occur on every data under-run condition and is usually only seen under heavy system load and newer workstations with fast processors. PHKL_9011: Using floppy media with 77 tracks, the ioctl commands will report 80 tracks, but you cannot write to the last tracks. The write corruption occurs on PC floppy media during loop of dd commands and pdc_model calls under heavy I/O load. The problem occurs when the floppy-disk-controller (FDC) enters unknown state during high numbers of interrupts. Problem only found under extreme load conditions on newer workstations with very fast processors. SR: 1653217463 1653222950 4701354852 4701366740 5003321364 Patch Files: /usr/conf/lib/libhp-ux.a(pc_fdc.o) /usr/conf/lib/libhp-ux.a(pc_floppy.o) what(1) Output: /usr/conf/lib/libhp-ux.a(pc_fdc.o): pc_fdc.c $Date: 98/04/15 15:16:50 $ $Revision: 1.5.9 8.11 $ PATCH_10.20 (PHKL_14852) /usr/conf/lib/libhp-ux.a(pc_floppy.o): pc_floppy.c $Date: 98/04/15 15:08:39 $ $Revision: 1. 6.98.13 $ PATCH_10.20 (PHKL_14852) cksum(1) Output: 761102662 29820 /usr/conf/lib/libhp-ux.a(pc_fdc.o) 2880277886 25012 /usr/conf/lib/libhp-ux.a(pc_floppy.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_9011 PHKL_10768 PHKL_11910 PHKL_12431 Equivalent Patches: None Patch Package Size: 120 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_14852 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_14852.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHKL_14852.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHKL_14852. 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_14852.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_14852.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None