Patch Name: PHKL_22170 Patch Description: s700_800 11.00 JFS 3.3 fix mount(2), umount & fs_size probs Creation Date: 00/08/09 Post Date: 00/08/09 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: HP JFS 3.3 Filesets: JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_32,v=HP JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: No (superseded patches were critical) PHKL_22123: HANG Category Tags: defect_repair general_release critical halts_system Path Name: /hp-ux_patches/s700_800/11.X/PHKL_22170 Symptoms: PHKL_22170: ( SR: 8606151867 DTS: JAGad21206 ) Mount(2) system call fails with ENOEXEC, when it is invoked with NULL dataptr and 0 datalen. PHKL_22123: ( SR: 8606124650 CR: JAGac40033 ) VxFS 3.3 may return incorrect filesystem size. Due to this, non-lvm swap can not be configured properly with VxFS 3.3 filesystems on disks of sizes greater than 4GB. ( SR: 8606146240 CR: JAGad15576 ) After performing a lvsplit/lvmerge on a VxFS 3.3 filesystem, the umount hangs. A stack trace of the thread will look like the following: _sleep+0x7b4 sleep_spinunlock+0x74 vx_event_wait+0xf0 vx_delay2+0x64 vx_freeze_active1_common+0x7c vx_freeze_active1+0x34 vx_unmount+0x44 umount_vfs+0x64 umount_root+0x24 umount+0xa4 syscall+0x200 $syscallrtn+0x0 ( SR: 8606151883 CR: JAGad21222 ) VxFS 3.3 may disable filesystems when no further activities on the filesystem could be allowed due to errors. When this happens, a vx_disable error will be logged in syslog/msgbuf. If remote access to such a filesystem is tried (e.g. via NFS), that will cause a later unmount of the filesystem to hang. A stack of the hung umount thread will be similiar to the above stack. Defect Description: PHKL_22170: ( SR: 8606151867 DTS: JAGad21206 ) VxFS 3.3 mount() was expecting a dataptr and non-zero datalen. Resolution: Changed VxFS 3.3 mount() to accept NULL dataptr and 0 datalen. PHKL_22123: ( SR: 8606124650 CR: JAGac40033 ) The current expression calculating filesystem size works only when the block size of the filesystem is 1KB. Resolution: Corrected the expression to return correct size always. ( SR: 8606146240 CR: JAGad15576 ) Filesystem active counts were not handled properly when freezing and thawing the filesystem, leaving non-zero active counts on the filesystem when there were no activities on the filesystem. This caused umount to hang; umount waits for active counts on the filesystem to go down to zero. Resolution: Fixed the VxFS 3.3 freeze/thaw code to make sure that active counts are set/reset correctly. ( SR: 8606151883 CR: JAGad21222 ) Trying to access a disabled VxFS 3.3 filesystem leaves non-zero active counts on the filesystem, which prevents unmounting the filesystem. Resolution: Make sure that the active counts are not changed when a remote access is attempted on a disabled filesystem. SR: 8606124650 8606146240 8606151867 8606151883 Patch Files: JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libvxfs.a(vx33_vfsops.o) JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs.a(vx33_vfsops.o) what(1) Output: JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libvxfs.a(vx33_vfsops.o): vx33_vfsops.c $Date: 2000/08/09 07:06:43 $Revision: r11ros/3 PATCH_11.00 (PHKL_22170) JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs.a(vx33_vfsops.o): vx33_vfsops.c $Date: 2000/08/09 07:06:43 $Revision: r11ros/3 PATCH_11.00 (PHKL_22170) cksum(1) Output: JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_32,v=HP: 2301317868 13816 /usr/conf/lib/libvxfs.a(vx33_vfsops.o) JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_64,v=HP: 3795312181 29096 /usr/conf/lib/libvxfs.a(vx33_vfsops.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_22123 Equivalent Patches: None Patch Package Size: 70 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_22170 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_22170.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_22170. If you do not wish to retain a copy of the original software, use the patch_save_files option: swinstall -x autoreboot=true -x patch_match_target=true \ -x patch_save_files=false -s /tmp/PHKL_22170.depot 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_22170.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_22170.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_22170.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None