Bug 1087783 - Update lvm2 to latest upstream release v2.02.106
Summary: Update lvm2 to latest upstream release v2.02.106
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: lvm2
Version: 20
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Peter Rajnoha
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-04-15 10:01 UTC by Peter Rajnoha
Modified: 2014-04-20 01:28 UTC (History)
11 users (show)

Fixed In Version: lvm2-2.02.106-1.fc20
Clone Of:
Environment:
Last Closed: 2014-04-20 01:28:50 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Peter Rajnoha 2014-04-15 10:01:52 UTC
Update lvm2 to latest upstream release v2.02.16 which includes various fixes and enhancements:

=====
LVM2:
=====

Version 2.02.106 - 10th April 2014
==================================
  Fix ignored --dataalignment/dataalignment offset for pvcreate --restorefile.
  Fix lost information about bootloader area when using lvmetad.
  Don't require --major to be specified when using -My option on kernels > 2.4.
  Add configure --disable-thin_check_needs_check to support old thin_check.
  Use thin_check --clear-needs-check-flag by default.
  Export lvm_even_rand() for controlled provision of random numbers.
  Add lvmthin man page to section 7.
  Ensure mapped device names are not too long in vg_validate and lvrename.
  Ensure resume failure in lvrename results in command failure.
  Add explicit error message when using lvdisplay -c -m.
  Report error if superfluous argument (e.g. PV name) supplied to pvscan.
  Fix error message for pvdisplay -c -m and add one for pvdisplay -c -s.
  Use EINVALID_CMD_LINE correctly instead of ECMD_FAILED in vgimport/export.
  Obtain list of known VGs from lvmetad for pvchange --all.
  Add man page for lvm-dumpconfig to section 8.
  Drop unused cmd pointer for internal function for_each_sub_lv().
  Validate name for renamed sub LVs.
  When lvrename fails on argument parsing return EINVALID_CMD_LINE.
  Fix exit code regression in failing pvchange command (2.02.66).
  Include 'lvm dumpconfig --type missing' and '--type diff' output to lvmdump.
  Return failure when specifying negative size for pvresize.
  Fix memory corruption in cmd context refresh if clvmd leaks opened device.
  Reinitialise lvmcache properly on fork to fix premature polldaemon exit.
  Add 'lvm dumpconfig --type diff' to show differences from defaults.
  Fix swap signature detection for devices smaller then 2MB.
  Use dm_malloc function in clvmd.c.
  Resolve memory release order for clvmd shutdown.
  Report error when lvm2 activation is released in critical_section.
  Fix memory corruption when pvscan reports long pv names.
  Do not report internal orphan VG names when reporting pvdisplay/pvscan.
  Fix pvdisplay -c man page referencing KB instead of sectors.
  Skip redundant synchronization calls on local clvmd.
  Use correct PATH_MAX for locking dir path.
  Do not check for backups when when its creation is disabled.
  Don't allow --mergedconfig without --type current in dumpconfig. Fix memleak.
  Make global/lvdisplay_shows_full_device_path lvm.conf setting profilable.
  Make global/{units|si_unit_consistency|suffix} lvm.conf setting profilable.
  Validate minimal chunk size for snapshot COW volume in lvconvert.
  Disallow lvconvert of origin to snapshot COW volume.
  Make report lvm.conf settings profilable.
  Add existing report settings to lvm.conf.
  Use VG read lock during 'pvscan --cache -aay' autoactivation.
  Issue a VG refresh before autoactivation only if the PV has changed/is new.
  Add flag to lvmetad protocol to indicate the PV scanned has changed/is new.
  Also add vgname to lvmetad protocol when referencing VGs for PVs scanned.
  Add man page for lvm2-activation-generator.
  Don't print an error and accept empty value for global/thin_disabled_features.
  Update API for internal function build_dm_uuid().
  Do not try to check empty pool with scheduled messages.
  Fix return value in pool_has_message() when quering for any message.
  Cleanup all client resources on clvmd exit.
  Use dm_zalloc to clear members of clvmd client struct.
  Use BLKID_CFLAGS when compiling with blkid support.
  Use correct rl_completion_func_t typedef for new readline.
  Make lvm 'dumpconfig --type default' complete for it to be consumed by lvm.
  Run pvscan --cache via systemd-run in udev if the PV label is detected lost.
  Fix memleak when lvmetad discovers PV to appear on another device.
  Fix calculation of maximum size of COW device for snapshot (2.02.99).
  Do not allow stripe size to be bigger then extent size for lvresize.
  Zero snapshot COW header when creating read-only snapshot.
  Comment out config lines in dumpconfig output without default values defined.
  Improve detection of clustered mirror support.
  Enhance raid code with feature flags, for now checks for raid10.
  Move parsing of VG metadata from vg_commit() back to vg_write() (2.02.99)
  Avoid a PV label scan while in a critical section.
  Remove (always 0) skip argument from lv_activation_skip().
  Create /dev/disk/by-id/lvm-pv-uuid-<PV_UUID> symlink for each PV via udev.
  lvcreate computes RAID4/5/6 stripes if not given from # of allocatable PVs.
  Fix merging of old snapshot into thin volume origin.
  Use --ignoreskippedcluster in lvm2-monitor initscript/systemd unit.
  Do not use VG read/write state for LV read/write state.
  Use --ignoreskippedcluster in activation systemd units if use_lvmetad=0.
  Allow approximate allocation when specifying size in percentage terms.
  Add basic LVM support for cache[pool] segment types.
  Use local exclusive activation for creation of raid in cluster.
  Use correctly signed 64b constant when selecting raid volumes.
  Add systemd native service for clvmd, cmirrord and clustered LV activation.
  Remove ExecReload from lvmetad systemd unit: lvmetad -R undefined. (2.02.98)
  Do not fork lvmetad if running under systemd.
  Wipe DM_snapshot_cow signature without prompt in new LVs with blkid wiping.
  Avoid exposing temporary devices when initializing raid metadata volumes.
  Add internal tags command to display any tags defined on the host.
  Prohibit use of external origin with size incompatible with thin pool.
  Avoid trying to convert single to thin pool and volume at the same time.
  Add support for partitions on ZFS zvol.
  Fix unwanted drop of hold flocks on forked children.
  Respect LVM_LVMETAD_PIDFILE env var for lvm command.
  Avoid exposing temporary devices when initializing thin pool volume.
  Fix test when checking target version for available thin features.
  Detect thin feature external_origin_extend and limit extend when missing.
  Rename internal pool_can_resize_metadata() to thin_pool_feature_supported().
  Issue error if libbblkid detects signature and fails to return offset/length.
  Update autoconf config.guess/sub to 2014-01-01.
  Online thin pool metadata resize requires 1.10 kernel thin pool target.

Version 2.02.105 - 20th January 2014
====================================
  Fix thin LV flagging for udev to skip scanning only if the LV is wiped.
  Replace use of xfs_check with xfs_repair in fsadm. 
  Mark lvm1 format metadata as FMT_OBSOLETE. Do not use it with lvmetad.
  Invalidate cached VG struct after a PV in it gets orphaned. (2.02.87)
  Mark pool format metadata as FMT_OBSOLETE.
  Use major:minor in lvm2-pvscan@.service for proper global_filter application.
  Syntax and spelling fixes in some man pages.
  Dependency scan counts with snapshots and external origins.
  Make sure VG extent size is always greater or equal to PV phys. block size.
  Optimize double call of stat() for cached devices.
  Enable support for thin provisioning for default configuration.
  Improve process_each_lv_in_vg() tag processing.
  Reordered and simplified logging code.
  Fix SYSTEMD_READY assignment for foreign devices in lvmetad udev rules.
  Disable online thin pool metadata resize for 1.9 kernel thin target.
  Shortened code for initialization of raid segment types.
  Cache global library dir in command context.
  Return success when inserting dirs and links into device cache.
  Test for remote exclusive activation after activation fails.
  Support lvconvert --merge for thin snapshots.
  Add support to read thin device id from table line entry.
  Drop extra test for origin when testing merging origin in lv_refresh().
  Extend lv_remove_single() to not print info about removed LV.
  Replace open_count check with lv_check_not_in_use() for snapshot open test.
  Add error messages with LV names for failing lv refresh.
  Compile/link executables with new RELRO and PIE options (non-static builds).
  Support per-object compilation cflags via CFLAGS_object.o.
  Automatically detect support for compiler/linker options to use RELRO and PIE.
  Add --splitsnapshot to lvconvert to separate out cow LV.
  Reinstate origin reload to complete lvconvert -s with active LVs. (2.02.98)
  Select only active volume groups if vgdisplay -A is used.
  Add -p and LVM_LVMETAD_PIDFILE env var to lvmetad to change pid file.
  Allow lvmetad to reuse stale socket.
  Only unlink lvmetad socket on error if created by the same process.
  Append missing newline to lvmetad missing socket path error message.
  Check for non-zero aligment in _text_pv_add_metadata_area() to not div by 0.
  Add allocation/use_blkid_wiping to lvm.conf to enable blkid wiping.
  Enable blkid_wiping by default if the blkid library is present.
  Add configure --disable-blkid_wiping to disable libblkid signature detection.
  Add -W/--wipesignatures lvcreate option to support wiping on new LVs.
  Add allocation/wipe_signatures_when_zeroing_new_lvs to lvm.conf.
  Do not fail the whole autoactivation if the VG refresh done before fails.
  Do not connect to lvmetad on vg/lvchange --sysinit -aay and socket absent.
  Use lv_check_not_in_use() when testing device in use before merging.
  Move test for target present from init_snapshot_merge() to lvconvert.
  Check for failure of lvmcache_add_mda() when writing pv.
  Check for failure of dev_get_size() when reporting device size.
  Drop extra unneeded '/' when scanning sysfs directory.
  Fix undef value if skipped clustered VG ignored for toollib PV seg. (2.02.103)
  Support validation of VG/LV names in liblvm/python.
  Allow creation of PVs with arguments to liblvm/python.
  Ensure sufficient metadata copies retained in liblvm/python vgreduce.
  Fix installation of profiles from conf subdir when not building in srcdir.
  Show UUIDs for missing PVs in reports.
  Change dev_size/name, pv_fmt/mda_free/mda_size/uuid fields from pv to label.
  Add struct device *dev to struct label.
  Introduce process_each_label.
  Change void *private to struct format_type *fmt in struct labeller.
  Remove pv_read.
  Add reporting of thin_id device id for thin volumes.
  Fix reporting of empty numerical values for recently-added fields.
  Use _field_set_percent/value in reporting code.

Version 2.02.104 - 13th November 2013
=====================================
  Workaround VG refresh race during autoactivation by retrying the refresh.
  Handle failures in temporary mirror used when adding images to mirrors.
  Fix and improve logic for implicitely exclusive activations.
  Return success when LV cannot be activated because of volume_list filter.
  Return proper error state for remote exclusive activation.
  Fix missing lvmetad scan for PVs found on MD partitions.
  Respect DM_UDEV_DISABLE_OTHER_RULES_FLAG in lvmetad udev rules.
  Fix clvmd message verification to not reject REMOTE flag. (2.02.100)
  Compare equality of double values with DBL_EPSILON predefined constant.
  Use additional gcc warning flags by default.
  Add ignore_lvm_mirrors to config file to read/ignore labels on mirrors.
  Add internal flag for temporary LVs to properly direct udev to not interfere.
  Fix endless loop in blkdeactivate <device>... if unable to umount/deactivate.
  Add dev-block-<major>:<minor>.device systemd alias for complete PV tracking.
  Use major:minor as short form of --major and --minor arg for pvscan --cache.
  Remove 2>/dev/null from three lvm commands executed by vgimportclone.
  Add configure --enable-udev-systemd-background-jobs.
  Add lvm2-pvscan@.service to run pvscan as a service for lvmetad/autoactivation.
  Use #ifdef __linux__ instead of linux throughout.
  Fix lvconvert swap of poolmetadata volume for active thin pool.
  Check for open count with a timeout before removal/deactivation of an LV.
  Report RAID images split with tracking as out-of-sync ("I").
  Improve parsing of snapshot lv segment.
  Add workaround for deactivation problem of opened virtual snapshot.
  Disable unsupported merge for virtual snapshot.
  Move code to remove virtual snapshot from tools to lib for lvm2app.
  Fix possible race during daemon worker thread creation (lvmetad).
  Fix possible deadlock while clearing lvmetad cache for full rescan.
  Recognise NVM Express devices in filter.
  Fix failing metadata repair when lvmetad is used.
  Fix incorrect memory handling when reading messages from lvmetad.
  Fix locking in lvmetad when handling the PV which is gone.
  Recognize new flag to skip udev scanning in udev rules and act appropriately.
  Add support for flagging an LV to skip udev scanning during activation.
  Improve message when unable to change discards setting on active thin pool.
  Run full scan before vgrename operation to avoid any cache name collision.
  Fix lvconvert when converting to a thin pool and thin LV at once. (2.02.99)


==============
DEVICE-MAPPER:
==============

Version 1.02.85 - 10th April 2014
=================================
  Check for sprintf error when building internal device path.
  Check for sprintf error when creating path for dm control node.
  When buffer for dm_get_library_version() is too small, return error code.
  Always reinitialize _name_mangling_mode in dm_lib_init().
  Add tracking flag about implicitly added devices into dm_tree.
  Stop timeout thread immediately when the last worker thread is finished.
  Fix dmeventd logging with parallel wait event processing.
  Reuse _node_send_messages() for validation of transaction_id in preload.
  Transaction_id could be lower by one only when messages are prepared.
  Do not call callback when preload fails.
  Wrap is_selinux_enabled() to be called just once.
  Use correctly signed 64b constant when working with raid volumes.
  Exit dmeventd with pidfile cleanup instead of raising SIGKILL on DIE request.
  Add new DM_EVENT_GET_PARAMETERS request to dmeventd protocol.
  Do not use systemd's reload for dmeventd restart, use dmeventd -R instead.
  Drop cryptsetup rules from 10-dm.rules - cryptsetup >= 1.1.3 sets them.

Version 1.02.84 - 20th January 2014
===================================
  Revert activation of activated nodes if a node preload callback fails.
  Avoid busy looping on CPU when dmeventd reads event DM_WAIT_RETRY.
  Ensure global mutex is held when working with dmeventd thread.
  Drop taking timeout mutex for un/registering dmeventd monitor.
  Allow section names in config file data to be quoted strings.
  Close fifos before exiting in dmeventd restart() error path.
  Move printf format string directly into dm_asprintf args list.
  Catch invalid use of string sort values when reporting numerical fields.

Version 1.02.83 - 13th November 2013
====================================
  Consistently report on stderr when device is not found for dmsetup info.
  Skip race errors when non-udev dmsetup build runs on udev-enabled system.
  Skip error message when holders are not present in sysfs.
  Use __linux__ instead of linux define to make libdevmapper.h C compliant.
  Use mutex to avoid possible race while creating/destroying memory pools.
  Require libpthread to build now.

Comment 1 Fedora Update System 2014-04-15 10:29:11 UTC
lvm2-2.02.106-1.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/lvm2-2.02.106-1.fc20

Comment 2 Fedora Update System 2014-04-16 09:25:46 UTC
Package lvm2-2.02.106-1.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing lvm2-2.02.106-1.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2014-5241/lvm2-2.02.106-1.fc20
then log in and leave karma (feedback).

Comment 3 Fedora Update System 2014-04-20 01:28:50 UTC
lvm2-2.02.106-1.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.


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