Patch Name: PHCO_18986 Patch Description: s700_800 10.26 LVM commands cumulative patch Creation Date: 99/09/22 Post Date: 99/10/15 Hardware Platforms - OS Releases: s700: 10.26 s800: 10.26 Products: N/A Filesets: LVM.LVM-RUN LVM.LVM-ENG-A-MAN Automatic Reboot?: No Status: General Release Critical: No Path Name: /hp-ux_patches/s700_800/10.X/PHCO_18986 Symptoms: PHCO_18986: Ported 10.20 patch PHCO_17389 to TOS. (PHCO_17389) JAGaa44083 : Having alternate links in same PVG can lead to data corruption by having multiple LEs mapping to same PE. JAGaa47007 : Cannot allocate LV across PVGs. (PHCO_17118) vgextend does not allow extension of volume group more than 65535(LVM_MAXPXS), which is the value for a should be 65535 * 255 (LVM_MAXPXS * LVM_MAXPVS). (PHCO_16049) The fix for vgextend in PHCO_15236 prevents users from using a new disk that has more extents than what the volume group it is in allows. (PHCO_15895) If any of the PVs which belong to a VG are involved in any LVM commands operation is not available after the device is opened. The system hangs on subsequent read/write since it is doing a blocking operatin. Eg vgcfgbackup hangs when a PV is unavailable after opening it. (PHCO_15236) lvcreate was dumping core when given out-of-range LogicalVolumeSize with the -L option (-L 0, for e.g.). Man page documentation was specifying incorrect range for LogicalVolumeSize in lvcreate, lvextend and lvreduce. Error message on extending a volume group with a disk that is too large was getting mangled with normal informative messages. SAM was not able to interpret the messages properly. vgcreate was not recalculating max_pe properly if the -s option was used. lvreduce -k was allowing only one pvkey to be selected. (PHCO_14990) lvmtab_read error message added to lvlnboot,lvrmboot, pvcreate, vgchgid, vgimport and vgscan commands. sleep() is added in vgchgid while creating new vgids , Interrupts are disabled and check for valid no. of PVs added. Checks for SCSI disks added when verifying the disks in vgchgid,vgimport,vgscan and vgextend commands. (PHCO_14628) lvdisplay when LANG=C was giving wrong mesg for "IO Timeout" and "default" as it was reading incorrectly from the catalog. (PHCO_14315) The LVM message catalog is out of sync due to a new message was added in the middle of the file by mistake. (PHCO_13942) The previous patch PHCO_13711 has a problem in vgcreate command when creating a VG with EMC Symmetrix disk without any attributes such as BCV or RDF. The vgcreate command will return an error and reject the command. The problem only occurs on EMC Symmetrix disk without BCV or RDF attributes. (PHCO_13711) EMC provides the option to split a hardware mirror without hpux knowning. This causes the system to see another set of disks with duplicate VGIDS. LVM needs to come up with a solution to allow customer import the split-off disk(s) to another system for backup purpose without causing problems. (PHCO_13480) LVM scripts which lvextend one extent at a time (where the next logical extent added is always placed on a different physical volume from the preceding logical extent) can take hours to run for large logical volumes (i.e. 50gb). The goal of this kind of configuration is to create "extent-based mirrored stripes". LVM provides no alternate method for creating "extent-based mirrored stripes". There is also a separate lvlnboot defect introduced by a previous 10.20 patch in which lvlnboot may fail with: lvlnboot: root logical volume can not have bad block relocation (PHCO_13224) If a configuration is using shared PV LINKS on a cluster environment, the following problem can occur: 1. The shared PV LINKS will not switch when needed. 2. The activation of the volume group using vgchange -a s may fail on one of the nodes if the command is bein run simultaneously on all the nodes. (PHCO_12666) System is suffering from data corruption. Intermittently a block associated with a particular file at the same offset is being corrupted. (PHCO_10964) The lvlnboot command had some problems introduced in 10.20 when separate root/boot functionality was introduced. The symptoms range from lvlnboot -v not being able to find the boot volume after a vgreduce/vgextend to not being able to boot the volume group. One bug resulted in lvlnboot always using a pvkey of 0, causing failures if vgreduce/vgextend was performed on the first pvol. Another bug had lvlnboot assuming that the first pvol with an updated BDRA in /etc/lvmtab (for the root vg) contained the boot and root lvols, which isn't necessarily so. These bugs can result in unbootable systems if lvlnboot -R is performed since lvlnboot -R will corrupt the LABEL file in these cases. (PHCO_10826) The LVM relocation policy has two settings; "y", mark a bad block in the bad block directory and relocate the block to an alternate location, and "n", mark a bad block in the bad block directory but do not relocate the block to a new location. This causes problems for intelligent disks like EMC Symmetrix disks which can "repair" themselves. The bad block directory entry prevents access to the good, repaired data on disk. (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 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_18986: JAGaa44083 - Having multiple links of a PV in the same PVG then each link is treated as a different PV and during the allocation mulitple LEs are mapped to same PE hence leading to potential data corruption. JAGaa47007 - Cannot allocate LV across PVGs because of the fast and slow alloction policy in fill_lv_map where we were not keeping track of the amount of LEs mapped in previous PVG and were starting from begining when we move to next PVG and hence trying to allocate all LEs on the same PVG and hence comming out with an error if the size of LV is greater than the size of maximum free PEs containing PVG. Resolution: After applying the patch. LV across multiple PVGs is supported. Having pvlinks in the same PVG will not allow duplication of PV in allocation and mapping of two LEs to same PE. SR: 4701384040 5003385989 4701368670 5003390096 4701352278 4701346494 4701334698 4701334847 4701335935 1653175737 4701332106 5003325159 1653194696 1653221895 1653230771 5003402370 1653252874 1653252759 1653252734 1653199265 5003320606 1653196428 5003325340 1653264887 1653282301 1653284992 Patch Files: /usr/sbin/lvchange /usr/sbin/lvmmigrate /sbin/lvchange /usr/share/man/man1m.Z/lvchange.1m /usr/share/man/man1m.Z/lvcreate.1m /usr/share/man/man1m.Z/lvdisplay.1m /usr/share/man/man1m.Z/lvextend.1m /usr/share/man/man1m.Z/lvlnboot.1m /usr/share/man/man1m.Z/lvreduce.1m /usr/share/man/man1m.Z/vgcfgrestor.1m /usr/share/man/man1m.Z/vgchange.1m /usr/share/man/man1m.Z/vgchgid.1m /usr/share/man/man1m.Z/vgcreate.1m /usr/share/man/man1m.Z/vgexport.1m /usr/share/man/man1m.Z/vgextend.1m /usr/share/man/man1m.Z/vgimport.1m /usr/share/man/man1m.Z/vgscan.1m /usr/lib/nls/msg/C/lvm.cat /etc/auth/system/files.fcdb/05.base/PHCO_18986.fcdb what(1) Output: /usr/sbin/lvchange: 1999/09/16 Hewlett-Packard HP-UX 10.26 TOS [ ic5dh - DAV17 ] 99/07/21 cmd/lvm/lvremove.c, hpux, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/pvcreate.c, hpux, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/vgchgid.c, cmds, hpux_10.26, ic5dh Revision 1.3 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/vgextend.c, cmds, hpux_10.26, ic5dh Revision 1.4 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/vgimport.c, cmds, hpux_10.26, ic5dh Revision 1.3 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/vgreduce.c, cmds, hpux_10.26, ic5dh Revision 1.3 PATCH_10.26 (PHCO_18986) 99/08/02 cmd/lvm/lvm_secure.c, hpux, hpux_10.26, ic5 dh Revision 1.3 PATCH_10.26 (PHCO_18986) $Revision: 70.5 $ cmd/lvm/lvmmain.c, hpuxcmds, vvos_davis, davis7 $Dat e: 97/03/11 16:35:25 $ $Revision: 1.5 PATCH_ 10.24 (PHCO_10052) $ 99/07/26 cmd/lvm/lvmmain.c, hpux, hpux_10.26, ic5dh Revision 1.6 PATCH_10.26 (PHCO_18986) 99/07/09 cmd/lvm/nomwcsyncd.c, hpux, hpux_10.26, ic5 dh Revision 1.1 PATCH_10.26 (PHCO_18986) 99/07/19 cmd/lvm/hpux_rel.c, cmds, hpux_10.26, ic5dh Revision 1.4 PATCH_10.26 (PHCO_18986) UNMOD IFIED $Revision: 78.57.1.3.2.68 $ MIRROR PRODUCT 99/07/19 cmd/lvm/lib/utilities.c, cmds, hpux_10.26, ic5dh Revision 1.3 PATCH_10.26 (PHCO_18986) UNMODIFIED 99/07/19 cmd/lvm/lib/logvol.c, cmds, hpux_10.26, ic5 dh Revision 1.3 PATCH_10.26 (PHCO_18986) UNM ODIFIED 99/07/21 cmd/lvm/lib/dump.c, hpux, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHCO_18986) 99/07/09 cmd/lvm/lib/maps.c, cmds, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHCO_18986) UNMOD IFIED 99/07/06 cmd/lvm/lib/lvmraw.c, hpux, hpux_10.26, ic5 dh Revision 1.5 PATCH_10.26 (PHC0_18986) /usr/sbin/lvmmigrate: 99/09/16 lib/libc/core/gen/ctime.c, hpux, hpux_10.26 , ic5dh Revision 1.2 PATCH_10.26 (PHCO_17823 ) UNMODIFIED 1999/09/16 Hewlett-Packard HP-UX 10.26 TOS [ ic5dh - DAV17 ] 99/08/11 cmd/lvm/lvmmigrate.c, hpux, hpux_10.26, ic5 dh Revision 1.5 PATCH_10.26 (PHCO_18986) 99/08/02 cmd/lvm/lvm_secure.c, hpux, hpux_10.26, ic5 dh Revision 1.3 PATCH_10.26 (PHCO_18986) $Revision: 70.5 $ 99/07/06 cmd/lvm/lib/lvmraw.c, hpux, hpux_10.26, ic5 dh Revision 1.5 PATCH_10.26 (PHC0_18986) 99/09/16 lib/libsecurity/mandlib.c, hpux, hpux_10.26 , ic5dh Revision 1.5 PATCH_10.26 (PHCO_17760 ) $ 99/05/21 lib/libsecurity/map_ids.c, hpux, hpux_10.26 , ic5dh Revision 1.12 PATCH_10.26 (PHCO_1850 2) 99/05/21 lib/libsecurity/authcap.c, hpux, hpux_10.26 , ic5dh Revision 1.5 PATCH_10.26 (PHCO_18502 ) ic5ae_DAV17 lib/libc/archive_pa1/libc.a_01 Sep 16 1999 21:19:53 /sbin/lvchange: 99/09/16 lib/libc/core/gen/ctime.c, hpux, hpux_10.26 , ic5dh Revision 1.2 PATCH_10.26 (PHCO_17823 ) UNMODIFIED 1999/09/16 Hewlett-Packard HP-UX 10.26 TOS [ ic5dh - DAV17 ] 99/07/21 cmd/lvm/lvremove.c, hpux, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/pvcreate.c, hpux, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/vgchgid.c, cmds, hpux_10.26, ic5dh Revision 1.3 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/vgextend.c, cmds, hpux_10.26, ic5dh Revision 1.4 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/vgimport.c, cmds, hpux_10.26, ic5dh Revision 1.3 PATCH_10.26 (PHCO_18986) 99/07/21 cmd/lvm/vgreduce.c, cmds, hpux_10.26, ic5dh Revision 1.3 PATCH_10.26 (PHCO_18986) 99/08/02 cmd/lvm/lvm_secure.c, hpux, hpux_10.26, ic5 dh Revision 1.3 PATCH_10.26 (PHCO_18986) $Revision: 70.5 $ cmd/lvm/lvmmain.c, hpuxcmds, vvos_davis, davis7 $Dat e: 97/03/11 16:35:25 $ $Revision: 1.5 PATCH_ 10.24 (PHCO_10052) $ 99/07/26 cmd/lvm/lvmmain.c, hpux, hpux_10.26, ic5dh Revision 1.6 PATCH_10.26 (PHCO_18986) 99/07/09 cmd/lvm/nomwcsyncd.c, hpux, hpux_10.26, ic5 dh Revision 1.1 PATCH_10.26 (PHCO_18986) 99/07/19 cmd/lvm/hpux_rel.c, cmds, hpux_10.26, ic5dh Revision 1.4 PATCH_10.26 (PHCO_18986) UNMOD IFIED $Revision: 78.57.1.3.2.68 $ MIRROR PRODUCT 99/07/19 cmd/lvm/lib/utilities.c, cmds, hpux_10.26, ic5dh Revision 1.3 PATCH_10.26 (PHCO_18986) UNMODIFIED 99/07/19 cmd/lvm/lib/logvol.c, cmds, hpux_10.26, ic5 dh Revision 1.3 PATCH_10.26 (PHCO_18986) UNM ODIFIED 99/07/21 cmd/lvm/lib/dump.c, hpux, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHCO_18986) 99/07/09 cmd/lvm/lib/maps.c, cmds, hpux_10.26, ic5dh Revision 1.2 PATCH_10.26 (PHCO_18986) UNMOD IFIED 99/07/06 cmd/lvm/lib/lvmraw.c, hpux, hpux_10.26, ic5 dh Revision 1.5 PATCH_10.26 (PHC0_18986) 99/09/16 lib/libsecurity/mandlib.c, hpux, hpux_10.26 , ic5dh Revision 1.5 PATCH_10.26 (PHCO_17760 ) $ 99/05/21 lib/libsecurity/map_ids.c, hpux, hpux_10.26 , ic5dh Revision 1.12 PATCH_10.26 (PHCO_1850 2) 99/05/21 lib/libsecurity/authcap.c, hpux, hpux_10.26 , ic5dh Revision 1.5 PATCH_10.26 (PHCO_18502 ) ic5ae_DAV17 lib/libc/archive_pa1/libc.a_01 Sep 16 1999 21:19:53 /usr/share/man/man1m.Z/lvchange.1m: None /usr/share/man/man1m.Z/lvcreate.1m: None /usr/share/man/man1m.Z/lvdisplay.1m: None /usr/share/man/man1m.Z/lvextend.1m: None /usr/share/man/man1m.Z/lvlnboot.1m: None /usr/share/man/man1m.Z/lvreduce.1m: None /usr/share/man/man1m.Z/vgcfgrestor.1m: None /usr/share/man/man1m.Z/vgchange.1m: None /usr/share/man/man1m.Z/vgchgid.1m: None /usr/share/man/man1m.Z/vgcreate.1m: None /usr/share/man/man1m.Z/vgexport.1m: None /usr/share/man/man1m.Z/vgextend.1m: None /usr/share/man/man1m.Z/vgimport.1m: None /usr/share/man/man1m.Z/vgscan.1m: None /usr/lib/nls/msg/C/lvm.cat: None /etc/auth/system/files.fcdb/05.base/PHCO_18986.fcdb: 99/08/06 etc/auth/system/files.fcdb/05.base/PHCO_189 86.fcdb, hpux, hpux_10.26, ic5dh Revision 1. 2 PATCH_10.26 (PHCO_18986) cksum(1) Output: 1048967682 425984 /usr/sbin/lvchange 3717538766 475136 /usr/sbin/lvmmigrate 2385829417 815104 /sbin/lvchange 2652766320 6460 /usr/share/man/man1m.Z/lvchange.1m 4156131851 8119 /usr/share/man/man1m.Z/lvcreate.1m 3701264374 5377 /usr/share/man/man1m.Z/lvdisplay.1m 2329616078 4843 /usr/share/man/man1m.Z/lvextend.1m 1832480263 8007 /usr/share/man/man1m.Z/lvlnboot.1m 1017386906 4972 /usr/share/man/man1m.Z/lvreduce.1m 2198047417 4229 /usr/share/man/man1m.Z/vgcfgrestor.1m 1260775991 7790 /usr/share/man/man1m.Z/vgchange.1m 19411062 3815 /usr/share/man/man1m.Z/vgchgid.1m 4093849287 5727 /usr/share/man/man1m.Z/vgcreate.1m 1362780274 3967 /usr/share/man/man1m.Z/vgexport.1m 3185046689 5252 /usr/share/man/man1m.Z/vgextend.1m 2696776183 4684 /usr/share/man/man1m.Z/vgimport.1m 489367470 4846 /usr/share/man/man1m.Z/vgscan.1m 610984377 40846 /usr/lib/nls/msg/C/lvm.cat 1930219175 15771 /etc/auth/system/files.fcdb/05.base/ PHCO_18986.fcdb Patch Conflicts: None Patch Dependencies: s700: 10.26: PHKL_19409 s800: 10.26: PHKL_19410 Hardware Dependencies: None Other Dependencies: None Supersedes: None Equivalent Patches: PHCO_17389: s700: 10.20 s800: 10.20 Patch Package Size: 1890 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_18986 5a. For a standalone system, run swinstall to install the patch: swinstall -x autoreboot=true -x match_target=true \ -s /tmp/PHCO_18986.depot By default swinstall will archive the original software in /var/adm/sw/patch/PHCO_18986. 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_18986.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_18986.depot of=/dev/rmt/0m bs=2k Special Installation Instructions: None