Patch Name: PHKL_14763 Patch Description: s700_800 11.00 JFS extended map inodes cause fsck failure Creation Date: 98/04/13 Post Date: 98/05/13 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: No (superseded patches were critical) PHKL_13202: CORRUPTION Category Tags: defect_repair general_release critical corruption Path Name: /hp-ux_patches/s700_800/11.X/PHKL_14763 Symptoms: PHKL_14763: The previous patch has been recut to include compile-based performance tuning. There is no functional change in this patch. PHKL_13202: While running under heavy stress tests with reorg set, fsck failed because the iemap on disk was incorrect. Below is the output of fsck (\ indicates a continued line). diagck: number of output lines != number of lines in \ input pattern ---EXPECTED--- pass0 - checking structural files pass1 - checking inode sanity and blocks pass2 - checking directory linkage pass3 - checking reference counts pass4 - checking resource maps OK to clear log? (ynq)n sanity checks/updates have not been completed - restart? \ (ynq)n ---GOT--- pass0 - checking structural files pass1 - checking inode sanity and blocks pass2 - checking directory linkage pass3 - checking reference counts pass4 - checking resource mapsmaps fileset 999 au 0 iemap incorrect - fix (ynq)n sanity checks/updates have not been completed - restart? \ (ynq)n fileset 999 iau 0 summary incorrect - fix? (ynq)n fileset 999 iau 1 summary incorrect - fix? (ynq)n OK to clear log? (ynq)n sanity checks/updates have not been completed - restart? \ (ynq)n bin/testit : Failed to full fsck cleanly On Looking at the disk iemap was in byte 844 from the start of iemap and the value was 0x20. None of the inodes in that range had eopflags set on them. This occured pretty early this time in 3rd cycle itself and stress tests had run for just 3 hours. Defect Description: PHKL_14763: None PHKL_13202: This bug is due to vx_imapclone not handling iemaps correctly. In that code path where we are undoing the transactions on the cloned buffer, we have a check where we don't perform any undo if the type is not VX_IACLR. For imaps, this is the correct thing to do, but for iemaps we should turn off the bit already set by the transaction. Since we don't turn off this bit, it gets pushed to disk as part of clonning of the bitmap, and hence, we see the problem. SR: 4701374546 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_ialloc.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_ialloc.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_ialloc.o): vx_ialloc.c $Date: 1998/04/08 14:39:16 $Revision: r1 1ros/2 PATCH_11.00 (PHKL_14763) JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: /usr/conf/lib/libvxfs_base.a(vx_ialloc.o): vx_ialloc.c $Date: 1998/04/08 14:39:16 $Revision: r1 1ros/2 PATCH_11.00 (PHKL_14763) cksum(1) Output: JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_32,v=HP: 1538274972 10464 /usr/conf/lib/libvxfs_base.a(vx_ialloc.o) JournalFS.VXFS-BASE-KRN,fr=B.11.00,fa=HP-UX_B.11.00_64,v=HP: 57227199 21224 /usr/conf/lib/libvxfs_base.a(vx_ialloc.o) Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHKL_13202 Equivalent Patches: None 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_14763 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHKL_14763.depot By default swinstall will archive the original software in /var/adm/sw/save/PHKL_14763. 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_14763.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_14763.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHKL_14763.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHKL_14763.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None