Patch Name: PHKL_24082 Patch Description: s700_800 11.00 VxFS 3.3 Fix DMAPI memory leak & NFS hang Creation Date: 01/05/08 Post Date: 01/05/23 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: Yes PHKL_24082: HANG MEMORY_LEAK This patch is needed only if DMAPI applications are used. Category Tags: defect_repair enhancement general_release critical halts_system memory_leak Path Name: /hp-ux_patches/s700_800/11.X/PHKL_24082 Symptoms: PHKL_24082: ( SR: 8606156118 CR: JAGad25429 ) Serious system performance degradation can occur as a result of a memory leak while using DMAPI applications like OmniStorage. The system may hang later, if the problematic code path is invoked many times. ( SR: 8606188893 CR: JAGad58109 ) When using an application that uses the JFS 3.3 DMAPI interactively with NFS, all nfsd daemons may hang and the DMAPI application may fail with ENOSYS. Defect Description: PHKL_24082: ( SR: 8606156118 CR: JAGad25429 ) In the DMAPI code, memory used for a kernel data structure was not freed in kernel. Resolution: Free the memory after its use. ( SR: 8606188893 CR: JAGad58109 ) The nfsd deamons may appear to hang as a result of NFS starvation. This results in DMAPI failing with ENOSYS. The NFS starvation occurs when a nfsd daemon can not process the read request quickly enough. When processing a large file that has been migrated and purged, but has not been cached back, the DM_EJUKEBOX error is returned through the JFS 3.3 DMAPI. If a NFS read request is made on such a file, the nfsd daemon is has to wait to get the file through the DMAPI application. After the client read timeout expires, it re-issues the read request, thereby causing another nfsd daemon to wait for the response from the DMAPI application. The final result is all available nfsd daemons are used up waiting on read events resulting in a state referred to as NFS starvation. Resolution: To prevent NFS starvation, the JFS 3.3 DMAPI implementation was changed to return NFS3ERR_JUKEBOX back to NFS instead of ENOSYS, when the DMAPI detects a DM_EJUKEBOX error. This would cause a NFS response back to the client that would cause that client to go to sleep for additional time before retransmitting the request. Additionally, the nfsd daemon would be go back to sleep waiting for a new request to come. SR: 8606156118 8606188893 Patch Files: JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libvxfs.a(kdm_machdep.o) JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs.a(kdm_machdep.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(kdm_machdep.o): kdm_machdep.c $Date: 2001/05/08 08:17:32 $Revision: r11ros/2 PATCH_11.00 (PHKL_24082) JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs.a(kdm_machdep.o): kdm_machdep.c $Date: 2001/05/08 08:17:32 $Revision: r11ros/2 PATCH_11.00 (PHKL_24082) cksum(1) Output: JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_32,v=HP: 2169034075 6332 /usr/conf/lib/libvxfs.a(kdm_machdep.o) JFS.JFS-BASE2-KRN,fr=3.3,fa=HP-UX_B.11.00_64,v=HP: 4079714537 12992 /usr/conf/lib/libvxfs.a(kdm_machdep.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: None Patch Package Size: 50 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_24082 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_24082.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_24082. 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_24082.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_24082.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_24082.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None