Version 2.03.26 - 
==================
  Fix unreleased memory pools on RAID's lvextend.


Version 2.03.25 - 
==================
  Revert Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG in LVM rules, DM rules cover it.

Version 2.03.24 - 16th May 2024
===============================
  Lvconvert supports VDO options for thin-pool with vdo conversion.
  Improve placement to .data.rel.ro and .rodata sections.
  Fix support for -y and -W when creating thinpool with vdo.
  Bettter support for runtime valgrind detection.
  Allow command interruption when communicating with dmeventd.
  Fix resize of VDO volume used for thin pool data volume.
  Use -Wl,-z,now and -Wl,--as-needed for compilation by default.
  Require 3.7 as minimal version for sanlock.
  Share code for closing opened desriptors on program startup.
  Fix memleak in lvmcache.
  Add configure --with-default-event-activation=ON setting.
  Fix return value from reporter function when hitting internal error.
  Skip checking of pools for lvremove and vgremove commands.
  VDO modprobes dm-vdo for 6.9 kernel and kvdo for older kernel version.
  Fix lvs reporting for VDO volumes with new upstream kernel driver.
  Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG in LVM rules, DM rules cover it.
  Fix table line generation for cache snapshots using cachevol.
  Enhance lvconvert support for external origins stacking.
  When swapping LV names also swap properties like hostname, time and data.
  Fix removal of stacked external origins.
  Lock filesystem when converting volume to read-only external origin.
  Support external origin between different thin-pool.
  Improve validation of acceptable volumes for external origins.
  Reduce amount of preloaded devices for complex device trees.
  Avoid logging problems from monitoring snapshots with inactive origins.
  Check for cache policy module presence in kernel's builtin modules file.
  Add configure --with-modulesdir to select kernel modules directory.
  Support creation of thin-pool with VDO use for its data volume.

Version 2.03.23 - 21st November 2023
====================================
  Set the first lv_attr flag for raid integrity images to i or I.
  Add -A option for pvs and pvscan to show PVs outside devices file.
  Improve searched_devnames temp file usage to prevent redundant scanning.
  Change default search_for_devnames from auto to all.
  Add lvmdevices --refresh to search for missing PVIDs on all devices.
  Add comparison between old and new entries in lvmdevices --check.
  Fix device_id matching order - match non-devname first.
  Fix "lvconvert -m 0" when there is other than first in-sync leg.
  Use system.devices as default for dmeventd when dmeventd.devices is undefined.
  Accept WWIDs containing QEMU HARDDISK for device_id.
  Improve handling of non-standard WWID prefixes used for device_id.
  Configure automatically enables cmdlib for dmeventd and notify-dbus for dbus.
  Fix hint calculation for pools with zero or error segment.
  Configure supports --disable-shared to build only static binaries.
  Configure supports --without-{blkid|systemd|udev} for easier static build.
  Refresh device ids if the system changes.
  Fix pvmove when specifying raid components as moved LVs.
  Enhance error detection for lvm_import_vdo.
  Support PV lists with thin lvconvert.
  Fix support for lvm_import_vdo with SCSI VDO volumes.
  Fix locking issue leading to hanging concurrent vgchange --refresh.
  Recognize lvm.conf report/headings=2 for full column names in report headings.
  Add --headings none|abbrev|full cmd line option to set report headings type.
  Fix conversion to thin pool using lvmlockd.
  Fix conversion from thick into thin volume using lvmlockd.
  Require writable LV for conversion to vdo pool.
  Fix return value from lvconvert integrity remove.
  Preserve UUID for pool metadata spare.
  Preserve UUID for swapped pool metadata.
  Rewrite validation of device name entries used as device_id.

version 2.03.22 - 02nd August 2023
==================================
  Fix pv_major/pv_minor report field types so they are integers, not strings.
  Add lvmdevices --delnotfound to delete entries for missing devices.
  Always use cachepool name for metadata backup LV for lvconvert --repair.
  Make metadata backup LVs read-only after pool's lvconvert --repair.
  Improve VDO and Thin support with lvmlockd.
  Handle 'lvextend --usepolicies' for pools for all activation variants.
  Fix memleak in vgchange autoactivation setup.
  Update py-compile building script.
  Support conversion from thick to fully provisioned thin LV.
  Cache/Thin-pool can use error and zero volumes for testing.
  Individual thin volume can be cached, but cannot take snapshot.
  Better internal support for handling error and zero target (for testing).
  Resize COW above trimmed maximal size is does not return error.
  Support parsing of vdo geometry format version 4.
  Add lvm.conf thin_restore and cache_restore settings.
  Handle multiple mounts while resizing volume with a FS.
  Handle leading/trailing spaces in sys_wwid and sys_serial used by device_id.
  Enhance lvm_import_vdo and use snapshot when converting VDO volume.
  Fix parsing of VDO metadata.
  Fix failing -S|--select for non-reporting cmds if using LV info/status fields.
  Allow snapshots of raid+integrity LV.
  Fix multisegment RAID1 allocator to prevent using single disk for more legs.

version 2.03.21 - 21st April 2023
=================================
  Fix activation of vdo-pool for with 0 length headers (converted pools).
  Avoid printing internal init messages when creation integration devices.
  Allow (write)cache over raid+integrity LV.

version 2.03.20 - 21st March 2023
=================================
  Fix segfault if using -S|--select with log/report_command_log=1 setting.
  Configure now fails when requested lvmlockd dependencies are missing.
  Add some configure Gentoo enhancements for static builds.

version 2.03.19 - 21st February 2023
====================================
  Configure supports --with-systemd-run executed from udev rules.
  Enhancement for build with MuslC systemd and non-bash system shells (dash).
  Do not reset SYSTEMD_READY variable in udev for PVs on MD and loop devices.
  Ensure udev is processing origin LV before its thick snapshots LVs.
  Fix and improve runtime memory size detection for VDO volumes.

version 2.03.18 - 22nd December 2022
====================================
  Fix issues reported by coverity scan.
  Fix warning for thin pool overprovisioning on lvextend (2.03.17).
  Add support for writecache metadata_only and pause_writeback settings.
  Fix missing error messages in lvmdbusd.

Version 2.03.17 - 10th November 2022
====================================
  Add new options (--fs, --fsmode) for FS handling when resizing LVs.
  Fix 'lvremove -S|--select LV' to not also remove its historical LV right away.
  Fix lv_active field type to binary so --select and --binary applies properly.
  Switch to use mallinfo2 and use it only with glibc.
  Error out in lvm shell if using a cmd argument not supported in the shell.
  Fix lvm shell's lastlog command to report previous pre-command failures.
  Extend VDO and VDOPOOL without flushing and locking fs.
  Add --valuesonly option to lvmconfig to print only values without keys.
  Updates configure with recent autoconf tooling.
  Fix lvconvert --test --type vdo-pool execution.
  Add json_std output format for more JSON standard compliant version of output.
  Fix vdo_slab_size_mb value for converted VDO volume.
  Fix many corner cases in device_id, including handling of S/N duplicates.
  Fix various issues in lvmdbusd.

Version 2.03.16 - 18th May 2022
===============================
  Fix segfault when handling selection with historical LVs.
  Add support --vdosettings with lvcreate, lvconvert, lvchange.
  Filtering multipath devices respects blacklist setting from multipath
  configuration.
  lvmdevices support for removing by device id using --deviceidtype and
  --deldev.
  Display writecache block size with lvs -o writecache_block_size.
  Improve cachesettings description in man lvmcache.
  Fix lossing of delete message on thin-pool extension.

Version 2.03.15 - 07th February 2022
====================================
  Remove service based autoactivation. global/event_activation = 0 is NOOP.
  Improve support for metadata profiles for --type writecache.
  Use cache or active DM device when available with new kernels.
  Introduce function to utilize UUIDs from DM_DEVICE_LIST.
  Increase some hash table size to better support large device sets.

Version 2.03.14 - 20th October 2021
===================================
  Device scanning is skipping directories on different filesystems.
  Print info message with too many or too large archived files.
  Reduce metadata readings during scanning phase.
  Optimize computation of crc32 check sum with multiple PVs.
  Enhance recover path on cache creation failure.
  Filter out unsupported MQ/SMQ cache policy setting.
  Fix memleak in mpath filter.
  Support newer location for VDO statistics.
  Add support for VDO async-unsafe write policy.
  Improve lvm_import_vdo script.
  Support VDO LV with lvcreate -ky.
  Fix lvconvert for VDO LV bigger then 2T.
  Create VDO LVs automatically without zeroing.
  Rename vdoimport to lvm_import_vdo.

Version 2.03.13 - 11th August 2021
==================================
  Changes in udev support:
  - obtain_device_list_from_udev defaults to 0.
  - see devices/external_device_info_source,
    devices/obtain_device_list_from_udev, and devices/multipath_wwids_file help
    in lvm.conf
  Fix devices file handling of loop with deleted backing file.
  Fix devices file handling of scsi_debug WWIDs.
  Fix many static analysis issues.
  Support --poolmetadataspare with vgsplit and vgmerge.
  Fix detection of active components of external origin volume.
  Add vdoimport tool to support conversion of VDO volumes.
  Support configurable allocation/vdo_pool_header_size.
  Fix handling of lvconvert --type vdo-pool --virtualsize.
  Simplified handling of archive() and backup() internal calls.
  Add 'idm' locking type for IDM lock manager.
  Fix load of kvdo target when it is not present in memory (2.03.12).

Version 2.03.12 - 07th May 2021
===============================
  Allow attaching cache to thin data volume.
  Fix memleak when generating list of outdated pvs.
  Better hyphenation usage in man pages.
  Replace use of deprecated security_context_t with char*.
  Configure supports AIO_LIBS and AIO_CFLAGS.
  Improve build process for static builds.
  New --setautoactivation option to modify LV or VG auto activation.
  New metadata based autoactivation property for LVs and VGs.
  Improve signal handling with lvmpolld.
  Signal handler can interrupt command also for SIGTERM.
  Lvreduce --yes support.
  Add configure option --with/out-symvers for non-glibc builds.
  Report error when the filesystem is missing on fsadm resized volume.
  Handle better blockdev with --getsize64 support for fsadm.
  Do not include editline/history.h when using editline library.
  Support error and zero segtype for thin-pool data for testing.
  Support mixed extension for striped, error and zero segtypes.
  Support resize also for stacked virtual volumes.
  Skip dm-zero devices just like with dm-error target.
  Reduce ioctl() calls when checking target status.
  Merge polling does not fail, when LV is found to be already merged.
  Poll volumes with at least 100ms delays.
  Do not flush dm cache when cached LV is going to be removed.
  New lvmlockctl_kill_command configuration option.
  Support interruption while waiting on device close before deactivation.
  Flush thin-pool messages before removing more thin volumes.
  Improve hash function with less collisions and make it faster.
  Reduce ioctl count when deactivating volumes.
  Reduce number of metadata parsing.
  Enhance performance of lvremove and vgremove commands.
  Support interruption when taking archive and backup.
  Accelerate large lvremoves.
  Speedup search for cached device nodes.
  Speedup command initialization.
  Add devices file feature, off by default for now.
  Support extension of writecached volumes.
  Fix problem with unbound variable usage within fsadm.
  Fix IMSM MD RAID detection on 4k devices.
  Check for presence of VDO target before starting any conversion.
  Support metatadata profiles with volume VDO pool conversions.
  Support -Zn for conversion of already formatted VDO pools.
  Avoid removing LVs on error path of lvconvert during creation volumes.
  Fix crashing lvdisplay when thin volume was waiting for merge.
  Support option --errorwhenfull when converting volume to thin-pool.
  Improve thin-performance profile support conversion to thin-pool.
  Add workaround to avoid read of internal 'converted' devices.
  Prohibit merging snapshot into the read-only thick snapshot origin.
  Restore support for flipping rw/r permissions for thin snapshot origin.
  Support resize of cached volumes.
  Disable autoactivation with global/event_activation=0.
  Check if lvcreate passes read_only_volume_list with tags and skips zeroing.
  Allocation prints better error when metadata cannot fit on a single PV.
  Pvmove can better resolve full thin-pool tree move.
  Limit pool metadata spare to 16GiB.
  Improves conversion and allocation of pool metadata.
  Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0.
  Enhance lvdisplay to report raid available/partial.
  Support online rename of VDO pools.
  Improve removal of pmspare when last pool is removed.
  Fix problem with wiping of converted LVs.
  Fix memleak in scanning  (2.03.11).
  Fix corner case allocation for thin-pools.

Version 2.03.11 - 08th January 2021
===================================
  Fix pvck handling MDA at offset different from 4096.
  Partial or degraded activation of writecache is not allowed.
  Enhance error handling for fsadm and handle correct fsck result.
  Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values.
  Support using BLKZEROOUT for clearing devices.
  Support interruption when wipping LVs.
  Support interruption for bcache waiting.
  Fix bcache when device has too many failing writes.
  Fix bcache waiting for IO completion with failing disks.
  Configure use own python path name order to prefer using python3.
  Add configure --enable-editline support as an alternative to readline.
  Enhance reporting and error handling when creating thin volumes.
  Enable vgsplit for VDO volumes.
  Lvextend of vdo pool volumes ensure at least 1 new VDO slab is added.
  Use revert_lv() on reload error path after vg_revert().
  Configure --with-integrity enabled.
  Restore lost signal blocking while VG lock is held.
  Improve estimation of needed extents when creating thin-pool.
  Use extra 1% when resizing thin-pool metadata LV with --use-policy.
  Enhance --use-policy percentage rounding.
  Configure --with-vdo and --with-writecache as internal segments.
  Improving VDO man page examples.
  Allow pvmove of writecache origin.
  Report integrity fields.
  Integrity volumes defaults to journal mode.
  Switch code base to use flexible array syntax.
  Fix 64bit math when calculation cachevol size.
  Preserve uint32_t for seqno handling.
  Switch from mmap to plain read when loading regular files.
  Update lvmvdo man page and better explain DISCARD usage.

Version 2.03.10 - 09th August 2020
==================================
  Add writecache and integrity support to lvmdbusd.
  Generate unique cachevol name when default required from lvcreate.
  Converting RAID1 volume to one with same number of legs now succeeds with a
  warning.
  Fix conversion to raid from striped lagging type.
  Fix conversion to 'mirrored' mirror log with larger regionsize.
  Zero pool metadata on allocation (disable with allocation/zero_metadata=0).
  Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn).
  Add lvcreate of new cache or writecache lv with single command.
  Fix running out of free buffers for async writing for larger writes.
  Add integrity with raid capability.
  Fix support for lvconvert --repair used by foreign apps (i.e. Docker).

Version 2.03.09 - 26th March 2020
=================================
  Fix formatting of vdopool (vdo_slab_size_mb was smaller by 2 bits).
  Fix showing of a dm kernel error when uncaching a volume with cachevol.

Version 2.03.08 - 11th February 2020
====================================
  Prevent problematic snapshots of writecache volumes.
  Add error handling for failing allocation in _reserve_area().
  Fix memleak in syncing of internal cache.
  Fix pvck dump_current_text memleak.
  Fix lvmlockd result code on error path for _query_lock_lv().
  Update pvck man page and help output.
  Reject invalid writecache high/low_watermark setting.
  Report writecache status.
  Accept more output lines from vdo_format.
  Prohibit reshaping of stacked raid LVs.
  Avoid running cache input arg validation when creating vdo pool.
  Prevent raid reshaping of stacked volumes.
  Added VDO lvmdbusd methods for enable/disable compression & dedupe.
  Added VDO lvmdbusd method for converting LV to VDO pool.

Version 2.03.07 - 30th November 2019
====================================
  Subcommand in vgck for repairing headers and metadata.
  Ensure minimum required region size on striped RaidLV creation.
  Fix resize of thin-pool with data and metadata of different segtype.
  Improve mirror type leg splitting.
  Improve error path handling in daemons on shutdown.
  Fix activation order when removing merged snapshot.
  Experimental VDO support for lvmdbusd.

Version 2.03.06 - 23rd October 2019
===================================
  Add _cpool suffix to cache-pool LV name when used by caching LV.
  No longer store extra UUID for cmeta and cdata cachevol layer.
  Enhance activation of cache devices with cachevols.
  Add _cvol in list of protected suffixes and start use it with DM UUID.
  Rename LV converted to cachevol to use _cvol suffix.
  Use normal LVs for wiping of cachevols.
  Reload cleanered cache DM only with cleaner policy.
  Fix cmd return when zeroing of cachevol fails.
  Extend lvs to show all VDO properties.
  Preserve VDO write policy with vdopool.
  Increase default vdo bio threads to 4.
  Continue report when cache_status fails.
  Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper.
  Fix cmirrord usage of header files from device_mapper subdir.
  Allow standalone activation of VDO pool just like for thin-pools.
  Activate thin-pool layered volume as 'read-only' device.
  Ignore crypto devices with UUID signature CRYPT-SUBDEV.
  Enhance validation for thin and cache pool conversion and swapping.
  Improve internal removal of cached devices.
  Synchronize with udev when dropping snapshot.
  Add missing device synchronization point before removing pvmove node.
  Correctly set read_ahead for LVs when pvmove is finished.
  Remove unsupported OPTIONS+="event_timeout" udev rule from 11-dm-lvm.rules.
  Prevent creating VGs with PVs with different logical block sizes.
  Fix metadata writes from corrupting with large physical block size.

Version 2.03.05 - 15th June 2019
================================
  Fix command definition for pvchange -a.
  Add vgck --updatemetadata command that will repair metadata problems.
  Improve VG reading to work if one good copy of metadata is found.
  Report/display/scan commands that read VGs will no longer write/repair.
  Move metadata repairs from VG reading to VG writing.
  Add config setting md_component_checks to control MD component checks.
  Add end of device MD component checks when dev has no udev info.

Version 2.03.04 - 10th June 2019
================================
  Remove unused_duplicate_devs from cmd causing segfault in dmeventd.

Version 2.03.03 - 07th June 2019
================================
  Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
  Add pvck --dump option to extract metadata.
  Fix signal delivery checking race in libdaemon (lvmetad).
  Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering.
  Skip autoactivation for a PV when PV size does not match device size.
  Remove first-pvscan-initialization which should no longer be needed.
  Add remote refresh through lvmlockd/dlm for shared LVs after lvextend.
  Ignore foreign and shared PVs for pvscan online files.
  Add config setting to control fields in debug file and verbose output.
  Add command[pid] and timestamp to debug file and verbose output.
  Fix missing growth of _pmsmare volume when extending _tmeta volume.
  Automatically grow thin metadata, when thin data gets too big.
  Add synchronization with udev before removing cached devices.
  Add support for caching VDO LVs and VDOPOOL LVs.
  Add support for vgsplit with cached devices.
  Query mpath device only once per command for its state.
  Use device INFO instead of STATUS when checking for mpath device uuid.
  Change default io_memory_size from 4 to 8 MiB.
  Add config setting io_memory_size to set bcache size.
  Fix pvscan autoactivation for concurrent pvscans.
  Change scan_lvs default to 0 so LVs are not scanned for PVs.
  Thin-pool selects power-of-2 chunk size by default.
  Cache selects power-of-2 chunk size by default.
  Support reszing for VDOPoolLV and VDOLV.
  Improve -lXXX%VG modifier which improves cache segment estimation.
  Ensure migration_threshold for cache is at least 8 chunks.
  Restore missing man info lvcreate --zero for thin-pools.
  Drop misleadning comment for metadata minimum_io_size for VDO segment.
  Add device hints to reduce scanning.
  Introduce LVM_SUPPRESS_SYSLOG to suppress syslog usage by generator.
  Fix generator quering lvmconfig unpresent config option.
  Fix memleak on bcache error path code.
  Fix missing unlock on lvm2 dmeventd plugin error path initialization.
  Improve Makefile dependency tracking.
  Move VDO support towards V2 target (6.2) support.

Version 2.03.02 - 18th December 2018
====================================
  Fix missing proper initialization of pv_list struct when adding pv.
  Fix (de)activation of RaidLVs with visible SubLVs.
  Prohibit mirrored 'mirror' log via lvcreate and lvconvert.
  Use sync io if async io_setup fails, or use_aio=0 is set in config.
  Fix more issues reported by coverity scan.

Version 2.03.01 - 31st October 2018
===================================

Version 2.03.00 - 10th October 2018
===================================
  Add hot fix to avoiding locking collision when monitoring thin-pools.
  Allow raid4 -> linear conversion request.
  Fix lvconvert striped/raid0/raid0_meta -> raid6 regression.
  Add 'lvm2-activation-generator:' prefix for kmsg messages logged by generator.
  Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service.
  Reduce max concurrent aios to avoid EMFILE with many devices.
  Fix lvconvert conversion attempts to linear.
  Fix lvconvert raid0/raid0_meta -> striped regression.
  Fix lvconvert --splitmirror for mirror type (2.02.178).
  Do not pair cache policy and cache metadata format.
  lvconvert: reject conversions on raid1 LVs with split tracked SubLVs
  lvconvert: reject conversions on raid1 split tracked SubLVs
  Add basic creation support for VDO target.
  Never send any discard ioctl with test mode.
  Fix thin-pool alloc which needs same PV for data and metadata.
  Extend list of non-memlocked areas with newly linked libs.
  Enhance vgcfgrestore to check for active LVs in restored VG.
  Configure supports --disable-silent-rules for verbose builds.
  Fix unmonitoring of merging snapshots.
  Cache can uses metadata format 2 with cleaner policy.
  Fix check if resized PV can also fit metadata area.
  Avoid showing internal error in lvs output or pvmoved LVs.
  Remove clvmd
  Remove lvmlib (api)
  Remove lvmetad
  Use versionsort to fix archive file expiry beyond 100000 files.

Version 2.02.178-rc1 - 24th May 2018
====================================
  Add libaio dependency for build.
  Remove lvm1 and pool format handling and add filter to ignore them.
  Move some filter checks to after disks are read.
  Rework disk scanning and when it is used.
  Add new io layer and shift code to using it.
  Fix lvconvert's return code on degraded -m raid1 conversion.
  --enable-testing switch for ./configure has been removed.
  --with-snapshots switch for ./configure has been removed.
  --with-mirrors switch for ./configure has been removed.
  --with-raid switch for ./configure has been removed.
  --with-thin switch for ./configure has been removed.
  --with-cache switch for ./configure has been removed.
  Include new unit-test framework and unit tests.
  Extend validation of region_size for mirror segment.
  Reload whole device stack when reinitilizing mirror log.
  Mirrors without monitoring are WARNING and not blocking on error.
  Detect too big region_size with clustered mirrors.
  Fix evaluation of maximal region size for mirror log.
  Enhance mirror log size estimation and use smaller size when possible.
  Fix incorrect mirror log size calculation on 32bit arch.
  Enhance preloading tree creating.
  Fix regression on acceptance of any LV on lvconvert.
  Restore usability of thin LV to be again external origin for another thin.
  Keep systemd vars on change event in 69-dm-lvm-metad.rules for systemd reload.
  Write systemd and non-systemd rule in 69-dm-lvm-metad.rules, GOTO active one.
  Add test for activation/volume_list (Sub)LV remnants.
  Disallow usage of cache format 2 with mq cache policy.
  Again accept striped LV as COW LV with lvconvert -s (2.02.169).
  Fix raid target version testing for supported features.
  Allow activation of pools when thin/cache_check tool is missing.
  Remove RaidLV on creation failure when rmeta devices can't be activated.
  Add prioritized_section() to restore cookie boundaries (2.02.177).
  Enhance error messages when read error happens.
  Enhance mirror log initialization for old mirror target.
  Skip private crypto and stratis devices.
  Skip frozen raid devices from scanning.
  Activate RAID SubLVs on read_only_volume_list readwrite.
  Offer convenience type raid5_n converting to raid10.
  Automatically avoid reading invalid snapshots during device scan.
  Ensure COW device is writable even for read-only thick snapshots.
  Support activation of component LVs in read-only mode.
  Extend internal library to recognize and work with component LV.
  Skip duplicate check for active LV when prompting for its removal.
  Activate correct lock holding LV when it is cached.
  Do not modify archived metadata when removing striped raid.
  Fix memleak on error path when obtaining lv_raid_data_offset.
  Fix compatibility size test of extended external origin.
  Add external_origin visiting in for_each_sub_lv().
  Ensure cluster commands drop their device cache before locking VG.
  Do not report LV as remotely active when it's locally exclusive in cluster.
  Add deprecate messages for usage of mirrors with mirrorlog.
  Separate reporting of monitoring status and error status.
  Improve validation of created strings in vgimportclone.
  Add missing initialisation of mem pool in systemd generator.
  Do not reopen output streams for multithreaded users of liblvm.
  Configure ensures /usr/bin dir is checked for dmpd tools.
  Restore pvmove support for wide-clustered active volumes (2.02.177).
  Avoid non-exclusive activation of exclusive segment types.
  Fix trimming sibling PVs when doing a pvmove of raid subLVs.
  Preserve exclusive activation during thin snaphost merge.
  Avoid exceeding array bounds in allocation tag processing.
  Add --lockopt to common options and add option to skip selected locks.

Version 2.02.177 - 18th December 2017
=====================================
  When writing text metadata content, use complete 4096 byte blocks.
  Change text format metadata alignment from 512 to 4096 bytes.
  When writing metadata, consistently skip mdas marked as failed.
  Refactor and adjust text format metadata alignment calculation.
  Fix python3 path in lvmdbusd to use value detected by configure.
  Reduce checks for active LVs in vgchange before background polling.
  Ensure _node_send_message always uses clean status of thin pool.
  Fix lvmlockd to use pool lock when accessing _tmeta volume.
  Report expected sanlock_convert errors only when retries fail.
  Avoid blocking in sanlock_convert on SH to EX lock conversion.
  Deactivate missing raid LV legs (_rimage_X-missing_Y_Z) on decativation.
  Skip read-modify-write when entire block is replaced.
  Categorise I/O with reason annotations in debug messages.
  Allow extending of raid LVs created with --nosync after a failed repair.
  Command will lock memory only when suspending volumes.
  Merge segments when pvmove is finished.
  Remove label_verify that has never been used.
  Ensure very large numbers used as arguments are not casted to lower values. 
  Enhance reading and validation of options stripes and stripes_size.
  Fix printing of default stripe size when user is not using stripes.
  Activation code for pvmove automatically discovers holding LVs for resume.
  Make a pvmove LV locking holder.
  Do not change critical section counter on resume path without real resume.
  Enhance activation code to automatically suspend pvmove participants.
  Prevent conversion of thin volumes to snapshot origin when lvmlockd is used.
  Correct the steps to change lock type in lvmlockd man page.
  Retry lock acquisition on recognized sanlock errors.
  Fix lock manager error codes in lvmlockd.
  Remove unnecessary single read from lvmdiskscan.
  Check raid reshape flags in vg_validate().
  Add support for pvmove of cache and snapshot origins.
  Avoid using precommitted metadata for suspending pvmove tree.
  Ehnance pvmove locking.
  Deactivate activated LVs on error path when pvmove activation fails.
  Add "io" to log/debug_classes for logging low-level I/O.
  Eliminate redundant nested VG metadata in VG struct.
  Avoid importing persistent filter in vgscan/pvscan/vgrename.
  Fix memleak of string buffer when vgcfgbackup runs in secure mode.
  Do not print error when clvmd cannot find running clvmd.
  Prevent start of new merge of snapshot if origin is already being merged.
  Fix offered type for raid6_n_6 to raid5 conversion (raid5_n).
  Deactivate sub LVs when removing unused cache-pool.
  Do not take backup with suspended devices.
  Avoid RAID4 activation on incompatible kernels under all circumstances.
  Reject conversion request to striped/raid0 on 2-legged raid4/5.

Version 2.02.176 - 3rd November 2017
====================================
  Keep Install section only in lvm2-{lvmetad,lvmpolld}.socket systemd unit.
  Fix segfault in lvm_pv_remove in liblvm. (2.02.173)
  Do not allow storing VG metadata with LV without any segment.
  Fix printed message when thin snapshot was already merged.
  Remove created spare LV when creation of thin-pool failed.
  Avoid reading ignored metadata when mda gets used again.
  Fix detection of moved PVs in vgsplit. (2.02.175)
  Ignore --stripes/--stripesize on RAID takeover
  Improve used paths for generated systemd units and init shells.
  Disallow creation of snapshot of mirror/raid subLV (was never supported).
  Fix regression in more advanced vgname extraction in lvconvert (2.02.169).
  Allow lvcreate to be used for caching of _tdata LV.
  Avoid internal error when resizing cache type _tdata LV (not yet supported).
  Show original converted names when lvconverting LV to pool volume.
  Move lib code used only by liblvm into metadata-liblvm.c.
  Distinguish between device not found and excluded by filter.
  Monitor external origin LVs.
  Remove the replicator code, including configure --with-replicators.
  Allow lvcreate --type mirror to work with 100%FREE.
  Improve selection of resource name for complex volume activation lock.
  Avoid cutting first character of resource name for activation lock.
  Support for encrypted devices in fsadm.
  Improve thin pool overprovisioning and repair warning messages.
  Fix incorrect adjustment of region size on striped RaidLVs.

Version 2.02.175 - 6th October 2017
===================================
  Use --help with blockdev when checking for --getsize64 support in fsadm.
  Dump lvmdbusd debug information with SIGUSR1.
  Fix metadata corruption in vgsplit and vgmerge intermediate states.
  Add PV_MOVED_VG PV status flag to mark PVs moving between VGs.
  Fix lvmdbus hang and recognise unknown VG correctly.
  Improve error messages when command rules fail.
  Require LV name with pvmove in a shared VG.
  Allow shared active mirror LVs with lvmlockd, dlm, and cmirrord.
  Support lvconvert --repair with cache and cachepool volumes.
  lvconvert --repair respects --poolmetadataspare option.
  Mark that we don't plan to develop liblvm2app and python bindings any further.
  Fix thin pool creation in shared VG. (2.02.173)

Version 2.02.174 - 13th September 2017
======================================
  Prevent raid1 split with trackchanges in a shared VG.
  Avoid double unlocking of client & lockspace mutexes in lvmlockd.
  Fix leaking of file descriptor for non-blocking filebased locking.
  Fix check for 2nd mda at end of disk fits if using pvcreate --restorefile.
  Use maximum metadataarea size that fits with pvcreate --restorefile.
  Always clear cached bootloaderarea when wiping label e.g. in pvcreate.
  Disallow --bootloaderareasize with pvcreate --restorefile.
  Fix lvmlockd check for running lock managers during lock adoption.
  Add --withgeneralpreamble and --withlocalpreamble to lvmconfig.
  Improve makefiles' linking.
  Fix some paths in generated makefiles to respected configured settings.
  Add warning when creating thin-pool with zeroing and chunk size >= 512KiB.
  Introduce exit code 4 EINIT_FAILED to replace -1 when initialisation fails.
  Add synchronization points with udev during reshape of raid LVs.

Version 2.02.173 - 20th July 2017
=================================
  Add synchronization points with udev during conversion of raid LVs.
  Improve --size args validation and report more detailed error message.
  Initialize debugging mutex before any debug message in clvmd.
  Log error instead of warn when noticing connection problem with lvmetad.
  Fix memory leak in lvmetad when working with duplicates.
  Remove restrictions on reshaping open and clustered raid devices.
  Add incompatible data_offset to raid metadata to fix reshape activation.
  Accept 'lvm -h' and 'lvm --help' as well as 'lvm help' for help.
  Suppress error message from accept() on clean lvmetad shutdown.
  Tidy clvmd client list processing and fix segfaults.
  Protect clvmd debug log messages with mutex and add client id.
  Fix shellcheck reported issues for script files.

Version 2.02.172 - 28th June 2017
=================================
  Add missing NULL to argv array when spliting cmdline arguments.
  Add display_percent helper function for printing percent values.
  lvconvert --repair handles failing raid legs (present but marked 'D'ead).
  Do not lvdisplay --maps unset settings of cache pool.
  Fix lvdisplay --maps for cache pool without policy settings.
  Support aborting of flushing cache LV.
  Reenable conversion of data and metadata thin-pool volumes to raid.
  Improve raid status reporting with lvs.
  No longer necessary to '--force' a repair for RAID1.
  Linear to RAID1 upconverts now use "recover" sync action, not "resync".
  Improve lvcreate --cachepool arg validation.
  Limit maximum size of thin-pool for specific chunk size.
  Print a warning about in-use PVs with no VG using them.
  Disable automatic clearing of PVs that look like in-use orphans.
  Cache format2 flag is now using segment name type field.
  Support storing status flags via segtype name field.
  Stop using '--yes' mode when fsadm runs without terminal.
  Extend validation of filesystems resized by fsadm.
  Enhance lvconvert automatic settings of possible (raid) LV types.
  Allow lvchange to change properties on a thin pool data sub LV.
  Fix lvcreate extent percentage calculation for mirrors.
  Don't reinstate still-missing devices when correcting inconsistent metadata.
  Properly handle subshell return codes in fsadm.
  Disallow cachepool creation with policy cleaner and mode writeback.

Version 2.02.171 - 3rd May 2017
===============================
  Fix memory warnings by using mempools for command definition processing.
  Fix running commands from a script file.
  Add pvcreate prompt when device size doesn't match setphysicalvolumesize.
  lvconvert - preserve region size on raid1 image count changes
  Adjust pvresize/pvcreate messages and prompt if underlying dev size differs.
  raid - sanely handle insufficient space on takeover.
  Fix configure --enable-notify-dbus status message.
  Change configure option name prefix from --enable-lockd to --enable-lvmlockd.
  lvcreate - raise mirror/raid default regionsize to 2MiB
  Add missing configurable prefix to configuration file installation directory.

Version 2.02.170 - 13th April 2017
==================================
  Introduce global/fsadm_executable to make fsadm path configurable.
  Look for limited thin pool metadata size when using 16G metadata.
  Add lvconvert pool creation rule disallowing options with poolmetadata.
  Fix lvconvert when the same LV is incorrectly reused in options.
  Fix lvconvert VG name validation in option values.
  Fix missing lvmlockd LV locks in lvchange and lvconvert.
  Fix dmeventd setup for lvchange --poll.
  Fix use of --poll and --monitor with lvchange and vgchange.
  Disallow lvconvert of hidden LV to a pool.
  Ignore --partial option when not used for activation.
  Allow --activationmode option with lvchange --refresh.
  Better message on lvconvert --regionsize
  Allow valid lvconvert --regionsize change
  Add raid10 alias raid10_near
  Handle insufficient PVs on lvconvert takeover
  Fix SIGINT blocking to prevent corrupted metadata
  Fix systemd unit existence check for lvmconf --services --startstopservices.
  Check and use PATH_MAX buffers when creating vgrename device paths.

Version 2.02.169 - 28th March 2017
==================================
  Automatically decide whether '-' in a man page is a hyphen or a minus sign.
  Add build-time configuration command line to 'lvm version' output.
  Handle known table line parameter order change in specific raid target vsns.
  Conditionally reject raid convert to striped/raid0* after reshape.
  Ensure raid6 upconversion restrictions.
  Adjust mirror & raid dmeventd plugins for new lvconvert --repair behaviour.
  Disable lvmetad when lvconvert --repair is run.
  Remove obsolete lvmchange binary - convert to built-in command.
  Show more information for cached volumes in lvdisplay [-m].
  Add option for lvcreate/lvconvert --cachemetadataformat auto|1|2.
  Support cache segment with configurable metadata format.
  Add allocation/cache_metadata_format profilable settings.
  Use function cache_set_params() for both lvcreate and lvconvert.
  Skip rounding on cache chunk size boudary when create cache LV.
  Improve cache_set_params support for chunk_size selection.
  Fix metadata profile allocation/cache_[mode|policy] setting.
  Fix missing support for using allocation/cache_pool_chunk_size setting.
  Upstream git moved to https://sourceware.org/git/?p=lvm2
  Support conversion of raid type, stripesize and number of disks
  Reject writemostly/writebehind in lvchange during resynchronization.
  Deactivate active origin first before removal for improved workflow.
  Fix regression of accepting both --type and -m with lvresize. (2.02.158)
  Add lvconvert --swapmetadata, new specific way to swap pool metadata LVs.
  Add lvconvert --startpoll, new specific way to start polling conversions.
  Add lvconvert --mergethin, new specific way to merge thin snapshots.
  Add lvconvert --mergemirrors, new specific way to merge split mirrors.
  Add lvconvert --mergesnapshot, new specific way to combine cow LVs.
  Split up lvconvert code based on command definitions.
  Split up lvchange code based on command definitions.
  Generate help output and man pages from command definitions.
  Verify all command line items against command definition.
  Match every command run to one command definition.
  Specify every allowed command definition/syntax in command-lines.in.
  Add extra memory page when limiting pthread stack size in clvmd.
  Support striped/raid0* <-> raid10_near conversions.
  Support shrinking of RaidLVs.
  Support region size changes on existing RaidLVs.
  Avoid parallel usage of cpg_mcast_joined() in clvmd with corosync.
  Support raid6_{ls,rs,la,ra}_6 segment types and conversions from/to it.
  Support raid6_n_6 segment type and conversions from/to it.
  Support raid5_n segment type and conversions from/to it.
  Support new internal command _dmeventd_thin_command.
  Introduce new dmeventd/thin_command configurable setting.
  Use new default units 'r' for displaying sizes.
  Also unmount mount point on top of MD device if using blkdeactivate -u.
  Restore check preventing resize of cache type volumes (2.02.158).
  Add missing udev sync when flushing dirty cache content.
  vgchange -p accepts only uint32 numbers.
  Report thin LV date for merged LV when the merge is in progress.
  Detect if snapshot merge really started before polling for progress.
  Checking LV for merging origin requires also it has merged snapshot.
  Extend validation of metadata processing.
  Enable usage of cached volumes as snapshot origin LV.
  Fix displayed lv name when splitting snapshot (2.02.146).
  Warn about command not making metadata backup just once per command.
  Enable usage of cached volume as thin volume's external origin.
  Support cache volume activation with -real layer.
  Improve search of lock-holder for external origin and thin-pool.
  Support status checking of cache volume used in layer.
  Avoid shifting by one number of blocks when clearing dirty cache volume.
  Extend metadata validation of external origin LV use count.
  Fix dm table when the last user of active external origin is removed.
  Improve reported lvs status for active external origin volume.
  Fix table load for splitted RAID LV and require explicit activation.
  Always active splitted RAID LV exclusively locally.
  Do not use LV RAID status bit for segment status.
  Check segtype directly instead of checking RAID in segment status.
  Reusing exiting code for raid image removal.
  Fix pvmove leaving -pvmove0 error device in clustered VG.
  Avoid adding extra '_' at end of raid extracted images or metadata.
  Optimize another _rmeta clearing code.
  Fix deactivation of raid orphan devices for clustered VG.
  Fix lvconvert raid1 to mirror table reload order.
  Add internal function for separate mirror log preparation.
  Fix segfault in lvmetad from missing NULL in daemon_reply_simple.
  Simplify internal _info_run() and use _setup_task_run() for mknod.
  Better API for internal function _setup_task_run.
  Avoid using lv_has_target_type() call within lv_info_with_seg_status.
  Simplify internal lv_info_with_seg_status API.
  Decide which status is needed in one place for lv_info_with_seg_status.
  Fix matching of LV segment when checking for it info status.
  Report log_warn when status cannot be parsed.
  Test segment type before accessing segment members when checking status.
  Implement compatible target function for stripe segment.
  Use status info to report merge failed and snapshot invalid lvs fields.

Version 2.02.168 - 30th November 2016
=====================================
  Display correct sync_percent on large RaidLVs
  lvmdbusd --blackboxsize <n> added, used to override default size of 16
  Allow a transiently failed RaidLV to be refreshed
  Use lv_update_and_reload() inside mirror code where it applies.
  Preserve mirrored status for temporary layered mirrors.
  Use transient raid check before repairing raid volume.
  Implement transient status check for raid volumes.
  Only log msg as debug if lvm2-lvmdbusd unit missing for D-Bus notification.
  Avoid duplicated underscore in name of extracted LV image.
  Missing stripe filler now could be also 'zero'.
  lvconvert --repair accepts --interval and --background option.
  More efficiently prepare _rmeta devices when creating a new raid LV.

Version 2.02.167 - 5th November 2016
====================================
  Use log_error in regex and sysfs filter to describe reason of failure.
  Fix blkdeactivate to deactivate dev stack if dev on top already unmounted.
  Prevent non-synced raid1 repair unless --force
  Prevent raid4 creation/conversion on non-supporting kernels
  Add direct striped -> raid4 conversion
  Fix raid4 parity image pair position on conversions from striped/raid0*
  Fix a few unconverted return code values for some lvconvert error path.
  Disable lvconvert of thin pool to raid while active.
  Disable systemd service start rate limiting for lvm2-pvscan@.service.

Version 2.02.166 - 26th September 2016
======================================
  Fix lvm2-activation-generator to read all LVM2 config sources. (2.02.155)
  Fix lvchange-rebuild-raid.sh to cope with older target versions.
  Use dm_config_parse_without_dup_node_check() to speedup metadata reading.
  Fix lvconvert --repair regression
  Fix reported origin lv field for cache volumes. (2.02.133)
  Always specify snapshot cow LV for monitoring not internal LV. (2.02.165)
  Fix lvchange --discard|--zero for active thin-pool.
  Enforce 4MiB or 25% metadata free space for thin pool operations.
  Fix lock-holder device for thin pool with inactive thin volumes.
  Use --alloc normal for mirror logs even if the mimages were stricter.
  Use O_DIRECT to gather metadata in lvmdump.
  Ignore creation_time when checking for matching metadata for lvmetad.
  Fix possible NULL pointer derefence when checking for monitoring.
  Add lvmreport(7) man page.
  Don't install lvmraid(7) man page when raid excluded. (2.02.165)
  Report 0% as dirty (copy%) for cache without any used block.
  Fix lvm2api reporting of cache data and metadata percent.
  Restore reporting of metadata usage for cache volumes (2.02.155).
  Support raid scrubbing on cache origin LV.

Version 2.02.165 - 7th September 2016
=====================================
  Add lvmraid(7) man page.
  Use udev db to check for mpath components before running pvscan for lvmetad.
  Use lsblk -s and lsblk -O in lvmdump only if these options are supported.
  Fix number of stripes shown in lvcreate raid10 message when too many.
  Change lvmdbusd to use new lvm shell facilities.
  Do not monitor cache-pool metadata when LV is just being cleared.
  Add allocation/cache_pool_max_chunks to prevent misuse of cache target.
  Give error not segfault in lvconvert --splitmirrors when PV lies outside LV.
  Fix typo in report/columns_as_rows config option name recognition (2.02.99).
  Avoid PV tags when checking allocation against parallel PVs.
  Disallow mirror conversions of raid10 volumes.
  Fix dmeventd unmonitoring when segment type (and dso) changes.
  Don't allow lvconvert --repair on raid0 devices or attempt to monitor them.
  No longer adjust incorrect number of raid stripes supplied to lvcreate.
  Move lcm and gcd to lib/misc.
  Fix vgsplit of external origins. (2.02.162)
  Prohibit creation of RAID LVs unless VG extent size is at least the page size.
  Suppress some unnecessary --stripesize parameter warnings.
  Fix 'pvmove -n name ...' to prohibit collocation of RAID SubLVs

Version 2.02.164 - 15th August 2016
===================================
  Fix selection of PVs when allocating raid0_meta.
  Fix sdbus socket leak leading to hang in lvmnotify.
  Specify max stripes for raid LV types: raid0:64; 1:10; 4,5:63; 6:62; 10:32.
  Avoid double suffix when naming _rmeta LV paired with _rimage LV.

Version 2.02.163 - 10th August 2016
===================================
  Add profile for lvmdbusd which uses lvm shell json report output.
  Restrict in-command modification of some parms in lvm shell.
  Apply LVM_COMMAND_PROFILE early for lvm shell.
  Refactor reporting so lvm shell log report collects whole of cmd execution.
  Support LVM_*_FD envvars to redirect output to file descriptors.
  Limit use of --corelog and --mirrorlog to mirrors in lvconvert.
  Reject --nosync option for RAID6 LVs in lvcreate.
  Do not refresh whole cmd context if profile dropped after processing LVM cmd.
  Support straightforward lvconvert between striped and raid4 LVs.
  Support straightforward lvconvert between raid1 and mirror LVs.
  Report supported conversions when asked for unsupported raid lvconvert.
  Add "--rebuild PV" option to lvchange to allow for PV selective rebuilds.
  Preserve existing mirror region size when using --repair.
  Forbid stripe parameters with lvconvert --repair.
  Unify stripe size validation into get_stripe_params to catch missing cases.
  Further lvconvert validation logic refactoring.

Version 2.02.162 - 28th July 2016
=================================
  Extend vg_validate also to check raid configurations thoroughly.
  Support lvconvert -Zn also when doing full cache pool conversion.
  Suppress not zeroing warn when converting to thin LV for non-zeroing tpool.
  Fix automatic updates of PV extension headers to newest version.
  Improve lvconvert --trackchanges validation to require --splitmirrors 1.
  Add note about lastlog built-in command to lvm man page.
  Fix unrecognised segtype flag message.
  lvconvert not clears cache pool metadata ONLY with -Zn.
  Add allocation/raid_stripe_all_devices to reinstate previous behaviour.
  Create raid stripes across fixed small numbers of PVs instead of all PVs.
  Enabled lvconvert --uncache to work with partial VG.
  Disallow lvconvert --replace with raid0* LVs.
  Fix some lvmetad changed VG metadata notifications that sent uncommitted data.

Version 2.02.161 - 15th July 2016
=================================
  Prohibit some lvchange/lvresize that were failing on raid0 volumes.
  Fix segfaults in complex vgsplits. (2.02.159)
  Reformat unwieldy lvconvert man page.
  Allow --force to be passed through to pvcreate from vgcreate. (2.02.144)
  Fix lvresize of filesystem when LV has already right size (2.02.141)
  New LVM_LOG_FILE_MAX_LINES env var to limit max size of created logs.

Version 2.02.160 - 6th July 2016
================================
  Minor fixes from coverity.

Version 2.02.159 - 6th July 2016
================================
  Add raid0_meta segment type that provides metadata space for raid conversions.
  Fix created link for a used pool for vgmknode.
  Introduce and use is_power_of_2 macro.
  Support conversions between striped and raid0 segment types.
  Add infrastructure for raid takeover lvconvert options.

Version 2.02.158 - 25th June 2016
=================================
  Add a more efficient native vgimportclone command to replace the script.
  Make lvmlockd always attempt to connect to lvmetad if no connection exists.
  Let lvmetad handle new connections after shutdown signal.
  Disable lvmetad when vgcfgrestore begins and enable it again after.
  Make pvscan do activation if lvmetad is configured but not running.
  Fix rescanning the PVs for a single VG when using lvmetad.
  Pool metadata lvresize uses now same code as resize of normal volume.
  Preserve monitoring status when updating thin-pool metadata.
  Return 0 (inactive) when status cannot be queried in _lv_active().
  Switch to log_warn() for failing activation status query.
  Replace vgimportclone script with binary.
  While lvmetad is shutting down, continue handling all connections cleanly.
  Refactor lvconvert argument handling code.
  Notify lvmetad when vgcfgrestore changes VG metadata.
  Add --logonly option to report only cmd log for a command, not other reports.
  Add log/command_log_selection to configure default selection used on cmd log.
  Use 'orphan' object type in cmd log for groups to collect PVs not yet in VGs.
  Add lvm lastlog command for query and display of last cmd's log in lvm shell.
  Report per-object return codes via cmd log while processing multiple objects.
  Annotate processing code with log report hooks for per-object command log.
  Also pass common printed messages (besides warnings and errors) to log report.
  Log warnings and errors via report during cmd processing if this is enabled.
  Make it possible to iterate over internal 'orphan' VGs in process_each_vg fn.
  Make -S|--select option groupable that allows this option to be repeated.
  Make -O|--sort option groupable that allows this option to be repeated.
  Add --configreport option to select report for which next options are applied.
  Add support for priorities on grouping command arguments.
  Add report/{pvs,vgs,lvs,pvsegs,segs}_{cols,sort}_full to lvm.conf.
  Add lvm fullreport command for joined PV, VG, LV and segment report per VG.
  Integrate report group handling and cmd log report into cmd processing code.
  Add log/report_command_log to lvm.conf to enable or disable cmd log report.
  Add log/report_output_format to lvm.conf for default report output format.
  Recognize --reportformat {basic|json} option to select report output format.
  Add log/command_log_{sort,cols} to lvm.conf to configure command log report.
  Add log_object_{type,name,id,group,group_id} fields to cmd log.
  Add log_{seq_num,type,context,message,errno,ret_code} fields to cmd log.
  Add CMDLOG report type - a separate report type for command logging.

Version 2.02.157 - 17th June 2016
=================================
  Change pvscan --cache -aay to scan locally if lvmetad fails.

Version 2.02.156 - 11th June 2016
=================================
  Don't allow duplicate orphan PVs to be used with vgcreate/vgextend/pvcreate.
  Improve handling of lvmetad update failures.
  Yes/No prompt accepts '^[ ^t]*([Yy]([Ee]([Ss]|)|)|[Nn]([Oo]|))[ ^t]*$'.
  If available, also collect output from lsblk command when running lvmdump -s.

Version 2.02.155 - 3rd June 2016
================================
  Reject PV tags on pvmove cmdline because only 1 PV is supported. (2.02.141)
  Fix compilation error when building with configure --disable-devmapper.
  Fix lvmconfig --type diff to display complete diff if config cascade used.
  Automatically filter out partitioned loop devices with partscan (losetup -P).
  Fix lvm devtypes internal error if -S used with field name from pvs/vgs/lvs.
  When reporting Data%,Snap%,Meta%,Cpy%Sync use single ioctl per LV.
  Add lvseg_percent_with_info_and_seg_status() for percent retrieval.
  Enhance internal seg_status handling to understand snapshots better.
  When refresh failed in suspend, call resume upon error path.
  Support passthrough cache mode when waiting for clean cache.
  Check cache status only for 'in-use' cache pools.
  Extend setup_task() to preset flushing for dm_task object.
  When checking LV is a merging COW, validate its a COW LV first.
  Correcting value in copy_percent() for 100%.
  Update vgreduce to use process_each_vg.
  Update lvconvert to use process_each_lv.
  Update pvscan to use process_each_vg for autoactivation.
  Add basic support for --type raid0 using md.
  Add support for lvchange --cachemode for cached LV.
  Fix liblvm2app error handling when setting up context.
  Delay liblvm2app init in python code until it is needed.
  Simplify thread locking in lvmetad to fix locking problems.
  Allow pvremove -ff to remove a duplicate PV.
  Fix lvm2-activation-generator to read lvm.conf without full command setup.
  Allow a minimal context to be used in lvm2app for reading lvm.conf.

Version 2.02.154 - 14th May 2016
================================
  Fix liblvm segfault after failure initialising lvmetad connection.
  Retry open without O_NOATIME if it fails (not file owner/CAP_FOWNER).
  Split _report into one fn for options and arguments and one for processing.

Version 2.02.153 - 7th May 2016
===============================
  Change warning messages related to duplicate PVs.
  A named device is always processed itself, not switched for a duplicate.
  Add PV attr "d" and report field "duplicate" for duplicate PVs.
  Add config setting to disallow VG changes when duplicate PVs exist.
  Use device size and active LVs to choose the preferred duplicate PV.
  Disable lvmetad when duplicate PVs are seen.
  Support --chunksize option also when caching LV when possible.
  Add function to check for target presence and version via 1 ioctl.

Version 2.02.152 - 30th April 2016
==================================
  Use any inherited tags when wiping metadata sub LVs to ensure activation.
  Add str_list_wipe.
  Improve support for interrupting procesing of volumes during lvchange.
  Use failed command return code when lvchanging read-only volume.
  Show creation transaction_id and zeroing state of pool with thin volume.
  Stop checking for dm_cache_mq policy with cache target 1.9 (alias to smq).
  Check first /sys/module/dm_* dir existance before using modprobe.
  Remove mpath from 10-dm.rules, superseded by 11-dm-mpath.rules (mpath>=0.6.0).

Version 2.02.151 - 23rd April 2016
==================================
  Fix error path after reusing of _setup_task (2.02.150).
  Fix memory access for empty sysfs values (2.02.149).
  Disable lvmetad when lvm1 metadata is seen, so commands revert to scanning.
  Suppress errors when snapshot merge gets delayed because volume is in use.
  Avoid internal snapshot LV names in messages.
  Autodetect and use /run/lock dir when available instead of /var/lock.
  lvchange --refresh for merging thin origin will retry to deactivate snapshot.
  Recognize in-progress snapshot merge for thin volumes from dm table.
  Avoid deciding to initiate a pending snapshot merge during resume.
  Improve retrying lvmetad requests while lvmetad is being updated.
  Read devices instead of using the lvmetad cache if rescan fails.
  Move lvmetad token/filter check and device rescan to the start of commands.
  Don't try deactivating fictional internal LV before snapshot merge. (2.02.105)
  When not obtaining devs from udev, check they exist before caching them.
  Detect device mismatch also when compiling without udev support.

Version 2.02.150 - 9th April 2016
=================================
  Avoid using flushing dm status ioctl when checking for usable DM device.
  Check for devices without LVM- uuid prefix only with kernels < 3.X.
  Reuse %FREE size aproximation with lvcreate -l%PVS thin-pool.
  Allow the lvmdump directory to exist already provided it is empty.
  Show lvconverted percentage with 2 decimal digits.
  Fix regression in suspend when repairing --type mirror (2.02.133).

Version 2.02.149 - 1st April 2016
=================================
  Do not flush thin-pool when checking metadata fullness.
  Remove spurious error about no value in /sys/dev/block/major:minor/dm/uuid.
  Fix device mismatch detection for LV if persistent .cache file is used.
  Fix holder device not being found in /dev while sysfs has it during dev scan.

Version 2.02.148 - 26th March 2016
==================================
  Introduce TARGET_NAME and MODULE NAME macros.
  Replace hard-coded module and target names with macros.
  Add pv_major and pv_minor report fields.
  Detect and warn about mismatch between devices used and assumed for an LV.

Version 2.02.147 - 19th March 2016
==================================
  If available, use /proc/self/mountinfo to detect mounted volume in fsadm.
  Fix resize of stacked raid thin data volume (2.02.141).
  Fix test for lvremove failure in lvconvert --uncache (2.02.146).

Version 2.02.146 - 11th March 2016
==================================
  More man page cleanups in lvconvert.
  Fix makefile vpath in /udev when generating udev rules files.
  Another attempt to improve VG name parsing for lvconvert (2.02.144).
  Use new cache status info and skip flushing for failed cache.
  Support --uncache with missing PVs.
  Tidy report field names, headings and widths.
  Add vgscan --notifydbus to send a dbus notification.
  Add dbus notification from commands after a PV/VG/LV changes state.

Version 2.02.145 - 4th March 2016
=================================
  Make it possible to use lvremove and lvrename on historical LVs.
  For historical LVs, report 'none' for lv_layout and 'history' for lv_role.
  Add full_{ancestors,descendants} fields to report LV ancestry with history.
  Report (h)istorical state within 5th bit (State) of the lv_attr field.
  Add lv_historical reporting field to report if LV is historical or not.
  Add lv_time_removed reporting field to display removal time for hist. LVs.
  Report lv_name, lv_uuid, vg_name, lv_time for historical LVs.
  Add --nohistory switch to lvremove to disable history recording on demand.
  Add -H|--history switch to lvs and lvdisplay to include historical LVs.
  Create historical LVs out of removed thin snapshot LVs and record in history.
  Add metadata/lvs_history_retention_time for automatic removal of hist. LVs.
  Add metadata/record_lvs_history config for switching LV history recording.
  Add support and infrastructure for tracking historical LVs.
  Improve lvconvert man page.
  Add kernel_cache_policy lvs field.
  Display [unknown] instead of 'unknown device' in pvs output.
  Fix error path when pvcreate allocation fails (2.02.144).
  Display [unknown] instead of blank for unknown VG names in pvs output.

Version 2.02.144 - 26th February 2016
=====================================
  Use new PV processing code in pvcreate/vgcreate/vgextend/pvremove.
  Add new PV processing code that prompts user without locks held.
  Prevent lvmlockd blocking with new flag requiring sanlock 3.3.0.
  Only show (u)sed pv_attr char when PV is not (a)llocatable. (2.02.143)
  Update makefile to generate lcov output also for lvmpolld and lvmlockd.
  Fix SystemdService lvm2-lvmdbusd.service name.
  Improve support for env LVM_VG_NAME for reference VG name in lvconvert.
  Fix regression when lvresize accepted zero sizes. (2.02.141)
  Always warn user about PV in use even when pvremove uses --force --force.
  Use uninitialized pool header detection in all cases.
  Fix read error detection when checking for uninitialized thin-pool header.
  Fix error path for internal error in lvmetad VG lookup code.

Version 2.02.143 - 21st February 2016
=====================================
  Fix error path when sending thin-pool message fails in update_pool_lv().
  Support reporting CheckNeeded and Fail state for thin-pool and thin LV.
  For failing thin-pool and thin volume correctly report percentage as INVALID.
  Report -1, not 'unkown' for lv_{snapshot_invalid,merge_failed} with --binary.
  Add configure --enable-dbus-service for an LVM D-Bus service.
  Replace configure --enable-python_bindings with python2 and python3 versions.
  If PV belongs to some VG and metadata missing, skip it if system ID is used.
  Automatically change PV header extension to latest version if writing PV/VG.
  Identify used PVs in pv_attr field by new 'u' character.
  Add pv_in_use reporting field to report if PV is used or not.
  Add pv_ext_vsn reporting field to report PV header extension version.
  Add protective flag marking PVs as used even if no metadata available.

Version 2.02.142 - 15th February 2016
=====================================
  Fix memory pool corruption in pvmove (2.02.141).
  Support control of spare metadata creation when repairing thin-pool.
  Fix config type of 'log/verbose' from bool to int (2.02.99).
  Fix inverted data LV thinp watermark calc for dmeventd response (2.02.133).
  Use use_blkid_wiping=0 if not defined in lvm.conf and support not compiled in.
  Do not check for suspended devices if scanning for lvmetad update.
  Clear cached bootloader areas when PV format changed.
  Fix partn table filter with external_device_info_source="udev" and blkid<2.20.

Version 2.02.141 - 25th January 2016
====================================
  Add metadata/check_pv_device_sizes switch to lvm.conf for device size checks.
  Warn if device size is less than corresponding PV size in metadata.
  Cache device sizes internally.
  Restore support for command breaking in process_each_lv_in_vg() (2.02.118).
  Use correct mempool when process_each_lv_in_vg() (2.02.118).
  Fix lvm.8 man to show again prohibited suffixes.
  Fix configure to set proper use_blkid_wiping if autodetected as disabled.
  Initialise udev in clvmd for use in device scanning. (2.02.116)
  Add seg_le_ranges report field for common format when displaying seg devices.
  Honour report/list_item_separator for seg_metadata_le_ranges report field.
  Don't mark hidden devs in -o devices,metadata_devices,seg_pe_ranges.(2.02.140)
  Change LV sizes in seg_pe_ranges report field to match underlying devices.
  Add kernel_cache_settings report field for cache LV settings used in kernel.

Version 2.02.140 - 16th January 2016
====================================
  Fix lvm2app to return either 0 or 1 for lvm_vg_is_{clustered,exported}.
  Add kernel_discards report field to display thin pool discard used in kernel.
  Correct checking of target presence when driver access is disabled.
  Eval poolmetadatasize arg earlier in lvresize.
  Fix vgcfgrestore to respect allocatable attribute of PVs.
  Add report/mark_hidden_devices to lvm.conf.
  Use brackets consistently in report fields to mark hidden devices.
  Restore background polling processing during auto-activation (2.02.119).
  Fix invalid memory read when reporting cache LV policy_name (2.02.126).

Version 2.02.139 - 8th January 2016
===================================
  Update lvmlockd with the new VG seqno before devices are suspended.
  Rework vgrename to use the common processing code in toollib.
  Make pvs show new devices on the system since the last .cache update.
  Document F,D and M thin pool health status chars for lv_attr in lvs man page.
  Also add lvm2-activation{-early,-net}.service systemd status for lvmdump -s.

Version 2.02.138 - 14th December 2015
=====================================
  Support lvrename for hidden (used) cache pools.
  Fix lvrename for stacked cache pools.

Version 2.02.137 - 5th December 2015
====================================
  Restore archiving before changing metadata in vgextend (2.02.117).
  Dropped internal usage of log_suppress(2).
  Cleaned logging code for buffer size usage.
  Added internal id_read_format_try() function to check and read valid UUID.
  Change lvcreate, lvrename, lvresize to use process_each_vg.
  Change process_each_vg to handle single VG as separate arg.
  Issue error if ambiguous VG name is supplied in most commands.
  Make process_each fns always work through full list of known VG names.
  Use dm_get_status_mirror() instead of individual parsers.
  Add mem pool arg for check_transient_status() target function.
  Avoid misleading error with -m is omitted with lvconvert to raid types.
  Add system_id to vginfo cache.

Version 2.02.136 - 28th November 2015
=====================================
  Add new --sinceversion option for lvmconfig --type new.
  Fix inactive table loaded for wrapping thin-pool when resizing it.
  Extend the list of ignored libraries when locking memory.

Version 2.02.135 - 23rd November 2015
=====================================
  Add a model file for Coverity.
  Show correct error message for unsupported yet cache pool repair.
  Allow lvconvert cache pools' data and metadata LV to raid.
  Fix reading of old metadata with missing cache policy or mode settings.
  Issue error if external_device_info_source=udev and udev db record incomplete.
  Update lvmetad duplicate VG name handling to use hash function extensions.
  Detect invalid vgrenames by vgid where the name is unchanged.
  Fix passing of 32bit values through daemons (mostly lvmlockd).
  Use local memory pool for whole alloc_handle manipulation.
  Add missing pointer validation after dm_get_next_target().
  Do not deref NULL pointer in debug message for _match_pv_tags().
  Drop unneeded stat() call when checking for sysfs file.
  Fix memory leak on error path of failing thin-pool percentage check.
  Add missing test for failing node allocation in lvmetad.
  Correct configure messages when enabling/disabling lvmlockd.

Version 2.02.134 - 9th November 2015
====================================
  Refactor some lvmetad code and adjust some duplicate PV messages.
  No longer repair/wipe VG/PVs if inaccessible because foreign or shared.
  Pass correct data size to mirror log calc so log can be bigger than 1 extent.

Version 2.02.133 - 30th October 2015
====================================
  Support repeated -o|--options for reporting commands.
  Support -o- and -o# for reporting commands to remove and compact fields.
  Fix missing PVs from pvs output if vgremove is run concurrently.
  Remove unwanted error message when running pvs/vgs/lvs and vgremove at once.
  Check newly created VG's metadata do not overlap in metadata ring buffer.
  Check metadata area size is at least the minimum size defined for the format.
  Thin pool targets uses low_water_mark from profile.
  Dropping 'yet' from error of unsupported thick snapshot of snapshots.
  Do not support unpartitioned DASD devices with CDL formatted with pvcreate.
  For thins use flush for suspend only when volume size is reduced.
  Enable code which detects the need of flush during suspend.
  Ensure --use-policy will resize volume to fit below threshold.
  Correct percentage evaluation when checking thin-pool over threshold.
  Fix lvmcache to move PV from VG to orphans if VG is removed and lvmetad used.
  Fix lvmcache to not cache even invalid info about PV which got removed.
  Support checking of memlock daemon counter.
  Allow all log levels to be used with the lvmetad -l option.
  Add optional shutdown when idle support for lvmetad.
  Fix missing in-sync progress info while lvconvert used with lvmpolld.
  Add report/compact_output_cols to lvm.conf to define report cols to compact.
  Do not change logging in lvm2 library when it's already set.
  Check for enough space in thin-pool in command before creating new thin.
  Make libblkid detect all copies of the same signature if use_blkid_wiping=1.
  Fix vgimportclone with -n to not add number unnecessarily to base VG name.
  Cleanup vgimportclone script and remove dependency on awk, grep, cut and tr.
  Add vg_missing_pv_count report field to report number of missing PVs in a VG.
  Properly identify internal LV holding sanlock locks within lv_role field.
  Add metadata_devices and seg_metadata_le_ranges report fields for raid vols.
  Fix lvm2-{activation,clvmd,cmirrord,monitor} service to exec before mounting.

Version 2.02.132 - 22nd September 2015
======================================
  Fix lvmconf to set locking_type=2 if external locking library is requested.
  Remove verbose message when rescanning an unchanged device. (2.02.119)
  Add origin_uuid, mirror_log_uuid, move_pv_uuid, convert_lv_uuid report fields.
  Add pool_lv_uuid, metadata_lv_uuid, data_lv_uuid reporting fields.
  Fix PV label processing failure after pvcreate in lvm shell with lvmetad.

Version 2.02.131 - 15th September 2015
======================================
  Rename 'make install_full_man' to install_all_man and add all_man target.
  Fix vgimportclone cache_dir path name (2.02.115).
  Swapping of LV identifiers handles more complex LVs.
  Use passed list of PVS when allocating space in lvconvert --thinpool.
  Disallow usage of --stripe and --stripesize when creating cache pool.
  Warn user when caching raid or thin pool data LV.
  When layering LV, move LV flags with segments.
  Ignore persistent cache if configuration changed. (2.02.127)
  Fix devices/filter to be applied before disk-accessing filters. (2.02.112)
  Make tags only when requested via 'make tags'.
  Configure supports --disable-dependency-tracking for one-time builds.
  Fix usage of configure.h when building in srcdir != builddir.

Version 2.02.130 - 5th September 2015
=====================================
  Fix use of uninitialized device status if reading outdated .cache record.
  Restore support for --monitor option in lvcreate (2.02.112).
  Read thin-pool data and metadata percent without flush.
  Detect blocked thin-pool and avoid scanning their thin volumes.
  Check if dm device is usable before checking its size (2.02.116).
  Extend parsing of cache_check version in configure.
  Make lvpoll error messages visible in lvmpolld's stderr and in syslog.
  Add 'make install_full_man' to install all man pages regardless of config.

Version 2.02.129 - 26th August 2015
===================================
  Drop error message when vgdisplay encounters an exported VG. (2.02.27)
  Fix shared library generation to stop exporting internal functions.(2.02.120)
  Accept --cachemode with lvconvert.
  Fix and improve reporting properties of cache-pool.
  Enable usage of --cachepolicy and --cachesetting with lvconvert.
  Don't allow to reduce size of thin-pool metadata.
  Fix debug buffer overflows in cmirrord logging.
  Add --foreground and --help to cmirrord.

Version 2.02.128 - 17th August 2015
===================================
  Allocation setting cache_pool_cachemode is replaced by cache_mode.
  Don't attempt to close config file that couldn't be opened.
  Check for valid cache mode in validation of cache segment.
  Change internal interface handling cache mode and policy.
  When no cache policy specified, prefer smq (if available) over mq.
  Add demo cache-mq and cache-smq profiles.
  Add cmd profilable allocation/cache_policy,cache_settings,cache_mode.
  Require cache_check 0.5.4 for use of --clear-needs-check-flag.
  Fix lvmetad udev rules to not override SYSTEMD_WANTS, add the service instead.

Version 2.02.127 - 10th August 2015
===================================
  Do not init filters, locking, lvmetad, lvmpolld if command doesn't use it.
  Order fields in struct cmd_context more logically.
  Add lock_type to lvmcache VG summary and info structs.
  Fix regression in cache causing some PVs to bypass filters (2.02.105).
  Make configure --enable-realtime the default now.
  Update .gitignore and configure.in files to reflect usage of current tree.

Version 2.02.126 - 24th July 2015
=================================
  Fix long option hyphen removal. (2.02.122)
  Fix clvmd freeze if client disappears without first releasing its locks.
  Fix lvconvert segfaults while performing snapshots merge.
  Ignore errors during detection if use_blkid_wiping=1 and --force is used.
  Recognise DM_ABORT_ON_INTERNAL_ERRORS env var override in lvm logging fn.
  Fix alloc segfault when extending LV with fewer stripes than in first seg.
  Fix handling of cache policy name.
  Set cache policy before with the first lvm2 cache pool metadata commit.
  Fix detection of thin-pool overprovisioning (2.02.124).
  Fix lvmpolld segfaults on 32 bit architectures.
  Add lvmlockd lock_args validation to vg_validate.
  Fix ignored --startstopservices option if running lvmconf with systemd.
  Hide sanlock LVs when processing LVs in VG unless named or --all used.

Version 2.02.125 - 7th July 2015
================================
  Fix getline memory usage in lvmpolld.
  Add support --clear-needs-check-flag for cache_check of cache pool metadata.
  Add lvmetactl for developer use only.
  Rename global/lock_retries to lvmlockd_retries.
  Replace --enable-lvmlockd by --enable-lockd-sanlock and --enable-lockd-dlm.

Version 2.02.124 - 3rd July 2015
================================
  Move sending thin pool messages from resume to suspend phase.
  Report warning when pool is overprovisioned and not auto resized.
  Recognize free-form date/time values for lv_time field in selection criteria.
  Added experimental lvmlockd with configure --enable-lvmlockd.
  Fix regression in select to match string fields if using synonyms (2.02.123).
  Fix regression when printing more lv names via display_lvname (2.02.122).
  Add missing error logging to unlock_vg and sync_local_dev_names callers.

Version 2.02.123 - 30th June 2015
=================================
  Add report/time_format lvm.conf option to define time format for report.
  Fix makefile shell compare == when building lvmetad lvmpolld (2.02.120).
  Add --type full to lvmconfig for full configuration tree view.
  Add undocumented environment variables to lvm man page. (2.02.119)
  Add device synchronization point before activating a new snapshot.
  Add --withspaces to lvmconfig to add spaces in output for better readability.
  Add custom main function to libdaemon.
  Use lvmetad to track out-of-date metadata discovered.

Version 2.02.122 - 20th June 2015
=================================
  Flush stdout before printing to stderr.
  Use pre-allocated buffer for printed LV names in display_lvname.
  Support thins with size of external origin unaligned with thin pool chunk.
  Allow extension of reduced thin volumes with external origins.
  Consider snapshot and origin LV as unusable if component devices suspended.
  Fix lvmconfig segfault on settings with undefined default value (2.02.120).
  Add explicit 's' (shared) LV activation mode.
  Ignore hyphens in long options names (i.e. --long-option == --longoption).

Version 2.02.121 - 12th June 2015
=================================
  Distinguish between on-disk and lvmetad versions of text metadata.
  Remove DL_LIBS from Makefiles for daemons that don't need them.
  Zero errno in before strtoul call in dmsetup if tested after the call.
  Zero errno in before strtoul call in lvmpolld.
  Fix a segfault in pvscan --cache --background command.
  Fix test for AREA_PV when checking for failed mirrors.
  Do not use --sysinit in lvm2-activation{-early,-net}.service if lvmpolld used.
  Maintain outdated PV info in lvmetad till all old metadata is gone from disk.
  Do not fail polling when poll LV not found (already finished or removed).
  Replace poll_get_copy_vg/lv fns with vg_read() and find_lv() in polldaemon.
  Close all device fds only in before sleep call in polldaemon.
  Simplify Makefile targets that generate exported symbols.
  Move various -D settings from Makefiles to configure.h.

Version 2.02.120 - 15th May 2015
================================
  Make various adjustments to Makefile compilation flags.
  Add lvmpolld debug message class.
  Add lvmpolld client mode for querying running server instance for status info.
  Fix some libdaemon socket creation and reuse error paths.
  Daemons (libdaemon) support exit on idle also in non-systemd environment.
  Provide make dist and make rpm targets
  Configure lvm.conf for use_lvmetad and use_lvmpolld.
  Add lvpoll for cmdline communication with lvmpolld.
  Add lvmpolld acting as a free-standing version of polldaemon.
  Avoid repeated identical lvmetad VG lookups in commands processing all VGs.
  Handle switches to alternative duplicate PVs efficiently with lvmetad.
  Properly validate PV size for pvcreate --restorefile.
  Fix check if pvcreate wiped device (2.02.117).
  Fix storing of vgid when caching metadata (2.02.118).
  Fix recursive lvm-config man page. (2.02.119)
  Refactor polldaemon interfaces to poll every operation by VG/LV couple
  Skip wait after testing in _wait_for_single_lv when polling finished
  Return 'None' in python for empty string properties instead of crashing.
  Distinguish signed numerical property type in reports for lvm2app library.
  Reread raid completion status immediately when progress appears to be zero.
  lvm2app closes locking on lvm_quit().
  Configure detects /run or /var/run.
  Add missing newline in clvmd --help output.

Version 2.02.119 - 2nd May 2015
===============================
  New LVM_LOG_FILE_EPOCH, LVM_EXPECTED_EXIT_STATUS env vars. Man page to follow.
  Remove detailed content from lvm.conf man page: use lvmconfig instead.
  Generate complete config files with lvmconfig or 'make generate'.
  Also display info on deprecated config with lvmconfig --withcomments.
  Display version since which config is deprecated in lvmconfig --withversions.
  Add --showdeprecated to lvmconfig to also display deprecated settings.
  Hide deprecated settings in lvmconfig output for all types but current,diff.
  Introduce support for exit on idle feature in libdaemon
  Add --showunsupported to lvmconfig to also display unsupported settings.
  Display unsupported settings for lvmconfig --type current,diff only by default
  Honour lvmconfig --ignoreunsupported and --ignoreadvanced for all --type.
  Make python bindings usable with python3 (and compatible with 2.6 & 2.7).
  Add lvmconfig -l|--list as shortcut for lvmconfig --type list --withsummary.
  Add lvmconfig --type list to display plain list of configuration settings.
  Introduce lvmconfig as the preferred form of 'lvm dumpconfig'.
  Add lv_ancestors and lv_descendants reporting fields.
  Add --ignorelocal option to dumpconfig to ignore the local section.
  Close connection to lvmetad after fork.
  Make lvchange able to resume background pvmove polling again.
  Split pvmove update metadata fn in an initial one and a subsequent one.
  Refactor shared pvmove and lvconvert code into new _poll files.
  Add --unconfigured option to dumpconfig to print strings unconfigured.
  Add --withsummary option to dumpconfig to print first line - summary comment.
  Use number of device holders to help choose between duplicate PVs.
  Try to make lvmetad and non-lvmetad duplicate PV handling as similar as poss.
  Issue warnings about duplicate PVs discovered by lvmetad.
  Track alternative devices with matching PVIDs in lvmetad.
  Check for lvm binary in blkdeactivate and skip LVM processing if not present.
  Add --enable-halvm and --disable-halvm options to lvmconf script.
  Add --services, --mirrorservice and --startstopservices option to lvmconf.
  Use proper default value of global/use_lvmetad when processing lvmconf script.
  Respect allocation/cling_tag_list during intial contiguous allocation.
  Add A_PARTITION_BY_TAGS set when allocated areas should not share tags.
  Make changes persist with python addTag/removeTag.
  Set correct vgid when updating cache when writing PV metadata.
  More efficient clvmd singlenode locking emulation.
  Reject lvcreate -m with raid4/5/6 to avoid unexpected layout.
  Don't skip invalidation of cached orphans if vg write lck is held (2.02.118).
  Log relevant PV tags when using cling allocation.
  Add str_list_add_list() to combine two lists.
  Fix LV processing with selection to always do the selection on initial state.
  Add internal LV_REMOVED LV status flag.

Version 2.02.118 - 23rd March 2015
==================================
  Store metadata size + checksum in lvmcache and add struct lvmcache_vgsummary.
  Remove inaccessible clustered PVs from 'pvs -a'.
  Don't invalidate cached orphan information while global lock is held.
  Avoid rescan of all devices when requested pvscan for removed device.
  Measure configuration timestamps with nanoseconds when available.
  Disable lvchange of major and minor of pool LVs.
  Fix pvscan --cache to not scan and read ignored metadata areas on PVs.
  Add After=iscsi-shutdown.service to blk-availability.service systemd unit.
  Disallow vgconvert from changing metadata format when lvmetad is used.
  Don't do a full read of VG when creating a new VG with an existing name.
  Reduce amount of VG metadata parsing when looking for vgname on a PV.
  Avoid reparsing same metadata when reading same metadata from multiple PVs.
  Save extra device open/close when scanning device for size.
  Fix seg_monitor field to report status also for mirrors and thick snapshots.
  Replace LVM_WRITE with LVM_WRITE_LOCKED flags in metadata if system ID is set.
  Remove ACCESS_NEEDS_SYSTEM_ID VG status flag. (2.02.117)
  Enable system ID features.

Version 2.02.117 - 4th March 2015
=================================
  Add CFG_DISABLED for new system ID config settings that must not yet be used.
  Preserve original format type field when processing backup files.
  Implement status action for lvm2-monitor initscript to display monitored LVs.
  Allow lvchange -p to change kernel state only if metadata state differs.
  Fix incorrect persistent .cache after report with label fields only (2.02.106).
  Reinstate PV tag recognition for pvs if reporting label fields only (2.02.105).
  Rescan devices before vgimport with lvmetad so exported VG is seen.
  Fix hang by adjusting cluster mirror regionsize, avoiding CPG msg limit.
  Do not crash when --cachepolicy is given without --cachesettings.
  Add NEEDS_FOREIGN_VGS flag to vgimport so --foreign is always supplied.
  Add --foreign to the 6 display and reporting tools and vgcfgbackup.
  Install /etc/lvm/lvmlocal.conf template with local section for systemid.
  Record creation_host_system_id in lvm2 metadata (never set yet).
  Reinstate recursive config file tag section processing. (2.02.99)
  Add 'lvm systemid' to display the current system ID (never set yet).
  Fix configure to properly recognize --with-default-raid10-segtype option.
  Do not refresh filters/rescan if no signature is wiped during pvcreate.
  Enforce none external dev info for wiping during pvcreate to avoid races.
  Add global/system_id_source and system_id_file to lvm.conf (disabled).
  Add support for VG system_id to control host access to VGs.
  Update vgextend to use process_each_vg.
  Add --ignoreskippedcluster to pvchange.
  Allow pvchange to modify several properties at once.
  Update pvchange to use process_each_pv.
  Fix pvs -a used with lvmetad to filter out devices unsuitable for PVs.
  Fix selection to recognize units for ba_start, vg_free and seg_start fields.
  Add support for -S/--select to vgexport and vgimport.
  Add support for -S/--select to vgdisplay, lvdisplay and pvdisplay without -C.
  Add support for -S/--select to vgremove and lvremove.
  Add support for -S/--select to vgchange,lvchange and pvchange.
  Add infrastructure to support selection for non-reporting tools.
  Add LVM_COMMAND_PROFILE env var to set default command profile name to use.
  Set CLOEXEC flag on file descriptors originating in libdaemon.

Version 2.02.116 - 30th January 2015
====================================
  Deactivate unused thin pools activated with lvm2 pre-2.02.112 versions.
  Check lock holding LV when lvconverting stacked raid LV in cluster.
  Support udev external dev info for filters: PV min size, mpath, md, partition.
  Add fw_raid_component_detection lvm.conf option to enable FW raid detection.
  Add devices/external_device_info_source lvm.conf option ("none" by default).
  Scan pools in for_each_sub_lv() and add for_each_sub_lv_except_pools().
  Fix lvm2app lvm_lv_get_property return value for fields with info/status ioctl.
  Fix lvm2app regression in lvm_lv_get_attr causing unknown values (2.02.115).
  Set default cache_mode to writehrough when missing in metadata.
  Preserve chunk size with repair and metadata swap of a thin pool.
  Fix raid --splitmirror 1 functionality (2.02.112).
  Fix tree preload to handle splitting raid images.
  Do not support unpartitioned DASD devices.
  Improve config validation to check if setting with string value can be empty.

Version 2.02.115 - 21st January 2015
====================================
  Report segment types without monitoring support as undefined.
  Support lvchange --errorwhenfull for thin pools.
  Improve the processing and reporting of duplicate PVs.
  Report lv_health_status and health attribute also for thin pool.
  Add lv_when_full reporting field.
  Add support for lvcreate --errorwhenfull y|n for thin pools.
  Fix lvconvert --repair to honour resilience requirement for segmented RAID LV.
  Filter out partitioned device-mapper devices as unsuitable for use as PVs.
  Also notify lvmetad about filtered device if using pvscan --cache DevicePath.
  Use LVM's own selection instead of awk expressions in clvmd startup scripts.
  Do not filter out snapshot origin LVs as unusable devices for an LVM stack.
  Fix incorrect rimage names when converting from mirror to raid1 LV (2.02.112).
  Introduce pvremove_many to avoid excessive metadata re-reading and messages.
  Check for cmirror availability during cluster mirror creation and activation.
  Add cache_policy and cache_settings reporting fields.
  Add missing recognition for --binary option with {pv,vg,lv}display -C.
  Fix vgimportclone to notify lvmetad about changes done if lvmetad is used.
  Fix vgimportclone to properly override config if it is missing in lvm.conf.
  Fix automatic use of configure --enable-udev-systemd-background-jobs.
  Correctly rename active split LV with -splitmirrors for raid1.
  Add report/compact_output to lvm.conf to enable/disable compact report output.
  Still restrict mirror region size to power of 2 when VG extent size is not.

Version 2.02.114 - 28th November 2014
=====================================
  Release socket in daemon_close and protocol string in daemon_open error path.
  Add --cachepolicy and --cachesettings to lvcreate.
  Fix regression when parsing /dev/mapper dir (2.02.112).
  Fix missing rounding to 64KB when estimating optimal thin pool chunk size.
  Fix typo in clvmd initscript causing CLVMD_STOP_TIMEOUT var to be ignored.
  Fix size in pvresize "Resizing to ..." verbose msg to show proper result size.

Version 2.02.113 - 24th November 2014
=====================================
  Add --cachepolicy and --cachesettings options to lvchange.
  Validate that converted volume and specified pool volume differ in lvconvert.
  Fix regression in vgscan --mknodes usage (2.02.112).
  Respect --prefix when setting CLMVD_PATH configure (2.02.89).
  Default to configure --enable-udev-systemd-background-jobs for systemd>=205.
  Fix ignore_vg() to properly react on various vg_read errors (2.02.112).
  Failed recovery returns FAILED_RECOVERY status flag for vg_read().
  Exit with non-zero status code when pvck encounters a problem.
  Fix clean_tree after activation/resume for cache target (2.02.112).

Version 2.02.112 - 11th November 2014
=====================================
  Add cache_{read,write}_{hits,misses} reporting fields.
  Add cache_{total,used,dirty}_blocks reporting fields.
  Add _corig as reserved suffix.
  Reduce number of VG writes and commits when creating spare volumes.
  When remove_layer_from_lv() removes layer, restore subLV names.
  Cache-pool in use becomes invisible LV.
  Don't prompt for removal of _pmspare in VG without pool metadata LV.
  Deactivation of snapshot origin detects and deactivates left-over snapshots.
  Properly report error when taking snapshot of any cache type LV.
  Add basic thread debugging messages to dmeventd.
  Include threads being shutdown in dmeventd device registration responses.
  Inital support for external users of thin pools based on transaction_id.
  Report some basic percentage info for cache pools.
  Introduce size_mb_arg_with_percent() for advanced size arg reading.
  Add extra support for '.' as decimal point in size args.
  Add configure parameters for default segment type choices.
  Add global/sparse_segtype_default setting to use thin for --type sparse.
  Update and correct lvcreate and lvcovert man pages.
  Mark pools and snapshots as unzeroable volumes.
  Check for zeroing of volume after segment type is fully detected.
  Better support for persistent major and minor options with lvcreate.
  Refactor lvcreate towards more complete validation of all supported options.
  Support lvcreate --type linear.
  Improve _should_wipe_lv() to warn with message.
  Inform about temporarily created volumes only in verbose mode.
  Better support for --test mode with pool creation.
  Query lock holding LV when replacing and converting raid volumes.
  Add extra validate for locked lv within validate_lv_cache_create().
  Add internal lvseg_name() function.
  Skip use of lock files for virtual internal VG names.
  Fix selection on {vg,lv}_permissions fields to properly match selection criteria.
  Fix lv_permissions reporting to display read-only{-override} instead of blank.
  Fix liblvm2cmd and lvm shell to respect quotes around args in cmd line string.
  Permit extent sizes > 128KB that are not power of 2 with lvm2 format.
  Remove workaround for lvm2-monitor.service hang on stop if lvmetad stopped.
  Change vgremove to use process_each_lv_in_vg.
  Allow lvconvert --repair and --splitmirrors on internal LVs.
  Introduce WARN_ flags to control some metadata warning messages.
  Use process_each_pv in vgreduce.
  Refactor process_each_pv in toollib.
  Introduce single validation routine for pool chunk size.
  Support --yes like --force in vg/lvremove to skip y|n prompt.
  Support --yes with lvconvert --splitsnapshot.
  Fix detection of unsupported thin external lvconversions.
  Fix detection of unsupported cache and thin pool lvconversions.
  Fix detection of unsupported lvconversion of cache to snapshot.
  Improve code for creation of cache and cache pool volumes.
  Check cluster-wide (not local) active status before removing LV.
  Properly check if activation of removed cached LV really activated.
  lvremove cached LV removes cachepool (keep with lvconvert --splitcache).
  Always remove spare LV with last removed pool volume.
  Support lvconvert --splitcache and --uncache of cached LV.
  Option --cache has also shortcut -H (i.e. lvcreate -H).
  Refactor lvcreate code and better preserve --type argument.
  Refactor filter processing around lvmetad.
  Refactor process_each_lv in toollib.
  Refactor process_each_vg in toollib.
  Pools cannot be used as external origin.
  Use lv_update_and_reload() for snapshot reload.
  Don't print message in adjusted_mirror_region_size() in activation.
  Improve lv_update_and_reload() to find out proper lock holding LV.
  Improve search of LV in lv_ondisk().
  Do not scan sysfs in lv_check_not_in_use() when device is closed.
  Backup final metadata after resync of mirror/raid.
  Unify handling of --persistent option for lvcreate and lvchange.
  Validate major and minor numbers stored in metadata.
  Use -fPIE when linking -pie executables.
  Support DEBUG_MEMLOCK to trap unsupported mmap usage.
  Enable cache segment type by default.
  Ensure only supported volume types are used with cache segments.
  Fix inablility to specify cachemode when 'lvconvert'ing to cache-pool.
  Grab cluster lock for active LVs when setting clustered attribute.
  Use va_copy to properly pass va_list through functions.
  Add function to detect rotational devices.
  Review internal checks for mirror/raid/pvmove volumes.
  Track mirror segment type with separate MIRROR flag.
  Fix cmirror endian conversions.
  Introduce lv_is_pvmove/locked/converting/merging macros.
  Avoid leaving linear logical volume when thin pool creation fails.
  Don't leak alloc_handle on raid target error path.
  Properly validate raid leg names.
  Archive metadata before starting their modification in raid target.
  Add missing vg_revert() in suspend_lv() raid and snapshot error path.
  Add missing backup of lvm2 metadata after some raid modifications.
  Use vg memory pool for extent allocation.
  Add allocation/physical_extent_size config option for default PE size of VGs.
  Demote an error to a warning when devices known to lvmetad are filtered out.
  Re-order filter evaluation, making component filters global.
  Fix logic that checks for full scan before iterating through devices.
  Introduce common code to modify metadata and reload updated LV.
  Fix rename of active snapshot volume in cluster.
  Make sure shared libraries are built with RELRO option.

Version 2.02.111 - 1st September 2014
=====================================
  Pass properly sized char buffers for sscanf when initializing clvmd.
  Reinstate nosync logic when extending mirror. (2.02.110)
  Fix total area extent calculation when allocating cache pool. (2.02.110)

Version 2.02.110 - 26th August 2014
===================================
  Fix manipulation with thin-pools which are excluded via volume_list.
  Support lv/vgremove -ff to remove thin vols from broken/inactive thin pools.
  Fix typo breaking configure --with-lvm1=shared.
  Modify lvresize code to handle raid/mirrors and physical extents.
  Don't allow pvcreate to proceed if scanning or filtering fails.
  Cleanly error when creating RAID with stripe size < PAGE_SIZE.
  Print name of LV which on activation triggers delayed snapshot merge.
  Add lv_layout and lv_role LV reporting fields.
  Properly display lvs lv_attr volume type and target type bit for cache origin.
  Fix pvcreate_check() to update cache correctly after signature wiping.
  Fix primary device lookup failure for partition when processing mpath filter.
  If LV inactive and non-clustered, do not issue "Cannot deactivate" on -aln.
  Remove spurious "Skipping mirror LV" message on pvmove of clustered mirror.

Version 2.02.109 - 5th August 2014
==================================
  Remove lv_volume_type field from reports. (2.02.108)
  Fix a segfault in lvscan --cache when devices were already missing. (2.02.108)
  Fix incorrect persistent .cache after vgcreate with PV creation. (2.02.108)
  Display actual size changed when resizing LV.
  Allow approximate allocation with +%FREE in lvextend.
  Remove possible spurious "not found" message on PV create before wiping.
  Handle upgrade from 2.02.105 when an LV now gaining a uuid suffix is active.

Version 2.02.108 - 23rd July 2014
=================================
  Add lvscan --cache which re-scans constituents of a particular LV.
  Make dmeventd's RAID plugin re-scan failed PVs when lvmetad is in use.
  Improve code sharing for lvconvert and lvcreate and pools (cache & thin).
  Improve lvconvert --merge validation.
  Improve lvconvert --splitsnapshot validation.
  Add report/list_item_separator lvm.conf option.
  Add lv_active_{locally,remotely,exclusively} LV reporting fields.
  Comment out devices/{preferred_names,filter} in default lvm.conf file.
  Enhance lvconvert thin, thinpool, cache and cachepool command line support.
  Display 'C' only for cache and cache-pool target types in lvs.
  Prompt for confirmation before change LV into a snapshot exception store.
  Return proper error codes for some failing lvconvert funtions.
  Add initial code to use cache tools (cache_check|dump|repair|restore).
  Support lvdisplay --maps for raid.
  Add --activationmode degraded to activate degraded raid volumes by default.
  Add separate lv_active_{locally,remotely,exclusively} LV reporting fields.
  Recognize "auto"/"unmanaged" values in selection for appropriate fields only.
  Add report/binary_values_as_numeric lvm.conf option for binary values as 0/1.
  Add --binary arg to pvs,vgs,lvs and {pv,vg,lv}display -C for 0/1 on reports.
  Add separate reporting fields for each each {pv,vg,lv}_attr bit.
  Separate LV device status reporting fields out of LV fields.
  Fix regression causing PVs not in VGs to be marked as allocatable (2.02.59).
  Fix VG component of lvid in vgsplit/vgmerge and check in vg_validate.
  Add lv_full_name, lv_parent and lv_dm_path fields to reports.
  Change lv_path field to suppress devices that never appear in /dev/vg.
  Postpone thin pool lvconvert prompts (2.02.107).
  Require --yes option to skip prompt to lvconvert thin pool chunksize.
  Support lvremove -ff to remove thin volumes from broken thin pools.
  Require --yes to skip raid repair prompt.
  Change makefile %.d generation to handle filename changes without make clean.
  Fix use of buildir in make pofile.
  Enhance private volumes UUIDs with suffixed for easier detection.
  Do not use reserved _[tc]meta volumes for temporary LVs.
  Leave backup pool metadata with _meta%d suffix instead of reserved _tmeta%d.
  Allow RAID repair to reuse PVs from same image that suffered a failure.
  New RAID images now avoid allocation on any PVs in the same parent RAID LV.
  Always reevaluate filters just before creating PV.

Version 2.02.107 - 23rd June 2014
=================================
  Introduce LCK_ACTIVATION to avoid concurrent activation of basic LV types.
  Fix open_count test for lvchange --refresh or mirrors and raids.
  Update pvs,vgs,lvs and lvm man page for selection support.
  Add -S/--select to lvm devtypes for report selection.
  Add -S/--select to pvs,vgs,lvs and {pv,vg,lv}display -C for report selection.
  Use dm_report_init_with_selection now, implicit "selected" field appears.
  Make use of libdm's DM_REPORT_FIELD_TYPE{SIZE,PERCENT,STRING_LIST} for fields.
  Support all-or-nothing pvmove --atomic.
  Automatically add snapshot metadata size for -l %ORIGIN calculation.
  When converting RAID origin to cache LV, properly rename sub-LVs.
  Use RemoveOnStop for lvm2-lvmetad.socket systemd unit.
  Add thin-generic configuration profile for generic thin settings.
  Fix crash when reporting empty labels on pvs.
  Use retry_deactivation also when cleaning orphan devices.
  Wait for client threads when shutting down lvmetad.
  Remove PV from cache on pvremove.
  Avoid repeatedly reporting of failure to connect to lvmetad.
  Introduce MDA_FAILED to permit metadata updates even if some mdas are missing.
  Prompt when setting the VG cluster attr if the cluster is not setup.
  Allow --yes to skip prompt in vgextend (worked only with -f).
  Don't use name mangling for LVM - it never uses dm names with wrong char set.
  Remove default.profile and add {command,metadata}_profile_template.profile.
  Use proper umask for systemd units generated by lvm2-activation-generator.
  Check for failing mirror_remove_missing() function.
  Prompt before converting volumes to thin pool and thin pool metadata.
  Add dumpconfig --type profilable-{metadata,command} to select profile type.
  Exit immediately with error if command profile is found invalid.
  Separate --profile cmd line arg into --commandprofile and --metadataprofile.
  Strictly separate command profiles and per-VG/LV profiles referenced in mda.
  Fix dumpconfig --type diff when run as second and later cmd in lvm shell.
  Fix wrong profile reuse from previous run if another cmd is run in lvm shell.
  Move cache description from lvm(8) to new lvmcache(7) man page.
  Display skipped prompt in silent mode.
  Make reporting commands show help about possible sort keys on '-O help'.
  Add metadata_percent to lvs_cols.
  Take account of parity areas with alloc anywhere in _calc_required_extents.
  Use proper uint64 casting for calculation of cache metadata size.
  Better support for nesting of blocking signals.
  Use only sigaction handler and drop duplicate signal handler.
  Separate signal handling and flock code out into lib/misc.
  Don't start dmeventd checking seg_monitor and monitoring is disabled.
  Catch CTRL-c during pvremove prompts.
  Show correct availability status for snapshot origin in lvscan.
  Move segment thin pool/volume info into segment display 'lvdisplay --maps'.
  Display thin pool usage even when just thin volume is available.
  Display monitoring status for monitorable segments in 'lvdisplay --maps'.
  Display virtual extents for virtual LVs in 'lvdisplay --maps'.
  Make vgsplit fail cleanly when not all PVs are specified for RAID 4/5/6.
  Make vgsplit work on mirrors with logs that share PVs with images.
  Use devices/ignore_suspended_devices=0 by default if not defined in lvm.conf.
  Use proper libmem mempool for allocation of unknown segment name.
  Add --readonly to reporting and display tools for lock-free metadata access.
  Add locking_type 5 for dummy locking for tools that do not need any locks.
  Fix _recover_vg() error path when lock conversion fails.
  Use X for LV attributes that are unknown when activation disabled.
  Only output lvdisplay 'LV Status' field when activation is enabled.
  Use lvmetad_used() in pvscan instead of config_tree.
  Configure --enable-udev-systemd-background-jobs if not disabled explicitly.
  Add lvmdump -s to collect system info and context (currently systemd only).
  Refactor allocation code to make A_POSITIONAL_FILL explicit.
  Use thread-safe ctime_r() for clvmd debug logging.
  Skip adding replies to already finished reply thread.
  Use mutex to check number of replies in request_timed_out() in clvmd.
  Drop usage of extra reply_mutex for localsock in clvmd.
  Protect manipulation with finished flag with mutex in clvmd. 
  Shift mutex creation and destroy for localsock in clvmd to correct place.
  Fix usage of --test option in clvmd.
  Skip more libraries to be mlocked in memory.
  Remove LOCKED flag for pvmove replaced with error target.
  Return invalid command when specifying negative polling interval.

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 alignment 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)

Version 2.02.103 - 4th October 2013
===================================
  Ensure vgid matches before removing vgname entry from lvmetad cache.
  Add --ignoreskippedcluster for exit status success when clustered VGs skipped.
  Fix 3 minute udev timeout so that it is applied for all LVM volumes.
  Fix thin/raid & activation config defaults with configure --disable-devmapper.
  Fix RAID calculation for sufficient allocatable space.
  lvconvert from linear to mirror or RAID1 now honors mirror_segtype_default.
  Add thin-performance configuration profile.
  Add lvm.conf allocation/thin_pool_chunk_size_policy option.
  Fix contiguous & cling allocation policies for parity RAID.  (2.02.100)
  Have lvmconf --enable/disable-cluster reset/set use_lvmetad.
  Don't install separate command symlink for 'lvm devtypes'. (2.02.101)
  Add seg_size_pe field to reports.
  Support start+length notation with command line PE ranges.
  Exit cleanly with message when pvmove cannot restart because LV is inactive.

Version 2.02.102 - 23rd September 2013
======================================
  Fix missing build dependency for scripts subdir in Makefile.
  Extend lv_info() for more efficient lv_is_active_locally() check.
  Fix node up/down handling in clvmd corosync module.

Version 2.02.101 - 20th September 2013
======================================
  Fix 3-thread clvmd deadlock triggered by cleanup on EOF from client.
  Remove VG from lvmetad before restoring it with vgcfgrestore.
  Use strtoull instead of strtol in _get_int_arg.
  Add devtypes report command to display built-in recognised block device types.
  Fix CC Makefile override which had reverted to using built-in value. (2.02.75)
  Recognise bcache block devices in filter (experimental).
  Run lvm2-activation-net after lvm2-activation service to prevent parallel run.
  Add man page entries for lvmdump's -u and -l options.
  Fix lvm2app segfault while using lvm_list_pvs_free fn if there are no PVs.
  Improve of clvmd singlenode locking simulation.
  lvconvert no longer converts LVs of "mirror" segment type to thinpool.
  lvconvert no longer converts thinpool sub-LVs to "mirror" segment type.
  Direct udev to use 3min timeout for LVM devices. Recent udev has default 30s.
  Do not scan multipath or RAID components and avoid incorrect autoactivation.
  Fix MD/loop udev handling to fire autoactivation after setup or coldplug only.
  Make RAID capable of single-machine exclusive operations in a cluster.
  Drop calculation of read ahead for deactivated volume.
  Check for exactly one lv segment in validation of thin pools and volumes.
  Fix dmeventd unmonitoring of thin pools.
  Fix lvresize for stacked thin pool volumes (i.e. mirrors).
  Write Completed debug message before reinstating log defaults after command.
  Refresh existing VG before autoactivation (event retrigger/device reappeared).
  Use pvscan -b in udev rules to avoid a deadlock on udev process count limit.
  Add pvscan -b/--background for the command to be processed in the background.
  Don't assume stdin file descriptor is readable.
  Avoid unlimited recursion when creating dtree containing inactive pvmove LV.
  Require exactly 3 arguments for lvm2-activation-generator. Remove defaults.
  Inform lvmetad about any lost PV label to make it in sync with system state.
  Support most of lvchange operations on stacked thin pool meta/data LVs.
  Enable non-clustered pvmove of snapshots and snapshot origins.
  Add ability to pvmove non-clustered RAID, mirror, and thin volumes.
  Make lvm2-activation-generator silent unless it's in error state.
  Remove "mpath major is not dm major" msg for mpath component scan (2.02.94).
  Prevent cluster mirror logs from being corrupted by redundant checkpoints.
  Fix ignored lvmetad update on loop device configuration (2.02.99).
  Use LVM_PATH instead of hardcoded value in lvm2 activation systemd generator.
  Fix vgck to notice on-disk corruption even if lvmetad is used.
  Move mpath device filter before partitioned filter (which opens devices).
  Split partitioned filter out of lvm_type filter.
  Merge filter*.h into a single filter.h.
  Require confirmation for vgchange -c when no VGs listed explicitly.
  Also skip /var and /var/log by default in blkdeactivate when unmounting.
  Add support for bind mounts in blkdeactivate.
  Add blkdeactivate -v/--verbose for debug output from external tools used.
  Add blkdeactivate -e/--errors for error messages from external tools used.
  Suppress messages from external tools called in blkdeactivate by default.

Version 2.02.100 - 13th August 2013
===================================
  Fix inability to remove a VG's cluster flag if it contains a mirror.
  Suppress arg: prefix in log_sys_error macro when arg is empty string.
  Fix bug making lvchange unable to change recovery rate for RAID.
  Prohibit conversion of thin pool to external origin.
  Workaround gcc v4.8 -O2 bug causing failures if config/checks=1 (32bit arch).
  Verify clvmd message validity before processing and log error if incorrect.
  When creating PV on existing LV don't forbid reserved LV names on LVs below.
  Split out device_is_suspended_or_blocking from device_is_usable.
  When converting mirrors, default segtype should be the same unless specified.
  Make "raid1" the default mirror segment type.
  Fix clogd descriptor leak when daemonizing.
  Fix clvmd descriptor leak on restart.
  Add pipe_open/close() to use instead of less efficient/secure popen().
  Fix metadata area offset/size overflow if it's >= 4g and while using lvmetad.
  Inherit and apply any profile attached to a VG if creating new thin pool.
  Add initial support thin pool lvconvert --repair.
  Add --with-thin-repair and --with-thin-dump configure options.
  Add lvm.conf thin_repair/dump_executable and thin_repair_options.
  Require 1.9 thin pool target version for online thin pool metadata resize.
  Ignore previous LV seg with alloc contiguous & cling when num stripes varies.
  Fix segfault if devices/global_filter is not specified correctly.

Version 2.02.99 - 24th July 2013
================================
  Do not zero init 4KB of thin snapshot for non-zeroing thin pool (2.02.94).
  Issue an error msg if lvconvert --type used incorrectly with other options.
  Use LOG_DEBUG/ERR msg severity instead default for lvm2-activation-generator.
  Support ARG_GROUPABLE with merge_synonym (for --raidwritemostly).
  Fix segfault when reporting raid_syncaction for older kernels.
  Add LV report fields: raid_mismatch_count/raid_sync_action/raid_write_behind.
  Add LV reporting fields raid_min_recovery_rate, raid_max_recovery_rate.
  Add sync_percent as alias for copy_percent LV reporting field.
  Add lv_ prefix to modules reporting field.
  Use units B or b (never E                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                