Red Hat Bugzilla – Bug 501756
Upgrade lvm2 to 2.02.46 version
Last modified: 2013-02-28 23:07:53 EST
To fix reported bugs and add new features of lvm2, userspace packages (lvm2 and lvm2-cluster) will be updated to 2.02.46 version in RHEL5.4.
Here is the changelog since RHEL5.3 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.46 -
Inherit read ahead from underlying device.
Use lock query instead of activate_lv_excl.
Enable online resizing of mirrors.
Use suspend with flush when device size was changed during table preload.
Introduce CLVMD_CMD_LOCK_QUERY command for clvmd.
Use lvconvert --repair in dmeventd mirror DSO.
Fix pvmove to revert operation if temporary mirror creation fails.
Fix metadata export for VG with missing PVs.
Add vgimportclone and install it and the man page by default.
Force max_lv restriction only for newly created LV.
Remove unneeded import parameter from lv_create_empty.
Merge lv_is_displayable and lv_is_visible functions.
Introduce lv_set_visible & lv_set_invisible functions.
Fix lv_is_visible to handle virtual origin.
Introduce link_lv_to_vg and unlink_lv_from_vg functions.
Remove lv_count from VG and use counter function instead.
Fix snapshot segment import to not use duplicate segments & replace.
Do not query nonexistent devices for readahead.
Remove NON_BLOCKING lock flag from tools and set a policy to auto-set.
Remove snapshot_count from VG and use function instead.
Fix first_seg() call for empty segment list.
Add make install_lvm2 as complement to device-mapper install.
Reject missing PVs from allocation in toollib.
Fix PV datalignment for values starting prior to MDA area. (2.02.45)
Add sparse devices: lvcreate -s --virtualoriginsize (hidden zero origin).
Add lvs origin_size field.
Fix linux configure --enable-debug to exclude -O2.
Implement lvconvert --repair, for repairing partially failed mirrors.
Fix vgreduce --removemissing failure exit code.
Fix remote metadata backup for clvmd.
Alloc PV internal structure from VG mempool if possible.
Fix metadata backup to run after vg_commit always.
Tidy clvmd volume lock cache functions.
Fix pvs report for orphan PVs when segment attributes are requested.
Fix pvs -a output to not read volume groups from non-PV devices.
Add MMC (mmcblk) device type to filters.
Introduce memory pools per volume group (to reduce memory for large VGs).
Add memory pool leaks detection.
Use copy of PV structure when manipulating with global PV lists.
Always return exit error status when locking of volume group fails.
Fix mirror log convert validation question.
Avoid referencing files from DESTDIR during build process.
Avoid creating some static libraries without static_link.
Enable use of cached metadata for pvs and pvdisplay commands.
Add missing 'device-mapper' internal subdir build dependency.
Fix memory leak in mirror allocation code.
Save and restore the previous logging level when log level is changed.
Fix error message when archive initialization fails.
Make sure clvmd-corosync releases the lockspace when it exits.
Fix segfault for vgcfgrestore on VG with missing PVs.
Block SIGTERM & SIGINT in clvmd subthreads.
Detect and conditionally wipe swapspace signatures in pvcreate.
Fix maximal volume count check for snapshots if max_lv set for volume group.
Fix lvcreate to remove cow volume if the snapshot creation fails.
Fix error messages when PV uuid or pe_start reading fails.
Rename liblvm.a to liblvm-internal.a and build new application library.
Flush memory pool and fix locking in clvmd refresh and backup command.
Fix unlocks in clvmd-corosync. Broken in 2.02.45.
Fix error message when adding metadata directory to internal list fails.
Fix size and error message of memory allocation at backup initialization.
Remove old metadata backup file after renaming vg.
Restore log_suppress state when metadata backup file is up-to-date.
Version 2.02.45 - 3rd March 2009
Avoid scanning empty metadata areas for VG names.
Attempt proper clean up in child before executing new binary in exec_cmd().
Do not scan devices if reporting only attributes from PV label.
Use pkgconfig to obtain corosync library details during configuration.
Fix error returns in clvmd-corosync interface to DLM.
Add --refresh to vgchange and vgmknodes man pages.
Pass --test from lvresize to fsadm as --dry-run.
Supply argv list to exec_cmd() to allow for variable number of parameters.
Prevent fsadm from checking mounted filesystems.
No longer treats any other key as 'no' when prompting in fsadm.
Tidy fsadm command line processing.
Add lib/lvm.h and lib/lvm_base.c for the new library interface.
Move tools/version.h to lib/misc/lvm-version.h.
Split LVM_VERSION into MAJOR, MINOR, PATCHLEVEL, RELEASE and RELEASE_DATE.
Add system_dir parameter to create_toolcontext().
Add --dataalignment to pvcreate to specify alignment of data area.
Exclude LCK_CACHE locks from _vg_lock_count, fixing interrupt unblocking.
Provide da and mda locations in debug message when writing text format label.
Mention the restriction on file descriptors at invocation on the lvm man page.
Index cached vgmetadata by vgid not vgname to cope with duplicate vgnames.
No longer require kernel and metadata major numbers to match.
Add a fully-functional get_cluster_name() to clvmd corosync interface.
Remove duplicate cpg_initialize from clvmd startup.
Add option to /etc/sysconfig/cluster to select cluster type for clvmd.
Allow clvmd to start up if its lockspace already exists.
Separate PV label attributes which do not need parse metadata when reporting.
Remove external dependency on the 'cut' command from fsadm.
Fix pvs segfault when pv mda attributes requested for not available PV.
Add fsadm support for reszing ext4 filesysystems.
Move locking_type reading inside init_locking().
Rename get_vgs() to get_vgnames() and clarify related error messages.
Allow clvmd to be built with all cluster managers & select one on cmdline.
Mention --with-clvmd=corosync in ./configure.
Replace internal vg_check_status() implementation.
Rename vg_read() to vg_read_internal().
Version 2.02.44 - 26th January 2009
Fix --enable-static_link after the recent repository changes.
Add corosync/DLM cluster interface to clvmd.
Add --nameprefixes, --unquoted, --rows to pvs, vgs, lvs man pages.
Fix lvresize size conversion for fsadm when block size is not 1K.
Fix pvs segfault when run with orphan PV and some VG fields.
Display a 'dev_size' of zero for missing devices in reports.
Add pv_mda_size to pvs and vg_mda_size to vgs.
Fix lvmdump /sys listing to include virtual devices directory.
Add "--refresh" functionality to vgchange and vgmknodes.
Avoid exceeding LV size when wiping device.
Calculate mirror log size instead of using 1 extent.
Ensure requested device number is available before activating with it.
Fix incorrect exit status from 'help <command>'.
Fix vgrename using UUID if there are VGs with identical names.
Fix segfault when invalid field given in reporting commands.
Move is_static from cmd to global is_static().
Refactor init_lvm() for lvmcmdline and clvmd.
Add liblvm interactive test infrastructure to build.
Add skeleton lvm2.h file in preparation for a shared library interface.
Use better random seed value in temp file creation.
Add read_urandom to read /dev/urandom. Use in uuid calculation.
Use displayable_lvs_in_vg and lv_is_displayable for consistency throughout.
Fix race in vgcreate that would result in second caller overwriting first.
Fix uninitialised lv_count in vgdisplay -c.
Don't skip updating pvid hash when lvmcache_info struct got swapped.
Add tinfo to termcap search path for pld-linux.
Fix startup race in clvmd.
Generate Red Hat clvmd startup script at config time with correct paths.
Fix clvmd & dmeventd builds after tree restructuring.
Cope with snapshot dependencies when removing a whole VG with lvremove.
Make man pages and tool help text consistent using | for alternative options.
Version 2.02.43 - 10th November 2008
Merge device-mapper into the lvm2 tree.
Correct prototype for --permission on lvchange and lvcreate man pages.
Exit with non-zero status from vgdisplay if couldn't show any requested VG.
Move list.c into libdevmapper and rename functions.
Rename a couple of variables that matched function names.
Use simplified x.y.z version number in libdevmapper.pc.
Remove ancient debian directory.
Split out lvm-logging.h from log.h and lvm-globals.[ch] from log.[ch].
Version 2.02.42 - 26th October 2008
Accept locking fallback_to_* options in the global section as documented.
Fix temp table activation in mirror conversions not to happen in other cmds.
Fix temp table in mirror conversions to use always-present error not zero.
Version 2.02.41 - 17th October 2008
Use temp table to set device size when converting mirrors.
In resume_mirror_images replace activate_lv with resume_lv as workaround.
Avoid overwriting in-use on-disk text metadata by forgetting MDA_HEADER_SIZE.
Fix snapshot monitoring library to not cancel monitoring invalid snapshot.
Generate man pages from templates and include version.
Add usrlibdir and usrsbindir to configure.
Fix conversion of md chunk size into sectors.
Free text metadata buffer after a failure writing it.
Fix misleading error message when there are no allocatable extents in VG.
Fix handling of PVs which reappeared with old metadata version.
Fix mirror DSO to call vgreduce with proper parameters.
Fix validation of --minor and --major in lvcreate to require -My always.
Fix release: clvmd build, vgreduce consolidate & tests, /dev/ioerror warning.
Marking this "bug" verified since the version was bumped.
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.