Patch Name: PHKL_26698 Patch Description: s700_800 11.11 umount-mkfs panic; HFS mount/umount perf Creation Date: 02/06/05 Post Date: 02/07/23 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: No (superseded patches were critical) PHKL_23811: PANIC Category Tags: defect_repair enhancement general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHKL_26698 Symptoms: PHKL_26698: ( SR:8606247419 CR:JAGae13857 ) Enhancement: This product update is a member of a set which improve the performance of mount(2) and umount(2). The full list of product updates that address this performance improvement are: PHKL_26239, PHKL_26694, PHKL_26695, PHKL_26698, and PHKL_27211. Each of these product updates may be installed independently of the others. Each provides an incremental performance improvement. PHKL_23811: ( SR:8606174452 CR:JAGad43698 ) This panic could occur when running umount, and mkfs (or fsck) at the same time on a system. q4> examine panicstr using s Data page fault Following is the trace for this problem: Stack trace of event 0: stack trace for event 0 crash event was a panic panic+0x6c report_trap_or_int_and_panic+0x94 trap+0xed4 nokgdb+0x8 bcopy_pcxu_method+0x0 sbupdate+0x180 ufs_sync+0x2bc update+0x4c sync+0x28 syscall+0x204 $syscallrtn+0x0 Defect Description: PHKL_26698: ( SR:8606247419 CR:JAGae13857 ) This product update contains minor changes necessary to improve the performance of umount(2) for HFS filesystem. HFS unnecessarily invalidated buffers in the buffer cache resulting in performance degradation. Resolution: Improve flushing of dirty buffers during umount(2) kernel service processing in HFS. PHKL_23811: ( SR:8606174452 CR:JAGad43698 ) The panic is due to a race between two threads one running unmount() and other mkfs(). The unmount() thread proceeds after verifying that no one is referencing the filesystem. Another thread running mkfs() is unaware that the filesystem is being unmounted, proceeds to update its superblock data using sbupdate(). The unmount() thread which is slightly ahead in the race frees up the filesystem structure and removes it from the mounthash list. When the thread running mkfs() tries to reference the freed up filesystem structure, data page fault occurs. Resolution: Enforce locks when referencing mount and filesystem data structures in unmount()'s execution path. Also when ufs_sync is called to update superblock data for all filesystems it should ignore the ones that are in the process of being unmounted. SR: 8606174452 8606247419 Patch Files: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libufs.a(ufs_vfsops.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libufs.a(ufs_vfsops.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: /usr/conf/lib/libufs.a(ufs_vfsops.o): ufs_vfsops.c $Date: 2002/03/14 12:49:49 $Revision: r 11.11/2 PATCH_11.11 (PHKL_26698) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: /usr/conf/lib/libufs.a(ufs_vfsops.o): ufs_vfsops.c $Date: 2002/03/14 12:49:49 $Revision: r 11.11/2 PATCH_11.11 (PHKL_26698) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_32,v=HP: 2037857288 24076 /usr/conf/lib/libufs.a(ufs_vfsops.o) OS-Core.CORE2-KRN,fr=B.11.11,fa=HP-UX_B.11.11_64,v=HP: 2492997862 57280 /usr/conf/lib/libufs.a(ufs_vfsops.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_23811 Equivalent Patches: None Patch Package Size: 110 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_26698 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_26698.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_26698. If you do not wish to retain a copy of the original software, include the patch_save_files option in the swinstall command above: -x patch_save_files=false WARNING: If patch_save_files is false when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. For future reference, the contents of the PHKL_26698.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_26698.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_26698.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None