Bug 746302 - Upgrade lvm2 to 2.02.88 version
Summary: Upgrade lvm2 to 2.02.88 version
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: lvm2
Version: 5.7
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: rc
: ---
Assignee: Milan Broz
QA Contact: Cluster QE
URL:
Whiteboard:
Depends On:
Blocks: 746687
TreeView+ depends on / blocked
 
Reported: 2011-10-14 17:39 UTC by Milan Broz
Modified: 2018-11-26 17:51 UTC (History)
12 users (show)

Fixed In Version: lvm2-2.02.88-1.el5
Doc Type: Bug Fix
Doc Text:
The lvm2 packages have been upgraded to upstream version 2.02.88, which provide a number of bug fixes and enhancements over the previous version.
Clone Of:
: 746687 (view as bug list)
Environment:
Last Closed: 2012-02-21 06:05:04 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2012:0161 0 normal SHIPPED_LIVE lvm2 bug fix and enhancement update 2012-02-20 15:07:59 UTC

Description Milan Broz 2011-10-14 17:39:10 UTC
To fix reported bugs and add new features of lvm2, userspace packages (lvm2 and
lvm2-cluster) will be updated to 2.02.88 version in RHEL5.8.

Here is the changelog since RHEL5.7 version (some bugfixes are already fixed in
RHEL version, the additional patches in src.rpm are now included in base source
package):

Version 2.02.88 - 19th August 2011
==================================
  Remove incorrect 'Breaking' error message from allocation code. (2.02.87)
  Add lvconvert --merge support for raid1 devices split with --trackchanges.
  Support lvconvert of -m1 raid1 devices to a higher number.
  Add --trackchanges support to lvconvert --splitmirrors option for raid1.
  Support splitting off a single raid1 rimage in lvconvert --splitmirrors.
  Use sync_local_dev_names when reducing number of raid rimages in lvconvert.
  Add -V as short form of --virtualsize in lvcreate.
  Fix make clean not to remove Makefile.  (2.02.87)

Version 2.02.87 - 12th August 2011
==================================
  Fix make distclean to remove stray dmeventd and exported symbols files.
  Add global/detect_internal_vg_cache_corruption to lvm.conf.
  Use memory pool locking to check for corruption of internal VG structs.
  Cache and share generated VG structs.
  Fix possible format instance memory leaks and premature releases in _vg_read.
  Suppress locking error messages in monitoring init scripts.
  If pipe in clvmd fails return busy instead of using uninitialised descriptors.
  Add ability to reduce the number of mirrors in raid1 arrays to lvconvert.
  Add dmeventd plugin for raid.
  Replace free_vg with release_vg and move it to vg.c.
  Remove INCONSISTENT_VG flag from the code.
  Remove lock from cache in _lock_vol even if unlock fails.
  Initialise clvmd locks before lvm context to avoid open descriptor leaks.
  Remove obsolete gulm clvmd cluster locking support.
  Suppress low-level locking errors and warnings while using --sysinit.
  Remove unused inconsistent_seqno variable in _vg_read().
  Remove meaningless const type qualifiers on cast type.
  Add test for fcntl error in singlenode client code.
  Remove --force option from lvrename manpage.
  Add global/mirror_segtype_default to pick md raid or dm mirror as default.
  Add configure --with-raid for new segtype 'raid' for MD RAID 1/4/5/6 support.
  Change DEFAULT_UDEV_SYNC to 1 so udev_sync is used if there is no config file.
  Add systemd unit file to provide lvm2 monitoring.
  Compare file size (as well as timestamp) to detect changed config file.

Version 2.02.86 - 8th July 2011
===============================
  Remove unnecessary warning in pvcreate for MD linear devices.
  Move snapshot removal activation logic into lib/activate.
  Cope with a PV only discovered missing when creating deptree.
  Abort operation if dm_tree_node_add_target_area fails.
  Add activation/checks to lvm.conf to perform additional ioctl validation.
  Always preload on suspend, even if no metadata changed (lvchange --refresh).
  When suspending, automatically preload newly-visible existing LVs.
  Teardown any stray devices with $COMMON_PREFIX during test runs.
  Reinstate correct permissions when creating mirrors. [2.02.85]
  Append 'm' attribute to pv_attr for missing PVs.
  Annotate CLVMD_CMD_SYNC_NAMES in decode_cmd.
  Remove enforcement of udev verification when using non-standard /dev location.
  Fix to preserve exclusive activation of mirror while up-converting.
  Reject allocation if number of extents is not divisible by area count.
  Fix cluster mirror creation to work with new mirror allocation algorithm.
  Ignore activation/verify_udev_operations if dm kernel driver vsn < 4.18.
  Add activation/verify_udev_operations to lvm.conf, disabled by default.
  Call vg_mark_partial_lvs() before VG structure is returned from the cache.
  Remove unused internal flag ACTIVATE_EXCL from the code.
  Remove useless test of ACTIVATE_EXCL in lv_add_mirrors() clustered code path.
  Add lv_activate_opts structure for activation (replacing activation flags).
  Ignore inconsistent pre-commit metadata on MISSING_PV devs while activating.
  Add proper udev library context initialization and finalization to liblvm.
  Fix last snapshot removal to avoid table reload while a device is suspended.
  Use dm_get_suspended_counter in replacement critical_section logic.
  Downgrade critical_section errors to debug level until it is moved to libdm.
  Fix ignored background polling default in vgchange -ay.
  Fix pvmove activation sequences to avoid trapped I/O with multiple LVs.
  Annotate critical section debug messages.
  Fix reduction of mirrors with striped segments to always align to stripe size.
  Validate mirror segments size.
  Include lvmetad development code in tree.
  Fix extent rounding for striped volumes never to reduce more than requested.
  Fix create_temp_name to replace any '/' found in the hostname with '?'.
  Always use append to file in lvmdump. selinux policy may ban file truncation.
  Propagate test mode to clvmd to skip activation and changes to held locks.
  Defer writing PV labels until vg_write.
  Store label_sector only in struct physical_volume.
  Permit --available with lvcreate so non-snapshot LVs need not be activated.
  Report sector containing label in verbose message.
  Clarify error message when unable to convert an LV into a snapshot of an LV.
  Add and use dev_open_readonly and variations.
  Do not log a superfluous stack message when the lv is properly processed.
  Do not issue an error message when unable to remove .cache on read-only fs.
  Avoid memlock size mismatch by preallocating stdio line buffers.
  Rewrite vgreduce --removemissing --force to share lvconvert code.
  Reorganize lvconvert --repair code to allow reuse.

Version 2.02.85 - 29th April 2011
=================================
  Add new obtain_device_list_from_udev setting to lvm.conf.
  Obtain device list from udev by default if LVM2 is compiled with udev support.
  Add test for vgimportclone and querying of vgnames with duplicate pvs.
  Avoid use of released memory when duplicate PV is found.
  Add "devices/issue_discards" to lvm.conf.
  Issue discards on lvremove and lvreduce etc. if enabled and supported.
  Add seg_pe_ranges and devices fields to liblvm.
  Fix incorrect tests for dm_snprintf() failure.
  Fix some unmatching sign comparation gcc warnings in the code.
  Support lv_extend() on empty LVs.
  Avoid regenerating cache content when exported VG buffer is unchanged.
  Extend the set of memory regions that are not locked to memory.
  Workaround some problems when compiled for valgrind memcheck.
  Support controlled quit of the lvm_thread_fn function in clvmd.
  Fix reading of unallocated memory in lvm1 format import function.
  Replace several strncmp() calls with id_equal().
  Fix lvmcache_info transfer to orphan_vginfo in _lvmcache_update_vgname().
  Fix -Wold-style-definition gcc warnings.
  Rename MIRROR_NOTSYNCED to LV_NOTSYNCED.
  Fix _move_lv_segments to handle empty LVs.
  Fixes for lvconvert (including --repair) of temporary mirror stacks.
  Avoid potential loop when removing mirror images.
  Fix mirror removal always to take account of preferences as to which.
  Fix MIRRORED flag usage.
  Remove error messages issued by device_is_usable when run as non-root.
  Add missing \0 for grown debug object in _bitset_with_random_bits().
  Fix allocation of system_id buffer in volume_group structure.
  Fix readlink usage inside get_primary_dev().
  Use format instance mempool where possible and adequate.
  Call destroy_instance for any PVs found in VG structure during vg_free call.
  Add new free_pv_fid fn and use it throughout to free all attached fids.
  Use only vg_set_fid and new pv_set_fid fn to assign the format instance.
  Make create_text_context fn static and move it inside create_instance fn.
  Add mem and ref_count fields to struct format_instance for own mempool use.
  Use new alloc_fid fn for common format instance initialisation.
  Optimise _get_token() and _eat_space().
  Add _lv_postorder_vg() to improve efficiency for all LVs in VG.
  Add gdbinit script for debugging.
  Use hash tables to speedup string search in vg_validate().
  Refactor allocation of VG structure adding alloc_vg().
  Avoid possible endless loop in _free_vginfo when 4 or more VGs have same name.
  Use empty string instead of /dev// for LV path when there's no VG.
  Don't allocate unused VG mempool in _pvsegs_sub_single.
  Do not send uninitialised bytes in local clvmd messages.
  Support --help option for clvmd and return error for unknown option.
  Avoid reading freed memory when printing LV segment type.
  Fix syslog initialisation in clvmd to respect lvm.conf setting.
  Fix possible overflow in maximum stripe size and physical extent size.
  Improve pvremove error message when PV belongs to a VG.
  Extend normal policy to allow mirror logs on same PVs as images if necessary.
  Improve cling policy to recognise PVs already used during the transaction.
  Improve normal allocation algorithm to include clinging to existing areas.
  Add allocation/maximise_cling & mirror_logs_require_separate_pvs to lvm.conf.
  Adapt metadata balancing code to work with metadata handling changes.
  Add old_id field to physical_volume and fix pvchange -u for recent changes.
  Allow pvresize on a PV with two metadata areas.
  Change pvcreate to use new metadata handling interface.
  Restructure existing pv_setup and pv_write and add pv_initialise.
  Add internal interface to support adding and removing metadata areas.
  Allow internal indexing of metadata areas (PV id + mda order).
  Generalise internal format_instance infrastrusture for PV and VG use.
  Handle decimal digits with --units instead of ignoring them silently.
  Fix remaining warnings and compile with -Wpointer-arith.
  Fix gcc warnings for unused variables and const casts.
  Add stack backtraces for error paths in process_each_lv().
  Temporarily suppress error from calling yes_no_prompt while locks are held.
  Replace void* with char* arithmetic in _text_write, _text_read & send_message.
  Fix compilation without DEVMAPPER_SUPPORT.
  Remove fs_unlock() from lv_suspend error path.
  Allow memory to stay locked between leaving and re-entering critical sections.
  Rename memlock to critical_section throughout.
  Make pv_min_size configurable and increase to 2048KB to exclude floppy drives.
  Add find_config_tree_int64 to read 64-bit ints from config.
  Ensure resuming exclusive cluster mirror continues to use local mirror target.
  Clear temporary postorder LV status flags to allow re-use with same LV struct.
  Remove invalid snapshot umount mesg which floods syslog from dmeventd plugin.
  Add extended examples to pvmove man page.
  Support LVM_TEST_DEVDIR env var for private /dev during testing.

Comment 1 Alasdair Kergon 2011-10-14 17:58:20 UTC
Please note that this will be the last lvm2 rebase in RHEL5 and the code base chosen, release 2.02.88, is already almost 2 months old upstream.

Comment 2 Milan Broz 2011-10-17 21:36:28 UTC
Fixed in lvm2-2.02.88-1.el5.

Comment 4 Tru Huynh 2011-11-04 21:33:49 UTC
will the vgs man pages also incorporate the seg_pe_ranges (and friends) column names ?
"vgs -o +seg_pe_ranges" works fine but is not documented

Comment 5 Milan Broz 2011-12-06 23:29:37 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
The lvm2 packages have been upgraded to upstream version 2.02.88, which provide a number of bug fixes and enhancements over the previous version.

Comment 6 Corey Marthaler 2011-12-08 23:47:36 UTC
Basic regression testing passed on the latest rhel5.8 rpms. Marking this tracker verified.

2.6.18-274.el5

lvm2-2.02.88-5.el5    BUILT: Fri Dec  2 12:25:45 CST 2011
lvm2-cluster-2.02.88-5.el5    BUILT: Fri Dec  2 12:48:37 CST 2011
device-mapper-1.02.67-2.el5    BUILT: Mon Oct 17 08:31:56 CDT 2011
device-mapper-event-1.02.67-2.el5    BUILT: Mon Oct 17 08:31:56 CDT 2011
cmirror-1.1.39-14.el5    BUILT: Wed Nov  2 17:25:33 CDT 2011
kmod-cmirror-0.1.22-3.el5    BUILT: Tue Dec 22 13:39:47 CST 2009

Comment 7 errata-xmlrpc 2012-02-21 06:05:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0161.html


Note You need to log in before you can comment on or make changes to this bug.