Patch Name: PHCO_29197 Patch Description: s700_800 11.00 cumulative fbackup(1M)/frecover(1M) patch Creation Date: 03/06/18 Post Date: 03/07/01 Hardware Platforms - OS Releases: s700: 11.00 s800: 11.00 Products: N/A Filesets: OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP Automatic Reboot?: No Status: General Release Critical: Yes PHCO_29197: CORRUPTION fbackup/frecover fail with SDLT320, SDLT220 and DLTvs80 tape drives. Category Tags: defect_repair hardware_enablement enhancement general_release critical corruption Path Name: /hp-ux_patches/s700_800/11.X/PHCO_29197 Symptoms: PHCO_29197: ( SR: 8606310085 CR: JAGae72526 ) frecover(1M) on SDLT320, SDLT220 and DLTvs80 drives fails to read the end of file mark with the following message. Any attempt to salvage the volume fails. # frecover -x -i /opt/junk -f /dev/rmt/c5t5d0BEST -v frecover(2105): did not find expected file marker frecover(5418): not an fbackup volume; unable to read volume header frecover(2105): did not find expected file marker ( SR: 8606309651 CR: JAGae72959 ) fbackup(1M) fails to read the header from a previously backed up volume on DLTvs80 tape drives. fbackup on DLTvs80 drive, two sequential calls : # fbackup -i /opt/junk -f /dev/rmt/c7t5d0BEST fbackup(1004): session begins on Fri Mar 14 16:07:41 2003 fbackup(3205): WARNING: unable to read a volume header fbackup(3024): writing volume 1 to the output file /dev/rmt/c7t5d0BEST fbackup(3055): total file blocks read for backup: 332118 fbackup(3056): total blocks written to output file /dev/rmt/c7t5d0BEST: 332297 fbackup(1030): warnings encountered during backup # # fbackup -i /opt/junk -f /dev/rmt/c7t5d0BEST fbackup(1004): session begins on Fri Mar 14 16:12:21 2003 fbackup(3205): WARNING: unable to read a volume header fbackup(3024): writing volume 1 to the output file /dev/rmt/c7t5d0BEST fbackup(3055): total file blocks read for backup: 332118 fbackup(3056): total blocks written to output file /dev/rmt/c7t5d0BEST: 332297 fbackup(1030): warnings encountered during backup fbackup does not increment the number of times the volume has been used. PHCO_25424: When trying to selectively recover a file from a DLT7000 fbackup tape archive using the command line, "frecover -xovf /dev/rmt/5m -i filename" the following error messages were displayed: frecover(1003): backup id does not match expected value frecover(1061): attempt to continue recovery with new backup id? [yes no] If the user enters "no", frecover immediately terminates. If the user enters "yes", frecover continues but fails to recover the file and finally terminates. Note: it is also possible to get the following error messages instead of or in addition to the 1003/1061 errors. frecover(1004): backup time does not match expected value frecover(1062): attempt to continue recovery with new backup time? [yes no] A complete restore works fine. Using the remote form of the device name also works but is too slow. For example, the command using the remote form of the device name is entered as: "frecover -xovf hostname:/dev/rmt/5m -i filename" PHCO_23854: Enhancement request for Ultrium tape drive support. PHCO_19732: 1. fbackup/frecover report a wrong volmue number in the on-line index file. User will see the volume number 0 instead of 1. 2. This patch also enables future support of JFS access control lists(ACL). PHCO_18397: 1. The frecover command can not recover a file selectively if the file size is greater than 4GB. The user will see the following error message: frecover(1003): backup id does not match expected value 2. fbackup does not save all directories when doing an incremental backup, and frecover can not restore parent directories from an incremental fbackup file if the parent directories have been deleted. The operator will see the following messages: frecover(1060): /XXXX not on media frecover(1017): cannot chdir to directory /XXXX PHCO_16405: 1. fbackup/frecover does not have fast search capability on DLT tape devices. 2. fbackup/frecover does not allow index file size > 99999999. PHCO_14177: When a volume change is needed, frecover prompts the user and then reads from /dev/tty to receive the expected carriage return. If there is no terminal associated with the frecover process, frecover aborts because it cannot open /dev/tty. PHCO_13494: fbackup and frecover did not work properly with 3480 and 3590 tape stackers and didn't recognize 3590 drives. Defect Description: PHCO_29197: ( SR: 8606310085 CR: JAGae72526 ) When taking backup, fbackup(1M) first writes the ansi label (size = 1024 bytes), EOf mark, volume header(2048 bytes) in the beginning of the tape.Then it writes the data on to the tape. frecover(1M) when restoring, first reads the ansi label, then the EOF mark and then the vol header to verify the tape. After reading the ansi label, frecover(1M) tries to read the EOF mark by calling a routine. Some tape drives with recent FW can read minimum 4 bytes. Since the routine is trying to read 1 byte, the read fails, thus frecover(1M) also fails. ( SR: 8606309651 CR: JAGae72959 ) On some FW versions of SDLT tape drives, fbackup(1M) is unable to read the ansi label and the vol hdr. When we try to read 1025 bytes to read the ansi label, fbackup fails.If we do a 1024 byte read it passes. Apparently the drive doesn't support odd byte reads. Resolution: frecover: The routine has been changed to read 10 bytes, when it tries to read the EOF mark.Tape drives can read min 4 bytes, we chose 10 bytes as a similar read is done by fbackup with 10 bytes. fbackup: Convert the odd byte reads into an even byte read. PHCO_25424: frecover was fast-searching trying to selectively recover a file from a DLT7000 fbackup archive when it ran into an embedded fbackup archive file. In other words the fbackup file being searched, itself, contained another fbackup file. As frecover was parsing file headers it hit the file headers from the embedded backup which did not match identifying backup session information. frecover got confused and could not continue correctly. frecover fast search logic for DLTs could not handle embedded fbackup files during selective recoveries. Resolution: Enhanced file-header parsing to initiate recovery skipping over the embedded fbackup file and resync'ing to continue fast searching for target file(s). Now, frecover provides correct handling of embedded fbackup files encountered while fast searching a tape for one or more files. With this patch, the user will not encounter the messages listed below unless mismatch errors are the result of either an error reading a tape volume header, or encountering a tape volume that is either out of sequence or is from another fbackup session. The messages are: frecover(1003): backup id does not match expected value frecover(1061): attempt to continue recovery with new backup id? [yes no] -or- frecover(1004): backup time does not match expected value frecover(1062): attempt to continue recovery with new backup time? [yes no] Also enhanced error recovery logic to make better use of viable volume header information in the event of an error encountered while loading or changing tape volumes. PHCO_23854: Enhancement request for ultrium tape drive support. Resolution: Add Ultrium tape drive support to fbackup/frecover. PHCO_19732: The fbackup command reports the volume number 0 in stead of 1. This is due to an incorrect conversion specification used when the sprintf(3S) is called. Resolution: A long long data type of the conversion specification is chosen when it is needed. PHCO_18397: 1. The frecover command can not recover a file selectively if the file size is greater than 4GB. This is due to an incorrect data typecast from 64 bits to 32 bits. 2. The logical condition to the directory files is ignored in the incremental backups. Resolution: 1. A 64 bit data type variable is used without any incorrect data typecast. 2. fbackup saves all directories as needed. PHCO_16405: 1. fbackup/frecover currently does not have fast search capability on DLT tape devices. This patch includes fast search capability, so that selective recovery time on DLT devices can be greatly reduced. Since DLT does not have the advantage of setmarks as DDS does, you will not see the same performance gains as with DDS fast searching; DLT makes use of filemarks, which were already there for checkpointing. You should get a measurable gain in performance over the file-by-file searching previously used on DLT devices, and that gain percentage only increases the further into the tape it has to go to find your file. Updated fbackup(1m) and frecover(1m) man pages are included in this patch. 2. The current fbackup volume header allows only 8 digits for the index file size. If your index file size is greater than 99999999, then when you try to recover the index file or the volume header information (frecover -I or -V), the index file size is truncated to 8 digits. With -I, this means the index file that is created is truncated. With -V, this means the index file size that is reported is incorrect; it is the truncated value. Resolution: 1. DLT fast search enhancement for selective recovery of files. This enhancement includes a change to the format of the index file; it now contains file sizes. 2. Fixed to support >= 100MB for the index file size. It previously only supported 8 digits, or 99999999 bytes. It now supports up to 20 digits. PHCO_14177: When a volume change is needed, frecover prompts the user and then reads from /dev/tty to receive the expected carriage return. If there is no terminal associated with the frecover process, frecover aborts because it cannot open /dev/tty. This is especially a problem for those who use a chgvol script when using -c , where the operator may likely not leave open the window from which they started an frecover of a large number of volumes. Not reading from stdin is also a problem for those who run frecover from a script and use a here document from which they provide the expected carriage return. PHCO_13494: fbackup and frecover needed to recheck the tape drive several times before failing because of idiosyncratic behavior on the part of some 3480 stacker devices. Recognition for 3590 tape drives also needed to be added. Enhancement: No (superseded patches contained enhancements) PHCO_23854: Enables the ultrium tape drive support. SR: 8606310085 8606309651 8606131692 8606164292 8606105483 4701427328 4701411835 1653294280 1653240747 5003457515 5003423483 5003375626 5003403410 Patch Files: OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /usr/share/man/man1m.Z/frecover.1m /usr/share/man/man1m.Z/fbackup.1m OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/nls/msg/C/fbackup.cat /usr/lib/nls/msg/C/frecover.cat /usr/sbin/fbackup /usr/sbin/fbackuprdr /usr/sbin/fbackupwrtr /usr/sbin/frecover OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /sbin/frecover what(1) Output: OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /usr/share/man/man1m.Z/frecover.1m: None OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/nls/msg/C/fbackup.cat: None OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: /usr/share/man/man1m.Z/fbackup.1m: None OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/lib/nls/msg/C/frecover.cat: None OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /sbin/frecover: $Revision: 82.4.1.13 $ $ PATCH/11.00:PHCO_27731 Oct 11 2002 12:59:13 $ OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/fbackup: $Revision: 82.8.1.14 $ OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/fbackuprdr: $Revision: 82.8.1.14 $ OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/fbackupwrtr: $Revision: 82.8.1.14 $ OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: /usr/sbin/frecover: $Revision: 82.4.1.13 $ cksum(1) Output: OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: 2042347555 8479 /usr/share/man/man1m.Z/frecover.1m OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2206632884 13974 /usr/lib/nls/msg/C/fbackup.cat OS-Core.ADMN-ENG-A-MAN,fr=B.11.00,fa=HP-UX_B.11.00_32/64, v=HP: 119928789 13662 /usr/share/man/man1m.Z/fbackup.1m OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 536273479 9718 /usr/lib/nls/msg/C/frecover.cat OS-Core.UX-CORE,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 651798867 364544 /sbin/frecover OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 3967010316 86016 /usr/sbin/fbackup OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 4203768410 24576 /usr/sbin/fbackuprdr OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 4032528270 73728 /usr/sbin/fbackupwrtr OS-Core.SYS-ADMIN,fr=B.11.00,fa=HP-UX_B.11.00_32/64,v=HP: 2110396557 110592 /usr/sbin/frecover Patch Conflicts: None Patch Dependencies: s700: 11.00: PHKL_22287 PHCO_19491 PHKL_17458 PHKL_19991 s800: 11.00: PHKL_22287 PHCO_19491 PHKL_17458 PHKL_19991 Hardware Dependencies: None Other Dependencies: None Supersedes: PHCO_13494 PHCO_14177 PHCO_16405 PHCO_18397 PHCO_19732 PHCO_23854 PHCO_25424 Equivalent Patches: None Patch Package Size: 390 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_29197 5. Run swinstall to install the patch: swinstall -x autoreboot=true -x patch_match_target=true \ -s /tmp/PHCO_29197.depot By default swinstall will archive the original software in /var/adm/sw/save/PHCO_29197. 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_29197.text file is available in the product readme: swlist -l product -a readme -d @ /tmp/PHCO_29197.depot To put this patch on a magnetic tape and install from the tape drive, use the command: dd if=/tmp/PHCO_29197.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None