Patch Name: PHCO_29926 Patch Description: s700_800 11.11 fsck_vxfs sync switch;invalid sparse inode Creation Date: 03/10/29 Post Date: 03/11/11 Hardware Platforms - OS Releases: s700: 11.11 s800: 11.11 Products: N/A Filesets: JFS.JFS-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP JFS.VXFS-BASE-RUN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHCO_29926: ABORT PHCO_24813: CORRUPTION Two consecutive invocations of fsck_vxfs(1M) can result in a directory corruption. Category Tags: defect_repair enhancement general_release critical halts_system corruption manual_dependencies Path Name: /hp-ux_patches/s700_800/11.X/PHCO_29926 Symptoms: PHCO_29926: ( SR:8606315904 CR:JAGae78626 ) fsck_vxfs dumps core after an extendfs operation failed, leaving the filesystem in an inconsistent state. It core dumps with the following error message: # /sbin/fs/vxfs/fsck -o full -y /dev/vgXX/lvolA log replay in progress Bus error(coredump) ( SR:8606318717 CR:JAGae81207 ) When the -p option is used with fsck on a vxfs filesystem where the full path logical volume name is more than 62 characters the command fails with error messages: "iput internal error" or "iget_insert internal error". ( SR:8606324571 CR:JAGae86877 ) fsck_vxfs fails with the following error messages when run on filesystems having more than 8 million inodes: fsck error: fileset 1 primary-ilist inode 65 has invalid size. #fsck -F vxfs /dev/vg01/lvol2 fileset 1 primary-ilist inode 65 has invalid size fileset 1 primary-ilist inode 97 has invalid size PHCO_28796: ( SR:8606293392 CR:JAGae57142 ) fsck(1) reports a file/directory to be sparse, even when it is not sparse. The following errors are reported when performing a full fsck: #fsck -o full -F vxfs /dev/vgXX/lvolYY pass0 - checking structural files pass1 - checking inode sanity and blocks fileset 999 primary-ilist inode 1234 invalid sparse inode fileset 999 primary-ilist inode 1234 failed validation clear? (ynq) Responding "y" to clear the inode will result in the inode being removed and in potential loss of data. PHCO_26700: ( SR:8606247419 CR:JAGae13857 ) fsck(1M) performance slow on large systems. PHCO_24813: ( SR:8606187986 CR:JAGad57194 ) If fsck_vxfs(1M) is run twice in a row in log reply mode it may corrupt the directory entries. A full fsck will be required, and the lost data should be manually restored from lost+found to recover. Defect Description: PHCO_29926: ( SR:8606315904 CR:JAGae78626 ) The failed extendfs operation cleared the state AU file, inode 32 in the structural fileset. There is no check in fsck for invalid size of this inode and hence dumps core. Resolution: Add a check for the invalid size of the state AU file of the file system in fsck code. ( SR:8606318717 CR:JAGae81207 ) Array overflow is happening in fsck. As this array is static, the data segment is getting corrupted and hence the errors. Resolution: The size of the static array has been extended to an appropriate value to fix this problem. ( SR:8606324571 CR:JAGae86877 ) fsck_vxfs(1M) fails when the size of inode list file for the structural fileset grows beyond 2 GB, in other words, the filesystem has >8 million inodes and the largefiles flag is not set on the structural fileset. Resolution: An extra condition has been added to check if the file is inode list file for the structural fileset, if the fileset isn't NULL and if the features flag for the unnamed fileset is enabled for largefiles. This patch expects that the features flag for the unnamed fileset to be set for largefiles. If not set, then the errors reported in symptoms will appear. In such a scenario, setting the features flag on the unnamed fileset will solve the problem. This can be done by using: fsadm -F vxfs -o largefiles /dev/vgXX/rlvolX PHCO_28796: ( SR:8606293392 CR:JAGae57142 ) The file/directory reported as an invalid sparse inode is not actually sparse. fsck(1) is analyzing a file which may have a split indirect block but it erroneously reports the file to be sparse. Resolution: fsck(1) is corrected to account for split indirect blocks. PHCO_26700: ( SR:8606247419 CR:JAGae13857 ) fsck(1M) always does sync(2) causing performance degradation on systems with large buffer cache. Resolution: add "-s" switch to fsck(1M) to suppress sync(2) call. PHCO_24813: ( SR:8606187986 CR:JAGad57194 ) In reply mode fsck_vxfs attempts to optimize the directory structure. It moves the entries towards the beginning of a list, if there is room. If interrupted and restarted again in a log reply mode it will not be aware of the moved entries, and will try to write to the old locations of the moved directories, as per the intent log. Resolution: Directory optimization during the log reply is removed from fsck_vxfs(1M). Enhancement: No (superseded patches contained enhancements) PHCO_28796: Enhancements were delivered in a patch this one has superseded. Please review the Defect Description text for more information. SR: 8606187986 8606247419 8606293392 8606315904 8606318717 8606324571 Patch Files: JFS.JFS-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/share/man/man1m.Z/fsck_vxfs.1m JFS.VXFS-BASE-RUN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /sbin/fs/vxfs/fsck what(1) Output: JFS.JFS-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /usr/share/man/man1m.Z/fsck_vxfs.1m: None JFS.VXFS-BASE-RUN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: /sbin/fs/vxfs/fsck: bmap.c $Date: 2003/03/03 01:22:04 $Revision: r11.11/ 1 PATCH_11.11 (PHCO_28796) dir.c $Date: 2001/08/01 13:13:49 $Revision: r11.11/1 PATCH_11.11 (PHCO_24813) inode.c $Date: 2003/10/16 15:48:32 $Revision: r11.11 /1 PATCH_11.11 (PHCO_29926) machdep.c $Date: 2002/06/05 10:52:54 $Revision: r11. 11/2 PATCH_11.11 (PHCO_26700) main.c $Date: 2002/06/05 10:54:53 $Revision: r11.11/ 2 PATCH_11.11 (PHCO_26700) replay.c $Date: 2003/10/16 15:48:32 $Revision: r11.1 1/1 PATCH_11.11 (PHCO_29926) $Revision: @(#) all R11.11_BL2003_1029_2 PATCH_11.11 PHCO_29926 Wed Oct 29 04:19:51 PST 2003 $ $ Version_11.11 Sep 30 2003 08:05:29 $ cksum(1) Output: JFS.JFS-ENG-A-MAN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 1165403453 4702 /usr/share/man/man1m.Z/fsck_vxfs.1m JFS.VXFS-BASE-RUN,fr=B.11.11,fa=HP-UX_B.11.11_32/64,v=HP: 34164542 512000 /sbin/fs/vxfs/fsck Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: PHCO_26700 requires patch PHCO_26701 to get full command interface implementation. Any of these patches may be installed independently of the others with no adverse effect on the system. The following command messages may occur if a relevant patch is missing: > fsck -F hfs ... Warning: -f option is not supported for this filesystem > fsck -F vxfs ... fsck: illegal option -- s Supersedes: PHCO_24813 PHCO_28796 PHCO_26700 Equivalent Patches: None Patch Package Size: 310 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 PHCO_29926 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_29926.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_29926. 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 PHCO_29926.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_29926.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_29926.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None