Patch Name: PHKL_8953 Patch Description: s700 10.20 VXFS stopped processing I/O, processes hang Creation Date: 96/10/17 Post Date: 96/11/20 Hardware Platforms - OS Releases: s700: 10.20 Products: N/A Filesets: OS-Core.CORE-KRN Automatic Reboot?: Yes Status: General Superseded Critical: Yes PHKL_8953: HANG PHKL_8331: CORRUPTION Path Name: /hp-ux_patches/s700/10.X/PHKL_8953 Symptoms: PHKL_8953: The K400 4-way suddenly stopped to work. The user heavily accessed vxfs snapshot filesystem and have done sync's in parallel. We TOC'ed the system. PHKL_8331: Data loss with UFS files using fragments. Defect Description: PHKL_8953: The problem is caused by a defect in getnewbuf procedure in vfs_bio.c file. When Vxfs calls getnewbuf() to acquire a buffer, it passes BX_NONBLOCK in bxflags to avoid potential deadlock. However, the getnewbuf() proceeds to call bwrite() to flush the buffer without checking the bxflags when it finds a B_DELWRI buffer. This causes Vxfs with snapshot to hang. The fix for this defect is to make fix for getnewbuf() in file vfs_bio.c. When getnewbuf() ends up grabbing a DELWRI buffer with BX_NONBLOCK, it will release the buffer and return NULL instead of flushing and returning the buffer. PHKL_8331: There was a code path where dirty buffers could possibly be dropped (not flushed) when extending UFS files using fragments. SR: 1653166496 4701327338 4701333419 Patch Files: /usr/conf/lib/libhp-ux.a(vfs_bio.o) /usr/conf/lib/libufs.a(ufs_alloc.o) what(1) Output: /usr/conf/lib/libhp-ux.a(vfs_bio.o): vfs_bio.c $Date: 96/10/20 14:15:32 $ $Revision: 1.2 6.98.15 $ PATCH_10.20 (PHKL_8953) /usr/conf/lib/libufs.a(ufs_alloc.o): ufs_alloc.c $Date: 96/08/20 14:18:16 $ $Revision: 1 .38.98.7 $ PATCH_10.20 (PHKL_8331) cksum(1) Output: 1465121610 28360 /usr/conf/lib/libhp-ux.a(vfs_bio.o) 3255850541 17616 /usr/conf/lib/libufs.a(ufs_alloc.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_8331 Equivalent Patches: PHKL_8954: s800: 10.20 Patch Package Size: 100 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_8953 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHKL_8953.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_8953.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_8953. 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_8953.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_8953.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None