Patch Name: PHKL_24011 Patch Description: s700_800 11.00 JFS 3.1 mount,fsck,corruption patch Creation Date: 01/05/03 Post Date: 01/05/11 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP Automatic Reboot?: Yes Status: General Release Critical: Yes PHKL_24011: PANIC PHKL_22719: CORRUPTION PHKL_20927: HANG PHKL_19204: CORRUPTION Category Tags: defect_repair general_release critical panic halts_system corruption Path Name: /hp-ux_patches/s700_800/11.X/PHKL_24011 Symptoms: PHKL_24011: ( SR: 8606186658 CR: JAGad55868 ) Corrupted VxFS filesystem may panic the system. Stack of the panic thread may look like, panic+0x6c report_trap_or_int_and_panic+0x94 trap+0xfe4 nokgdb+0x8 vx_isumpush+0x8 vx_sumpushfset+0xa8 vx_fsetupdate+0x6c vx_sync1+0x54 vx_sync0+0x18 vx_walk_fslist+0x7c vx_sync+0x58 update+0x4c tsync+0x164 syscall+0x750 $syscallrtn+0x0 PHKL_22719: (SR: 8606165629 CR: JAGad34920) A VxFS filesystem with 1K block size can not be extended to or created larger than 128G: # fsadm -F vxfs -b 159000000 /test fsadm: /dev/vg_levity/test is currently 307200 sectors - size will be increased fsadm: attempt to resize /dev/vg_levity/test failed with errno 28 ..... # mount /dev/vg_levity/test /mnt0 vxfs mount: /dev/vg_levity/test is corrupted. needs checking The filesystem can not be mounted even after running fsck PHKL_20927: (SR: 8606124699 CR: JAGac40083 ) Mount process may hang the system if the disk is corrupted. PHKL_19204: ( SR:1653297531 DTS: ) On vxfs filesystems where a particular type of inode corruption occurs, all future mounts of that filesystem fail. In the message buf will be the message: vx_iget - [fs name] file system invalid inode number [#] This message will possibly be repeated many times. Future attempts to mount this file system will fail with either: vxfs mount: [device] is not a vxfs file system or vxfs mount: [device] is corrupted. needs checking At that point, if an fsck is performed the file system can be mounted, but further use of the file system may cause the vx_iget message to occur again, and the file system to again be unmountable. PHKL_17043: ( SR: 4701403733 DTS: JAGaa22063 ) The system may panic with a data page fault when attempting to increase the size of a file on a heavily fragmented vxfs file system. Defect Description: PHKL_24011: ( SR: 8606186658 CR: JAGad55868 ) When a filesystem is corrupted, incore data strucures and data on disk may differ and dereferencing them on a corrupted filesystem may panic the system. Resolution: Cross check whether the incore data and data on disk match so that a filesystem corruption could be detected and the filesystem could be disabled, thus avoiding a system crash. PHKL_22719: (SR: 8606165629 CR: JAGad34920) To reproduce this defect create a filesystem with blocksize of 1K that is at least 128G + 32K, or create a smaller filesystem and extend it beyond this size with "fsadm -b" The problem is in passing an incorrect argument to vx_extmapupd() from vx_olt_sum_upd(). Resolution: Corrected the call to vx_extmapupd(). PHKL_20927: ( SR: 8606124699 CR: JAGac40083 ) vx_olt_ilistcheck() loops if vx_bmap() returns error due to corruption on disks. Resolution: vx_olt_ilistcheck() will return an error, if vx_bmap() returns an error. PHKL_19204: SR: 1653297531 The vxfs kernel was not properly handling sparse IFILT files. This was due to fsh_ninode being incorrectly set in this case, as well as the end of the IFILT list being calculated incorrectly. Resolution: vx_fsetialloc() was updated to properly update fsh_ninode in the case of a sparse IFILT file. vx_olt_ilistadd() was updated to properly find the end of the IFILT list in this case. PHKL_17043: SR: 4701403733 DTS: JAGaa22063 The number of transactions that are needed to increase a file in a heavily fragmented vxfs file system may exceed the maximum number of transactions. This value was not checked in vx_growfile() , and thus a data page fault would occur. Resolution: Added a check to vx_growfile() to monitor the transaction subfunction count through the loop. SR: 1653297531 4701403733 8606124699 8606165629 8606186658 Patch Files: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libvxfs_base.a(vx_fsetsubr.o) /usr/conf/lib/libvxfs_base.a(vx_oltmount.o) JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs_base.a(vx_fsetsubr.o) /usr/conf/lib/libvxfs_base.a(vx_oltmount.o) what(1) Output: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: /usr/conf/lib/libvxfs_base.a(vx_fsetsubr.o): vx_fsetsubr.c $Date: 2001/04/30 12:23:50 $Revision: r11ros/3 PATCH_11.00 (PHKL_24011) /usr/conf/lib/libvxfs_base.a(vx_oltmount.o): vx_oltmount.c $Date: 2000/11/13 12:27:08 $Revision: r11ros/10 PATCH_11.00 (PHKL_22719) JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs_base.a(vx_fsetsubr.o): vx_fsetsubr.c $Date: 2001/04/30 12:23:50 $Revision: r11ros/3 PATCH_11.00 (PHKL_24011) /usr/conf/lib/libvxfs_base.a(vx_oltmount.o): vx_oltmount.c $Date: 2000/11/13 12:27:08 $Revision: r11ros/10 PATCH_11.00 (PHKL_22719) cksum(1) Output: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 1616667214 25888 /usr/conf/lib/libvxfs_base.a(vx_fsetsubr.o) 1995463939 31316 /usr/conf/lib/libvxfs_base.a(vx_oltmount.o) JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 4186953679 51368 /usr/conf/lib/libvxfs_base.a(vx_fsetsubr.o) 1039531002 52296 /usr/conf/lib/libvxfs_base.a(vx_oltmount.o) Patch Conflicts: None Patch Dependencies: s700: 11.00: PHKL_18543 s800: 11.00: PHKL_18543 Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_22719 PHKL_20927 PHKL_19204 PHKL_17043 Equivalent Patches: None Patch Package Size: 200 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_24011 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_24011.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_24011. 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_24011.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_24011.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_24011.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: This patch depends on base patch PHKL_18543. For successful installation please insure that PHKL_18543 is already installed, or that PHKL_18543 is included in the same depot with this patch and PHKL_18543 is selected for installation.