Bug 680961 - Upgrade lvm2 to 2.02.84 version
Summary: Upgrade lvm2 to 2.02.84 version
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 5
Classification: Red Hat
Component: lvm2
Version: 5.6
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Milan Broz
QA Contact: Corey Marthaler
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-02-28 16:10 UTC by Milan Broz
Modified: 2013-03-01 04:10 UTC (History)
12 users (show)

Fixed In Version: lvm2-2.02.84-1
Doc Type: Bug Fix
Doc Text:
This field is the basis of the errata or release note for this bug. It can also be used for change logs. The Technical Note template, known as CCFR, is as follows: Cause What actions or circumstances cause this bug to present. Consequence What happens when the bug presents. Fix What was done to fix the bug. Result What now happens when the actions or circumstances above occur. Note: this is not the same as the bug doesn’t present anymore.
Clone Of:
Environment:
Last Closed: 2011-07-21 10:50:06 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2011:1071 0 normal SHIPPED_LIVE lvm2 bug fix and enhancement update 2011-07-21 10:50:01 UTC

Description Milan Broz 2011-02-28 16:10:41 UTC
To fix reported bugs and add new features of lvm2, userspace packages (lvm2 and
lvm2-cluster) will be updated to 2.02.84+ version in RHEL5.7.

Here is the changelog since RHEL5.6 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.84 - 9th February 2011
===================================
  Fix CRC32 calculation on big endian CPU (2.02.75).

Version 2.02.83 - 4th February 2011
===================================
  Allow exclusive activation of snapshots in a cluster.
  Leave EX lock unchanged when suspending a device in clvmd.
  Use sync_dev_names in unlock_vg macro for cluster-wide dev name sync.
  Fix fs operation stack handling when multiple operations on same device.
  Increase hash table size to 1024 lv names and 64 pv uuids.
  Remove fs_unlock() from lv_resume path.
  Fix wipe size when setting up mda.
  Remove unneeded checks for open_count in lv_info().
  Synchronize with udev before checking open_count in lv_info().
  Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested.
  Add "dmsetup ls --tree" output to lvmdump.
  Fix udev synchronization with no-locking --sysinit (2.02.80).
  Improve man page style consistency for pvcreate, pvremove, pvresize, pvscan.
  Avoid rebuilding of uuid validation table.
  Improve lvcreate error text from insufficient "extents" to "free space".
  Always use O_DIRECT when opening block devices to check for partitioning.

Version 2.02.82 - 24th January 2011
===================================
  Bring lvscan man page up-to-date.
  Fix lvchange --test to exit cleanly.
  Add change_tag to toollib.
  Allow multiple pvchange command line options to be specified together.
  Do not fail pvmove polling if another process cleaned up first.
  Avoid clvmd incrementing dlm lockspace reference count more than once.
  Add -f (don't fork) option to clvmd and fix clvmd -d<num> description.

Version 2.02.81 - 17th January 2011
===================================
  Do not scan devices in dev_reset_error_count().
  Skip unnecessary LOCK_NULL unlock call during volume deactivation.
  Skip fs_unlock when calling exec_cmd within activation code (for modprobe).
  Extend exec_cmd params to specify when device sync (fs_unlock) is needed.
  Replace fs_unlock by sync_local_dev_names to notify local clvmd. (2.02.80)
  Introduce sync_local_dev_names and CLVMD_CMD_SYNC_NAMES to issue fs_unlock.
  Accept fusion fio in device type filter.
  Add ability to convert mirror log type from disk to mirrored.

Version 2.02.80 - 10th January 2011
===================================
  Use same dm cookie for consecutive dm ops in same VG to reduce udev waits.
  Speed up command processing by caching resolved config tree.
  Pass config_tree to renamed function import_vg_from_config_tree().
  Detect NULL handle in get_property().
  Fix superfluous /usr in ocf_scriptdir instalation path.
  Add --with-ocfdir configurable option.
  Add aclocal.m4 (for pkgconfig).
  Fix memory leak in persistent filter creation error path.
  Check for errors setting up dm_task struct in _setup_task().
  Fail polldaemon creation when lvmcache_init() fails.
  Return PERCENT_INVALID for errors in _copy_percent() and _snap_percent().
  Remove some unused variables.
  Improve general lvconvert man page description.
  Return 0 from cmirrord initscript 'start' if daemon is already running.
  Fix wrongly paired unlocking of VG_GLOBAL in pvchange. (2.02.66)
  Add backtraces for backup and backup_remove fail paths.
  Detect errors from dm_task_set calls in _get_device_info (dmeventd).
  Add backtraces for archive and backup_locally in check_current_backup().
  Fix memory leak in debug mode of restart_clvmd() error path.
  Log error message for pthread_join() failure in clvmd.

Version 2.02.79 - 20th December 2010
====================================
  Remove some unused variables.
  Add missing test for reallocation error in _find_parallel_space().
  Add checks for allocation errors in config node cloning.
  Fix error path if regex engine cannot be created in _build_matcher().
  Use char* arithmetic in target_version(), _process_all() & _targets().
  Fixing const cast gcc warnings in the code.
  Check read() and close() results in _get_cmdline().
  Add const for struct config_node usage.
  Fix NULL pointer check in error path in clvmd do_command(). (2.02.78)
  Fix device.c #include to ensure 64-bit fopen64 use. (2.02.51)
  Add copy_percent and snap_percent to liblvm.
  Enhance vg_validate to ensure integrity of LV and PV structs referenced.
  Enhance vg_validate to check composition of pvmove LVs.
  Create /var/run/lvm directory during clvmd initialisation if missing.
  Use new dm_prepare_selinux_context instead of dm_set_selinux_context.
  Avoid revalidating the label cache immediately after scanning.
  Support scanning for a single VG in independent mdas.
  Don't skip full scan when independent mdas are present even if memlock is set.
  Set cmd->independent_metadata_areas if metadata/dirs or disk_areas in use.
  Cope better with an undefined target_percent operation in _percent_run.
  Avoid writing to freed memory in vg_release and rename to free_vg.  (2.02.78)

Version 2.02.78 - 6th December 2010
===================================
  Abort if segment tag allocation fails in pool format _add_stripe_seg.
  Abort in _mirrored_transient_status if referenced log/image LV is not active.
  Add backtraces for dev_set() and dev_close_immediate() errors in set_lv().
  Log any unlink() error in clvmd remove_lockfile().
  Log any pipe write() or close() errors in clvmd child_init_signal().
  Detect if orphan vginfo was lost from cache before _lvmcache_update_vgname().
  Do a full rescan if some device is missing in lvm1 format read_pvs_in_vg.
  Add missing check that dm_pool_create succeeded in write_config_node().
  Use dm_snprintf in clvmd-command.c to ensure an overlong buffer is truncated.
  Don't write to buffer if its reallocation failed in clvmd do_command().
  Switch from float to fixed point percentage handling.
  Avoid misleading missing PV warnings in vgextend --restoremissing.
  Fix memory leak when VG allocation policy in metadata is invalid.
  Ignore unrecognised allocation policy found in metadata instead of aborting.
  Factor out tag printing into _out_tags and avoid leaking string buffer.
  Remove some unused variables & assignments.
  Add missing vg_release calls in _vg_read_by_vgid.
  Fix debug logging of derived flag LCK_CACHE in clvmd.
  Fix test for no system_dir in _init_backup().
  Disallow lvconvert ops that both allocate & free supplied PEs in a single cmd.
  Fix liblvm seg_size to give bytes not sectors.
  Add functions to look up LV/PV by name/uuid to liblvm.
  Free cmd_context if fallback to LVM1 fails in lvm2_main().
  Free device name buffer in dmsetup parse_loop_device_name() error paths.
  Close format lib if init_format_fn fails in _init_formats().
  Don't leave /proc/mounts open after dmeventd snapshot event processing.
  Fix out-of-scope arg_vgnames use in process_each_lv().
  Remove incorrect dm_task_destroy(NULL) from _node_clear_table() error path.
  Add missing closedir in _rm_blks after removing stray LVM1 VG files.
  Suppress 'No PV label' message when removing several PVs without mdas.
  Fix default /etc/lvm permissions to be 0755. (2.02.66)

Version 2.02.77 - 22nd November 2010
====================================
  Allocate a pool for dummy VG in _pvsegs_sub_single.
  Add PV and LV segment types and functions to liblvm.
  Add set_property functions to liblvm.
  Remove tag length restriction and allow / = ! : # & characters.
  Support repetition of --addtag and --deltag arguments.
  Add infrastructure for specific cmdline arguments to be repeated in groups.
  Split the_args cmdline arguments and values into arg_props and arg_values.
  Fix fsadm no longer to require '-f' to resize an unmounted filesystem.
  Fix fsadm to detect mounted filesystems on older systems. (2.0.75)
  Extend cling allocation policy to recognise PV tags (cling_by_tags).
  Add allocation/cling_tag_list to lvm.conf.
  Regenerate configure with 'autoreconf' for --enable-ocf. (2.02.76)

Version 2.02.76 - 8th November 2010
===================================
  Clarify error messages when activation fails due to activation filter use.
  Add pacemaker script VolumeGroup.ocf with configure --enable-ocf.
  Import make.tmpl into include/ Makefile.
  Fix handling of online filesystem resize (using new fsadm return code).
  Add DIAGNOSTICS section to fsadm man page.
  Modify fsadm to return different status code for check of mounted filesystem.
  Update VG metadata only once in vgchange when making multiple changes.
  Allow independent vgchange arguments to be used together.
  Automatically unmount invalidated snapshots in dmeventd.
  Suppress some superfluous messages from clang static analysis.
  Fix a deadlock caused by double close in clvmd.
  Fix NULL pointer dereference on too-large MDA error path in _vg_read_raw_area.
  Use static for internal _align_chunk() and _new_chunk() from pool-fast.c.
  Fix vgchange to process -a, --refresh, --monitor and --poll like lvchange.
  Add lvm2app functions to query any pv, vg, or lv property / report field.

Version 2.02.75 - 25th October 2010
===================================
  Annotate more variables and parameters as const.
  Fix missing variable initialization in cluster_send() function from cmirrord.
  Fix pointer for VG name in _pv_resize_single error code path.
  Fix warning for changed alignment requirements for dmeventd read/write func.
  Add global/metadata_read_only to use unrepaired metadata in read-only cmds.
  Don't take write lock in vgchange --refresh, --poll or --monitor.
  Skip dm devices in scan if they contain only error targets or are empty.
  Fix strict-aliasing compile warning in partition table scanning.
  Fix pthread mutex usage deadlock in clvmd.
  Automatically extend snapshots with dmeventd according to policy in lvm.conf.
  Add activation/snapshot_autoextend_threshold/percent to lvm.conf.
  Fix liblvm2cmd link order to support --as-needed.
  Remove dependency on libm by replacing floor() by an integer-based algorithm.
  Fix hang when repairing a mirrored-log that had both devs fail.
  Convey need for snapshot-merge target in lvconvert error message and man page.
  Add devices/disable_after_error_count config to limit access to failing devs.
  Give correct error message when creating a too-small snapshot.
  Implement vgextend --restoremissing to reinstate missing devs that return.
  Make lvconvert respect --yes and --force when converting an inactive log.
  Refactor and add 'get' functions for lv properties/fields.
  Update script for fsadm testing.
  Better support of noninteractive shell execution of fsadm.
  Fix usage of --yes flag for ReiserFS resize in fsadm.
  Fix detection of mounted filesystems for fsadm when udev is used.
  Fix assignment of default value to LVM variable in fsadm.
  Fix support for --yes flag for fsadm.
  Do not execute lvresize from fsadm --dry-run.
  Fix fsadm return error code from user's break action.
  Allow CC to be overridden at build time (for 'scan-build make').
  Rename 'flags' to 'status' in struct metadata_area.
  Avoid segfault by limiting partial mode for lvm1 metadata. (2.02.74)
  Use dm_zalloc and dm_pool_zalloc throughout.
  Add pv_get_property and create generic internal _get_property function.
  Add 'get' functions for pv and vg properties/fields.
  Make generic GET_*_PROPERTY_FN macros with secondary macro for vg, pv & lv.
  Add tags_format_and_copy() common function and call from _tags_disp.
  Add id_format_and_copy() common function and call from _uuid_disp.
  Refactor report.c '*_disp' functions to call supporting functions.
  Move parts of metadata*.[ch] into new {pv|vg|lv}.[ch] files.
  Fix vg_read memory leak with directory-based metadata.
  Fix memory leak of config_tree in reinitialization code path.
  Fix pool destruction order in dmeventd_lvm2_exit() to avoid leak debug mesg.
  Read whole /proc/self/maps file before working with maps entries.
  Speed up unquoting of quoted double quotes and backslashes.
  Speed up CRC32 calculations by using a larger lookup table.

Comment 1 Milan Broz 2011-03-01 15:58:22 UTC
Fixed in lvm2-2.02.84-1.el5

Comment 4 Corey Marthaler 2011-05-17 22:54:46 UTC
LVM regression tests passed with the latest rpm. Marking verified.

2.6.18-261.el5

lvm2-2.02.84-3.el5    BUILT: Wed Apr 27 03:42:24 CDT 2011
lvm2-cluster-2.02.84-3.el5    BUILT: Wed Apr 27 03:42:43 CDT 2011
device-mapper-1.02.63-2.el5    BUILT: Fri Mar  4 10:23:17 CST 2011
device-mapper-event-1.02.63-2.el5    BUILT: Fri Mar  4 10:23:17 CST 2011
cmirror-1.1.39-10.el5    BUILT: Wed Sep  8 16:32:05 CDT 2010
kmod-cmirror-0.1.22-3.el5    BUILT: Tue Dec 22 13:39:47 CST 2009

Comment 6 Florian Nadge 2011-05-26 15:32:03 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:
This field is the basis of the errata or release note for this bug. It can also be used for change logs.

The Technical Note template, known as CCFR, is as follows:

Cause
    What actions or circumstances cause this bug to present.
Consequence
    What happens when the bug presents.
Fix
    What was done to fix the bug.
Result
    What now happens when the actions or circumstances above occur.
    Note: this is not the same as the bug doesn’t present anymore.

Comment 7 errata-xmlrpc 2011-07-21 10:50:06 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-1071.html

Comment 8 errata-xmlrpc 2011-07-21 12:29:23 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2011-1071.html


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