Created to collect together outstanding LVM2 issues affecting RHEL4. Some were reported via email or via the Debian bug system.
Since 2.00.31 was released, I have checked the following fixes into CVS: 1. Ignore sysfs symlinks when DT_UNKNOWN. I believe this will fix infinite loops when LVM scans sysfs on zSeries with FCP SCSI disks. Bug reported by Stefan Bader, IBM, (private email). 2. Skip devices that are too small to be PVs. The debugging messages added recently cause an error message to appear in some configurations when scanning an extended partition table - previously no message appeared. Functionality is not affected, but the new error message is disconcerting and may lead to unnecessary support requests. Reported on linux-lvm mailing list. 3. Fix pvchange -x segfault with lvm2-format orphan. Trivial fix of no importance: lvm2 segfaulted instead of displaying an error message. 4. Cope with empty msdos partition tables. Several people have reported problems with the recent fixes which seem to depend upon what was previously on their disks. One such case has been identified by Chris Webb (private email) who found that lilo creates an empty partition table which is ignored by the kernel but not by LVM2. He supplied a patch to handle this case correctly, which I have modified slightly and applied.
5. Fix device reference counting on re-opens. A report on linux-lvm of pvcreate looping together with a patch for it. I've not managed to reproduce the problem, but the patch is an extension to the recent hasty pvcreate fix so I've applied a tidied-up version of it.
6. Fix vgdisplay -s. Breaks (undocumented) lvs/pvs/vgs -s instead for now. Trivial. vgdisplay was treating -s as --separator, contrary to the documentation and breaking backwards-compatibility with LVM1.
7. Fix an error fprintf. Trivial correction to an error message. 8. Drop static/dl restriction for now. Attempt to correct the build options so that the extensions in the lvm2-cluster RPM will work with it - currently you have to rebuild everything.
9 - Include read-only pool support in the build.
10 - Ensure pvcreate wipes ext superblock (bug 140329)
11 - Remove temporary /sbin symlinks: only 'lvm.static' is needed now (everything else comes from /usr/sbin) - but must mention clearly in release note.
12 - Make /dev/mapper logical volume permissions/ownership the same as for disk devices so that standard backup tools are able to back up logical volumes. (bug 141050)
13 - Transparently correct /dev/mapper/control inside libdevmapper if it's wrong. (bug 138487) Included in dm 1.00.20.
Item 12 included in dm 1.00.20.
Items 9 & 11 included in 2.00.32-2.0
Item 10 included in 2.00.33.
14 - Only ask kernel for open_count when it's needed, not every time, to improve performance & reduce risk of deadlock in some circumstances. A kernel patch is required for this change to have any effect. Included in lvm2 2.01.00 / dm 1.01.00.
15 - 2 fixes so metadata auto-correction works properly again (esp. in vgscan) - broken since May 2003! Included in lvm2 2.01.00.
16 - vgcreate man page: qualified limitations lvm1-format only. (129701)
17 - userspace changes ready for supporting extending snapshot origin volumes when the kernel has been fixed to handle this.
16 included in 2.01.01 17 included in 2.01.03
18 - Fail the command if generation of random id fails. 19 - Recognise gnbd devices. 20 - Tidy pool sptype_names to avoid unused const. 21 - Fix some size_t printing. 18-21 included in 2.01.02. 22 - Fixes to reporting of 64-bit sizes. 23 - Better handling of condition where /etc/lvm doesn't exist and can't be created. 22-23 included in 2.01.03.
18 meant that pvcreate would succeed if /dev/random was missing but not have a properly-generated (or necessarily unique) PV UUID.
22 led to pvdisplay and pvs/vgs/lvs reporting incorrect sizes for TB devices in several places (mostly 32-bit instead of 64-bit multiplication by physical extent size).
24 - lvm2cmd.so needs to skip the check for open fds. 25 - pvmove -f option is unused: removed it.
26 - Fixed offset added to imported pool minor numbers so avoid conflicting with already-active devices. 24-26 included in 2.01.04
27 - Reinstated the /sbin symlinks removed in item 11, but made it so they will run the dynamic exectutable in /usr/sbin rather than the static one if it exists. Included in 2.01.05