Patch Name: PHKL_21766 Patch Description: s700_800 11.00 Correct panics when using quotas on HFS Creation Date: 00/06/01 Post Date: 00/06/06 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_21766: PANIC PHKL_18799: PANIC Category Tags: defect_repair general_release critical panic Path Name: /hp-ux_patches/s700_800/11.X/PHKL_21766 Symptoms: PHKL_21766: ( SR: 5003467506 DTS: JAGab25294 ) The system panics with a a data page fault panic in getdiskquota when using sendmail. Kernel Stack trace: panic+0x10 getdiskquota+0x114 getinoquota+0xf0 in_get+0x37c iget+0x14 dirlook_loop+0x3ac dirlook+0xc4 sdo_lookup+0x64 ufs_lookup+0x24 locallookuppn+0x864 lookuppn+0xdc lookupname+0x30 stat1+0x34 stat+0x14 syscall+0x1a4 $syscallrtn+0x0 PHKL_18799: ( SR: 5003415380 DTS: JAGaa09972 ) Getting persistent panics in diskquota code when executing sendmail commands. Kernel Stack trace: panic+0x0010 getdiskquota+0x01dc getinoquota+0x00c8 in_get+0x0208 iget+0x0014 dirlook_loop+0x0368 dirlook+0x00c8 sdo_lookup+0x0068 ufs_lookup+0x0024 locallookuppn+0x00f8 lookuppn+0x00d8 lookupname+0x0030 stat1+0x002c stat+0x0010 syscall+0x01f4 Defect Description: PHKL_21766: ( SR: 5003467506 DTS: JAGab25294 ) The fix delivered in patch PHKL_18799 closed one of the possible problems with disk quotas where a quota entry may be on the freelist, but still needs to be written to disk. A race condition would occur as the quota entry was being updated, but another process would remove it from the freelist. However, there were 2 other routines where this problem could also occur. Resolution: The resolution was to take the fix from PHKL_18799, which was applied to the quota sync routine, and apply it to the other 2 routines as well. The fix is that if a quota entry is on the free list, marked as needing to be written out to disk, then it is removed from the freelist before it is written out, and then placed back on the freelist afterwards. PHKL_18799: ( SR: 5003415380 DTS: JAGaa09972 ) Getting persistent panics in diskquota code when executing sendmail commands. e.g. sendmail -bd -q30m
Then PANIC occurs only with a combination of SCSI I/O issues and the sendmail command execution. There is no easy way of re-creating the defect. Resolution: Handle the freelist properly so that a quota entry is not accessed from the free list when the quota count is zero. SR: 5003415380 5003467506 8606101502 Patch Files: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libhp-ux.a(quot_scall.o) /usr/conf/lib/libhp-ux.a(quota.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(quot_scall.o) /usr/conf/lib/libhp-ux.a(quota.o) what(1) Output: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libhp-ux.a(quot_scall.o): quot_scall.c $Date: 2000/05/26 07:37:23 $Revision: r 11ros/3 PATCH_11.00 (PHKL_21766) /usr/conf/lib/libhp-ux.a(quota.o): quota.c $Date: 2000/05/26 07:37:23 $Revision: r11ros /1 PATCH_11.00 (PHKL_21766) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libhp-ux.a(quot_scall.o): quot_scall.c $Date: 2000/05/26 07:37:23 $Revision: r 11ros/3 PATCH_11.00 (PHKL_21766) /usr/conf/lib/libhp-ux.a(quota.o): quota.c $Date: 2000/05/26 07:37:23 $Revision: r11ros /1 PATCH_11.00 (PHKL_21766) cksum(1) Output: OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 1449215600 6260 /usr/conf/lib/libhp-ux.a(quot_scall.o) 2587743146 5348 /usr/conf/lib/libhp-ux.a(quota.o) OS-Core.CORE2-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 1043575353 13824 /usr/conf/lib/libhp-ux.a(quot_scall.o) 4233326717 12432 /usr/conf/lib/libhp-ux.a(quota.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_18799 Equivalent Patches: PHKL_19235: s700: 10.20 PHKL_19236: s800: 10.20 Patch Package Size: 60 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_21766 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_21766.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_21766. 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_21766.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_21766.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_21766.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_21766.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None