Patch Name: PHCO_10048 Patch Description: s700_800 10.20 LVM commands cumulative patch Creation Date: 97/02/07 Post Date: 97/02/18 Hardware Platforms - OS Releases: s700: 10.20 s800: 10.20 Products: N/A Filesets: LVM.LVM-RUN LVM.LVM-ENG-A-MAN Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_10048 Symptoms: PHCO_10048: A non-root process can gain access to a root shell. PHCO_9213: Several customers using LVM have expressed the desire to have LVM return application I/O's with an I/O error status rather than hanging onto them, when a Logical Volume is powerfailed. PHCO_8871: This patch provides new usage string for the vgchange command; Also new error messages are added to the message catalog to inform user that LVM does not support software mirroring in a cluster environment with more than 2 nodes configured. PHCO_8626: Modify LVM library routine to fix the following problem: The tm_year field of the tm structure returned by the localtime() library call was assumed to contain the last 2 digits of the year. But it really contains the number of years from 1900. This was corrected by replacing "tm_year" by "tm_year%100". PHCO_8207: This patch fixes two different problems: "panic lv_activatevg: num_pvols" After vgcfgrestore'ing to ALL of the current PVs in a VG, on next full activation the system can panic if the VG is setup such that the PVs are NOT sequentially allocated within the VGDA. The problem is with vgcfgbackup command which doesn't write a valid lvmconf file when there are missing PVs in a VG. vgimport -s -m xxx would not work with >255 pvs on a system. PHCO_7980: This patch added a new option "-R" to vgcfgrestore command to force restoring configuration data when there are physical volume mismatch between the kernel and the backup file due to missing pvlinks. Defect Description: PHCO_10048: A check was added to the LVM main module to make sure each in-coming parameter have size within the maximum length allowed. PHCO_9213: This change supports a new lvchange command line option "-t" which allows the administrator the option to limit the time LVM holds I/O to be retried on logical volumes when disks are powerfailed. PHCO_8871: This patch provides new usage string for the vgchange command; Also new error messages are added to the message catalog to inform user that LVM does not support software mirroring in a cluster environment with more than 2 nodes configured. PHCO_8626: Modify LVM library routine to fix the following problem: The tm_year field of the tm structure returned by the localtime() library call was assumed to contain the last 2 digits of the year. But it really contains the number of years from 1900. This was corrected by replacing "tm_year" by "tm_year%100". PHCO_8207: This patch fixes two different problems: Fix a problem in vgcfgbackup command to backup all PV structures on the disk. Don't try to calculate how many PV needed to be backed up, because PVs in the VG might not necessary contigeous. Modified code in vgimport command to allocate a bigger array to hold pvnames and pvdata. PHCO_7980: The vgcfgrestore command normally refuses to restore configuration data when there are physical volume mismatch between the kernel and the backup file. The following message will be displayed to inform user on the problem: "Mismatch between the backup file and the running kernel: Kernel indicates X disks for /dev/vgname, /etc/lvmconf/vgname indicates Y disks. Cannot proceed with the restoration. Deactivate the Volume Group and try again." SR: 4701346494 4701334698 4701334847 4701335935 1653175737 4701332106 5003325159 Patch Files: /usr/lib/nls/msg/C/lvm.cat /usr/newconfig/sbin/lvchange.mir /usr/newconfig/usr/sbin/lvchange.mir /sbin/lvchange /usr/sbin/lvchange /usr/share/man/man1m.Z/vgchange.1m /usr/share/man/man1m.Z/vgexport.1m /usr/share/man/man1m.Z/vgimport.1m what(1) Output: /usr/lib/nls/msg/C/lvm.cat: None /usr/newconfig/sbin/lvchange.mir: $Revision: 78.57.1.3.2.16 $ MIRROR PRODUCT PATCH/10.20:PHCO_8764 libc.a_ID@@/main/r10dav/libc_d av/libc_dav_cpe/2 /ux/libc/libs/libc/archive_pa1/libc.a_ID Oct 2 1996 10:35:25 PATCH_10_20_: /opt/langtools/lib/crt0.o lvdisplay.o lvlnboot.o lvremove.o lvrmboot.o pvchange.o pvcreate.o pvdisplay.o pvmove.o sdstolvm.o vgcfgbackup.o vgcfgrestore.o vgchange.o vgc reate.o vgdisplay.o vgexport.o vgextend.o v gimport.o vgreduce.o vgremove.o vgscan.o lv change_m.o lvcreate_m.o lvextend_m.o lvmerg e_m.o lvmmain_m.o lvreduce_m.o lvsplit_m.o lvsync_m.o nomwcsyncd_m.o vgsync_m.o hpux_re l_m.o 97/02/07 /usr/newconfig/usr/sbin/lvchange.mir: $Revision: 78.57.1.3.2.16 $ MIRROR PRODUCT PATCH_10_20_: /opt/langtools/lib/crt0.o lvdisplay.o lvlnboot.o lvremove.o lvrmboot.o pvchange.o pvcreate.o pvdisplay.o pvmove.o sdstolvm.o vgcfgbackup.o vgcfgrestore.o vgchange.o vgc reate.o vgdisplay.o vgexport.o vgextend.o v gimport.o vgreduce.o vgremove.o vgscan.o lv change_m.o lvcreate_m.o lvextend_m.o lvmerg e_m.o lvmmain_m.o lvreduce_m.o lvsplit_m.o lvsync_m.o nomwcsyncd_m.o vgsync_m.o hpux_re l_m.o 97/02/07 /sbin/lvchange: $Revision: 78.57.1.3.2.16 $ PATCH/10.20:PHCO_8764 libc.a_ID@@/main/r10dav/libc_d av/libc_dav_cpe/2 /ux/libc/libs/libc/archive_pa1/libc.a_ID Oct 2 1996 10:35:25 PATCH_10_20_: /opt/langtools/lib/crt0.o lvdisplay.o lvlnboot.o lvremove.o lvrmboot.o pvchange.o pvcreate.o pvdisplay.o pvmove.o sdstolvm.o vgcfgbackup.o vgcfgrestore.o vgchange.o vgc reate.o vgdisplay.o vgexport.o vgextend.o v gimport.o vgreduce.o vgremove.o vgscan.o lv change.o lvcreate.o lvextend.o lvmerge.o lv mmain.o lvreduce.o lvsplit.o lvsync.o nomwc syncd.o vgsync.o hpux_rel.o 97/02/07 /usr/sbin/lvchange: $Revision: 78.57.1.3.2.16 $ PATCH_10_20_: /opt/langtools/lib/crt0.o lvdisplay.o lvlnboot.o lvremove.o lvrmboot.o pvchange.o pvcreate.o pvdisplay.o pvmove.o sdstolvm.o vgcfgbackup.o vgcfgrestore.o vgchange.o vgc reate.o vgdisplay.o vgexport.o vgextend.o v gimport.o vgreduce.o vgremove.o vgscan.o lv change.o lvcreate.o lvextend.o lvmerge.o lv mmain.o lvreduce.o lvsplit.o lvsync.o nomwc syncd.o vgsync.o hpux_rel.o 97/02/07 /usr/share/man/man1m.Z/vgchange.1m: None /usr/share/man/man1m.Z/vgexport.1m: None /usr/share/man/man1m.Z/vgimport.1m: None cksum(1) Output: 1125927769 37379 /usr/lib/nls/msg/C/lvm.cat 3868607783 655360 /usr/newconfig/sbin/lvchange.mir 3990709473 413696 /usr/newconfig/usr/sbin/lvchange.mir 1141580171 630784 /sbin/lvchange 3414449509 393216 /usr/sbin/lvchange 1599083671 6328 /usr/share/man/man1m.Z/vgchange.1m 2132892705 2413 /usr/share/man/man1m.Z/vgexport.1m 1662821571 2711 /usr/share/man/man1m.Z/vgimport.1m Patch Conflicts: None Patch Dependencies: None Hardware Dependencies: None Other Dependencies: If you want to use the Logical Volume I/O Timeout feature. You should also install the kernel patch PHKL_8999(S700) or PHKL_8172(S800). This patch version of the LVM command will work with or without the above mentioned kernel patch. Supersedes: PHCO_7980 PHCO_8207 PHCO_8626 PHCO_8871 PHCO_9213 Equivalent Patches: PHCO_10059: s700: 10.10 s800: 10.10 PHCO_10060: s700: 10.01 s800: 10.01 PHCO_10061: s700: 10.00 s800: 10.00 Patch Package Size: 2160 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_10048 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_10048.depot 5b. For a homogeneous NFS Diskless cluster run swcluster on the server to install the patch on the server and the clients: swcluster -i -b This will invoke swcluster in the interactive mode and force all clients to be shut down. WARNING: All cluster clients must be shut down prior to the patch installation. Installing the patch while the clients are booted is unsupported and can lead to serious problems. The swcluster command will invoke an swinstall session in which you must specify: alternate root path - default is /export/shared_root/OS_700 source depot path - /tmp/PHCO_10048.depot To complete the installation, select the patch by choosing "Actions -> Match What Target Has" and then "Actions -> Install" from the Menubar. 5c. For a heterogeneous NFS Diskless cluster: - run swinstall on the server as in step 5a to install the patch on the cluster server. - run swcluster on the server as in step 5b to install the patch on the cluster clients. By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_10048. 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_10048.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_10048.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None