Patch Name: PHCO_18137 Patch Description: s700_800 10.20 restore(1M) patch for large dumps Creation Date: 99/12/20 Post Date: 00/01/07 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: OS-Core.SYS-ADMIN Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_18137 Symptoms: PHCO_18137: The restore command core dumps when restoring a dump of a file system with a large number of inodes. PHCO_14417: restore(1m) was unable to read some cross-platform dump archives under 10.20 that were readable under previous releases. Defect Description: PHCO_18137: When restoring a dump of a file system with a very large number of inodes, the restore command core dumps while attempting to extract the inode map. The software defect begins to be a problem when the maximum number of inodes for a file system is approximately 4 million, though it does not core dump and may not have any other visible adverse affects. When the maximum number of inodes for a file system reaches approximately 8 million, the command dumps core. Resolution: When extracting the inode map, the code was using the s_spcl.c_addr[] array when reading in blocks of the map. The s_spcl.c_addr[] array has a size of 512. If the map was larger than 512 blocks, restore would write beyond s_spcl.c_addr[512]. The new code defines a new "c_addr" variable which is dynamically allocated for the map extraction. PHCO_14417: An off-by-one error was introduced, at 10.20, into the restore(1m) code which deals with quad-swapping. SR: 8606108656 5003408880 Patch Files: /usr/lbin/fs/hfs/restore /usr/sbin/restore /usr/sbin/rrestore /sbin/restore what(1) Output: /usr/lbin/fs/hfs/restore: $Revision: 78.1.1.2 $ PATCH_10_20: main.o restore.o dirs.o symtab.o tape.o utilities.o hpux_rel.o interactive.o telldi r.o dumprmt.o opendir.o 99/12/20 /usr/sbin/restore: $Revision: 78.1.1.2 $ PATCH_10_20: main.o restore.o dirs.o symtab.o tape.o utilities.o hpux_rel.o interactive.o telldi r.o dumprmt.o opendir.o 99/12/20 /usr/sbin/rrestore: $Revision: 78.1.1.2 $ PATCH_10_20: main.o restore.o dirs.o symtab.o tape.o utilities.o hpux_rel.o interactive.o telldi r.o dumprmt.o opendir.o 99/12/20 /sbin/restore: $Revision: 78.1.1.2 $ 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: main.o restore.o dirs.o symtab.o tape.o utilities.o hpux_rel.o interactive.o telldi r.o dumprmt.o opendir.o 99/12/20 cksum(1) Output: 908333490 65536 /usr/lbin/fs/hfs/restore 908333490 65536 /usr/sbin/restore 908333490 65536 /usr/sbin/rrestore 3356606557 307200 /sbin/restore Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_14417 Equivalent Patches: PHCO_18138: 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_18137 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_18137.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_18137. 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_18137.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_18137.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None