Patch Name: PHCO_23844 Patch Description: s700_800 10.20 fsck_vxfs(1M) cumulative patch Creation Date: 01/04/06 Post Date: 01/04/16 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: JournalFS.VXFS-BASE-RUN Automatic Reboot?: No Status: General Release Critical: Yes PHCO_23844: CORRUPTION A significantly fragmented VxFS filesystem may be corrupted by fsck_vxfs(1M). Two consecutive invocations of fsck_vxfs(1M) can result in a directory corruption. PHCO_16591: CORRUPTION Fix for error message "invalid LCT extents" PHCO_12923: CORRUPTION Fix for unrecoverable file system where fsck produces the error message "no valid ILISTS for fset 999" PHCO_12922: CORRUPTION Fix for DMAPI problem in 10.20 PHCO_11909: CORRUPTION fix for unrepairable Version 2 JFS file system where fsck produces the error message "no valid ILIST in fileset 999". PHCO_11908: CORRUPTION Path Name: /hp-ux_patches/s700_800/10.X/PHCO_23844 Symptoms: PHCO_23844: 1. A data corruption can occur when fsck_vxfs(1M) is run on a significantly fragmented filesystem. During the fsck run an message similar to the following may be displayed: "fileset 999 iau 5 summary incorrect - fix? (ynq) y" However, it is possible that instead of fixing the iau summary an arbitrary block would be overwritten. Fsck then reports that all is fixed, and allows to mount a filesystem. An unpredictable behavior may result from this error, depending on the data contained in the corrupted block. 2. If fsck_vxfs(1M) is run twice in a row in a 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. PHCO_16591: fsck fails with the following message: log replay in progress pass0 - checking structural file pass1 - checking inode sanity and blocks pass2 - checking directory linkage pass3 - checking reference counts vxfs fsck: invalid LCT extent PHCO_14842: fsck did not correctly check which inodes types may be sparse. PHCO_12923: 1)The vxfs_fsck command fails to perform a full fsck on a file system after an unrelated system panic. The fsck command performs log replay, then terminates with no error message at all, leaving the file system unmountable as it still needs a full fsck. 2)An attempt to extend a Version 3 filesystem using extendfs fails with the following error message: vxfs fsck: out of space, cannot allocate vxfs fsck: cannot extend aggregate vxfs extendfs: Invocation of the fsck program terminated abnormally The file system is marked bad. Run full fsck manually. After running a full fsck the filesystem can be mounted but is not extended. PHCO_12922: DMAPI did not function correctly on 10.20. Performing a full fsck on an OmniStorage file system will result in the following message: log replay in progress pass 0 - checking structureal files pass 1 - checking inode sanity and blocks fileset 999 inode 3 has invalid attributes clear? (ynq)y root inode for fileset 999 is invalid - terminating file set At this point, the file system cannot be mounted. PHCO_11909: The following problems are fixed: 1) Under certain circumstances after a hard failure, VxFs fsck log replay would fail requiring a full fsck. 2) On large file systems containing a very large number of files, full fsck run on the raw device was extremely slow. 3) The fsck command would sometimes fail with the error message "invalid ILIST in fileset 999" on JFS Version 2 and and Version 3 file systems. This patch fixes the problem on Version 2 file systems. PHCO_11908: The fsck command was unable to handle iau data that was spread across multiple extents. This resulted in a file system that could not be repaired. PHCO_11223: VxFs fsck sometimes fails with -y with the message "no valid ILISTS for fileset 999". PHCO_10965: After a hard failure, running a full fsck on a vxfs file system that contains directories larger than approximately 200 Kbytes may result in an unrecoverable file system. The exact size is fuzzy, depending on a number of factors including the geometry of other files in the file system. The problem can also occur for large sparse files. A sparse file with more than 256 Gbytes of data blocks, written using small writes might experience the same problem. PHCO_9396: If a customer upgrades from 10.01 or 10.10 to 10.20, and tries to increase their VxFS file systems via SAM, the file system will not mount after completion of extending the volume and file system. The typical approach for SAM is: 1) unmount the file system 2) lvextend the volume 3) extendfs the file system 4) mount the file system The mount will always fail in this case. Defect Description: PHCO_23844: 1. fsck_vxfs(1M) does not handle odd-sized extents correctly. On a significantly fragmented filesystem extent sizes can become odd, so that IAU summary block would not follow IAU header. However fsck assumes that those two are consecutive blocks and overwrites the block immediately following the IAU header. 2. 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: 1. The code in fsck_vxfs(1M) was modified to handle the extents with IAU summary not immediately following the IAU header correctly 2. Directory optimization during the log reply removed from fsck_vxfs(1M) PHCO_16591: fsck was incorrectly handling extents less than 8k. For Version 3 filesystems variable-sized indirect extents are allowed. An extent of less than 8k can occur because of filesystem fragmentation. PHCO_14842: The fsck command did not correctly identify which inodes may be sparse. Sparse inodes by definition have less blocks allocated to them as compared to the value of i_size in blocks. In addition to regular inodes and inodes with IMMED organization the following inodes will not be marked bad if sparse: IFEMR, IFQUO, IFILIST and IFIAU PHCO_12923: 1)The vxfs fsck command was referencing data in random memory, causing corruption. The corrupted memory happens to be the buffer in the buffer cache holding the inode for the primary ilist. The problem in the Symptoms text will not easily be exhibited, however, this patch should be installed to prevent this rare occurence. 2)An attempt to extend a Version 3 filesystem using extendfs fails with the following error message: vxfs fsck: out of space, cannot allocate vxfs fsck: cannot extend aggregate vxfs extendfs: Invocation of the fsck program terminated abnormally The file system is marked bad. Run full fsck manually. After running a full fsck the filesystem can be mounted but is not extended. A new routine has been added, to allocate out of extended space. This is necessary since the extent maps are not initialized/built-up until after pass2 of fsck. PHCO_12922: DMAPI extended attributes were not fully implemented in PHCO_11909. The version of fsck_vxfs included in this patch will not exhibit the problem described in the Symptoms text. If a system is exhibiting the symptoms, installing PHCO_12922 and performing a full fsck will resolved the problem. PHCO_11909: The following problems are fixed: 1) Under certain circumstances after a hard failure, VxFs fsck log replay would fail requiring a full fsck. 2) On large file systems containing a very large number of files, full fsck run on the raw device was extremely slow. 3) The fsck command would sometimes fail with the error message "invalid ILIST in fileset 999" on JFS Version 2 and and Version 3 file systems. This patch fixes the problem on Version 2 file systems. PHCO_11908: The fsck command was unable to handle iau data that was spread across multiple extents. This resulted in a file system that could not be repaired. PHCO_11223: VxFs fsck sometimes fails with -y with the message "no valid ILISTS for fileset 999". PHCO_10965: After a hard failure, running a full fsck on a vxfs file system that contains directories larger than approximately 200 Kbytes may result in an unrecoverable file system. The exact size is fuzzy, depending on a number of factors including the geometry of other files in the file system. The problem can also occur for large sparse files. A sparse file with more than 256 Gbytes of data blocks, written using small writes might experience the same problem. PHCO_9396: If a customer upgrades from 10.01 or 10.10 to 10.20, and tries to increase their VxFS file systems via SAM, the file system will not mount after completion of extending the volume and file system. The typical approach for SAM is: 1) unmount the file system 2) lvextend the volume 3) extendfs the file system 4) mount the file system The mount will always fail in this case. SR: 8606188371 1653276618 4701359992 4701371393 1653234179 5003379156 4701361758 Patch Files: /sbin/fs/vxfs/fsck what(1) Output: /sbin/fs/vxfs/fsck: PATCH_10_20:PHCO_11909 /opt/langtools/lib/crt0.o agg r.o attr.o bmap.o dir.o extent.o extern.o fe xtop.o fset.o inode.o links.o lwrite.o machd ep.o main.o olt.o readi.o replay.o subr.o su breplay.o super.o Aug 12 1997 PATCH-PHCO_18644 for 10.20; for 10.30, 11.x compatib ility libc.a_ID@@/main/r10dav/libc_dav/libc_ dav_cpe/9 /ux/core/libs/libc/archive_pa1/libc.a_ID Jul 8 1999 15:44:31 PATCH_10_20: aggr.o attr.o bmap.o dir.o extent.o ext ern.o fextop.o fset.o inode.o links.o lwrite .o machdep.o main.o olt.o readi.o replay.o s ubr.o subreplay.o super.o 01/04/06 cksum(1) Output: 1362664093 368640 /sbin/fs/vxfs/fsck Patch Conflicts: None Patch Dependencies: s700: 10.20: PHKL_9370 PHKL_12007 PHKL_12100 s800: 10.20: PHKL_9371 PHKL_12008 PHKL_12101 Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_9396 PHCO_10965 PHCO_11223 PHCO_11908 PHCO_11909 PHCO_12922 PHCO_12923 PHCO_14842 PHCO_16591 Equivalent Patches: PHCO_23651: s700: 11.00 s800: 11.00 Patch Package Size: 420 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_23844 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_23844.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_23844. If you do not wish to retain a copy of the original software, you can create an empty file named /var/adm/sw/patch/PATCH_NOSAVE. WARNING: If this file exists when a patch is installed, the patch cannot be deinstalled. Please be careful when using this feature. It is recommended that you move the PHCO_23844.text file to /var/adm/sw/patch for future reference. To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_23844.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None