Patch Name: PHCO_8624 Patch Description: s700_800 10.01 LVM commands cumulative patch Creation Date: 96/09/23 Post Date: 96/10/06 Hardware Platforms - OS Releases: s700: 10.01 s800: 10.01 Products: N/A Filesets: LVM.LVM-RUN Automatic Reboot?: No Status: General Superseded Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_8624 Symptoms: PHCO_8624: 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_8458: 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_8205: "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. PHCO_7978: 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. PHCO_7829: This patch is to fix vgcfgbackup so that when vgcfgbackup is run, NIKE alternate link will not be invoked to avoid auto_trespass from happening. PHCO_6701: This patch contain the following fixes: 1. a new option "-f" is added to vgreduce to force reduce a missing pv in a vg. 2. lvlnboot -v will continue to display boot information regardless of inactivated vg on the system. 3. change sleep interval from 5 sec to 1 sec to allow NIKE disks timeout on reading LVM meta data. PHCO_6519: This patch fix vgscan to support > 255 disks on a system. PHCO_6356: LVM commands displayed incorrect information when NIKE disks are configured. For example: 1. lvlnboot displayed incorrect boot disk information. 2. vgscan rebuild lvmtab incorrectly with pv links. 3. pvdisplay displayed incorrect primary link information. PHCO_6270: "vgchange -a r " fails. See the symptoms for PHCO_5664. PHCO_5841: when doing manually hot swap disk, lvreduce hang PHCO_5664: The command "vgchange -a r " fails with the message: Activation mode requested for the volume group conflicts with configured mode. Defect Description: PHCO_8624: 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_8458: 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. Without using this option, LVM will hold the i/os as long as there is is one disk where the data resides which may eventually return. Using this option would cause LVM to give up on the powerfailed disk and return i/o errors to the user application using the logical volume. This feature is obviously not to be used indiscriminately. For many High Availability applications, having i/os held in kernel indefinitely is not acceptable. Most customers should not need to use the new option. PHCO_8205: This patch fixes 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. PHCO_7978: 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." PHCO_7829: When the customer used the vgcfgbackup command, and using alternate paths with LVM, the vgcfgbackup command seems to leave the LUNS in the NIKE assigned to the storage processor which isn't the owner. This wouldn't be a problem except that when logical volume is doubly mirrored, when 3 LUNS are involded. It appears that when newfs is invoked, the time that it takes to switch the LUNS back to the primary storage process is too much for the mkfs command, and the following errors result: mksf(hfs): read of lvm record failed mkfs(hfs): resource temporarily unavailable PHCO_6701: 1. a new option "-f" is added to vgreduce to force reduce a missing pv in a vg. 2. lvlnboot -v will continue to display boot information regardless of inactivated vg on the system. 3. change sleep interval from 5 sec to 1 sec to allow NIKE disks timeout on reading LVM meta data. PHCO_6519: This patch fix vgscan to support > 255 disks on a system. PHCO_6356: LVM commands displayed incorrect information when NIKE disks are configured. For example: 1. lvlnboot displayed incorrect boot disk information. 2. vgscan rebuild incorrect lvmtab with pv links. 3. pvdisplay displayed incorrect primary link information. PHCO_6270: The /usr/sbin/lvchange command contained in PHCO_5841 does not fix the vgchange -a r problem described in PHCO_5664. However, the /sbin/lvchange command contained in PHCO_5841 does work correctly. This patch places the archive-linked LVM command into the /usr/sbin directory, to provide full patch functionality until new shared-linked versions (which supports NLS) can be made available. PHCO_5841: lvreduce hang when doing manually hot swap bad disk. PHCO_5664: The read only activation of the volume group fails whenever the Service guard cluster services are active in the system or when the volume group has been activated in exclusive mode in another system. There is no workaround for this defect. SR: 4701334763 4701334698 1653175737 5003325159 5003299669 5000697466 5003295139 5003286278 5003284935 4701297390 Patch Files: /usr/newconfig/sbin/lvchange.mir /usr/newconfig/usr/sbin/lvchange.mir /sbin/lvchange /usr/sbin/lvchange what(1) Output: /usr/newconfig/sbin/lvchange.mir: $Revision: 74.33.3.34 $ MIRROR PRODUCT /usr/lib/libc: $Revision: 76.3 $ PATCH_10_MLP: lvdisplay.o lvlnboot.o lvremove.o lvrm boot.o pvchange.o pvcreate.o pvdisplay.o pvm ove.o sdstolvm.o vgcfgbackup.o vgcfgrestore. o vgchange.o vgcreate.o vgdisplay.o vgexport .o vgextend.o vgimport.o vgreduce.o vgremove .o vgscan.o lvchange_m.o lvcreate_m.o lvexte nd_m.o lvmerge_m.o lvmmain_m.o lvreduce_m.o lvsplit_m.o lvsync_m.o nomwcsyncd_m.o vgsync _m.o hpux_rel_m.o 96/09/23 /usr/newconfig/usr/sbin/lvchange.mir: $Revision: 74.33.3.34 $ MIRROR PRODUCT PATCH_10_MLP: lvdisplay.o lvlnboot.o lvremove.o lvrm boot.o pvchange.o pvcreate.o pvdisplay.o pvm ove.o sdstolvm.o vgcfgbackup.o vgcfgrestore. o vgchange.o vgcreate.o vgdisplay.o vgexport .o vgextend.o vgimport.o vgreduce.o vgremove .o vgscan.o lvchange_m.o lvcreate_m.o lvexte nd_m.o lvmerge_m.o lvmmain_m.o lvreduce_m.o lvsplit_m.o lvsync_m.o nomwcsyncd_m.o vgsync _m.o hpux_rel_m.o 96/09/23 /sbin/lvchange: $Revision: 74.33.3.34 $ /usr/lib/libc: $Revision: 76.3 $ PATCH_10_MLP: lvdisplay.o lvlnboot.o lvremove.o lvrm boot.o pvchange.o pvcreate.o pvdisplay.o pvm ove.o sdstolvm.o vgcfgbackup.o vgcfgrestore. o vgchange.o vgcreate.o vgdisplay.o vgexport .o vgextend.o vgimport.o vgreduce.o vgremove .o vgscan.o lvchange.o lvcreate.o lvextend.o lvmerge.o lvmmain.o lvreduce.o lvsplit.o lv sync.o nomwcsyncd.o vgsync.o hpux_rel.o 96/0 9/23 /usr/sbin/lvchange: $Revision: 74.33.3.34 $ PATCH_10_MLP: lvdisplay.o lvlnboot.o lvremove.o lvrm boot.o pvchange.o pvcreate.o pvdisplay.o pvm ove.o sdstolvm.o vgcfgbackup.o vgcfgrestore. o vgchange.o vgcreate.o vgdisplay.o vgexport .o vgextend.o vgimport.o vgreduce.o vgremove .o vgscan.o lvchange.o lvcreate.o lvextend.o lvmerge.o lvmmain.o lvreduce.o lvsplit.o lv sync.o nomwcsyncd.o vgsync.o hpux_rel.o 96/0 9/23 cksum(1) Output: 2478668404 565248 /usr/newconfig/sbin/lvchange.mir 1062691060 364544 /usr/newconfig/usr/sbin/lvchange.mir 2389968388 544768 /sbin/lvchange 1690592235 348160 /usr/sbin/lvchange Patch Conflicts: None Patch Dependencies: s700: 10.01: PHKL_6792 s800: 10.01: PHKL_6793 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_8391(S700) or PHKL_8392(S800). This patch version of the LVM command will work with or without the above mentioned kernel patch. Supersedes: PHCO_5664 PHCO_5841 PHCO_6270 PHCO_6356 PHCO_6519 PHCO_6701 PHCO_7829 PHCO_7978 PHCO_8205 PHCO_8458 Equivalent Patches: PHCO_8625: s700: 10.10 s800: 10.10 PHCO_8626: s700: 10.20 s800: 10.20 Patch Package Size: 1840 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_8624 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_8624.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_8624.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_8624. 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_8624.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_8624.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None