lvm2: Update to version 2.03.21

Message ID 20230502175321.3769644-5-adolf.belka@ipfire.org
State Accepted
Commit 84c21e12ecfac026dc222417e95a15231bc57c33
Headers
Series lvm2: Update to version 2.03.21 |

Commit Message

Adolf Belka May 2, 2023, 5:53 p.m. UTC
  - Update from version 2.02.188 to 2.03.21
- Update of rootfile
- Changelog
    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 formated 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.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/lvm2 | 16 +++++++++++-----
 lfs/lvm2                     |  6 +++---
 2 files changed, 14 insertions(+), 8 deletions(-)
  

Comments

Arne Fitzenreiter May 9, 2023, 7:51 a.m. UTC | #1
This patch remove lvmetad but there is still an initskript that try to 
start it.
I don't know what this does but it give an error at boot.

Arne


Am 2023-05-02 19:53, schrieb Adolf Belka:
> - Update from version 2.02.188 to 2.03.21
> - Update of rootfile
> - Changelog
>     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 formated 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.
> 
> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
> ---
>  config/rootfiles/common/lvm2 | 16 +++++++++++-----
>  lfs/lvm2                     |  6 +++---
>  2 files changed, 14 insertions(+), 8 deletions(-)
> 
> diff --git a/config/rootfiles/common/lvm2 
> b/config/rootfiles/common/lvm2
> index 258f3201f..bd1329e54 100644
> --- a/config/rootfiles/common/lvm2
> +++ b/config/rootfiles/common/lvm2
> @@ -9,15 +9,17 @@ etc/lvm/lvm.conf
>  #etc/lvm/profile/metadata_profile_template.profile
>  #etc/lvm/profile/thin-generic.profile
>  #etc/lvm/profile/thin-performance.profile
> +#etc/lvm/profile/vdo-small.profile
>  lib/udev/rules.d/10-dm.rules
>  lib/udev/rules.d/11-dm-lvm.rules
>  lib/udev/rules.d/13-dm-disk.rules
> -lib/udev/rules.d/69-dm-lvm-metad.rules
> +lib/udev/rules.d/69-dm-lvm.rules
>  lib/udev/rules.d/95-dm-notify.rules
>  #usr/include/libdevmapper.h
>  #usr/lib/libdevmapper.so
>  usr/lib/libdevmapper.so.1.02
>  #usr/lib/pkgconfig/devmapper.pc
> +#usr/libexec/lvresize_fs_helper
>  usr/sbin/blkdeactivate
>  usr/sbin/dmsetup
>  usr/sbin/dmstats
> @@ -28,11 +30,11 @@ usr/sbin/lvcreate
>  usr/sbin/lvdisplay
>  usr/sbin/lvextend
>  usr/sbin/lvm
> -usr/sbin/lvmconf
> +usr/sbin/lvm_import_vdo
>  usr/sbin/lvmconfig
> +usr/sbin/lvmdevices
>  usr/sbin/lvmdiskscan
>  usr/sbin/lvmdump
> -usr/sbin/lvmetad
>  usr/sbin/lvmsadc
>  usr/sbin/lvmsar
>  usr/sbin/lvreduce
> @@ -61,6 +63,7 @@ usr/sbin/vgexport
>  usr/sbin/vgextend
>  usr/sbin/vgimport
>  usr/sbin/vgimportclone
> +usr/sbin/vgimportdevices
>  usr/sbin/vgmerge
>  usr/sbin/vgmknodes
>  usr/sbin/vgreduce
> @@ -70,11 +73,13 @@ usr/sbin/vgs
>  usr/sbin/vgscan
>  usr/sbin/vgsplit
>  #usr/share/man/man5/lvm.conf.5
> +#usr/share/man/man7/lvmautoactivation.7
>  #usr/share/man/man7/lvmcache.7
>  #usr/share/man/man7/lvmraid.7
>  #usr/share/man/man7/lvmreport.7
>  #usr/share/man/man7/lvmsystemid.7
>  #usr/share/man/man7/lvmthin.7
> +#usr/share/man/man7/lvmvdo.7
>  #usr/share/man/man8/blkdeactivate.8
>  #usr/share/man/man8/dmsetup.8
>  #usr/share/man/man8/dmstats.8
> @@ -89,11 +94,11 @@ usr/sbin/vgsplit
>  #usr/share/man/man8/lvm-fullreport.8
>  #usr/share/man/man8/lvm-lvpoll.8
>  #usr/share/man/man8/lvm.8
> -#usr/share/man/man8/lvmconf.8
> +#usr/share/man/man8/lvm_import_vdo.8
>  #usr/share/man/man8/lvmconfig.8
> +#usr/share/man/man8/lvmdevices.8
>  #usr/share/man/man8/lvmdiskscan.8
>  #usr/share/man/man8/lvmdump.8
> -#usr/share/man/man8/lvmetad.8
>  #usr/share/man/man8/lvmsadc.8
>  #usr/share/man/man8/lvmsar.8
>  #usr/share/man/man8/lvreduce.8
> @@ -122,6 +127,7 @@ usr/sbin/vgsplit
>  #usr/share/man/man8/vgextend.8
>  #usr/share/man/man8/vgimport.8
>  #usr/share/man/man8/vgimportclone.8
> +#usr/share/man/man8/vgimportdevices.8
>  #usr/share/man/man8/vgmerge.8
>  #usr/share/man/man8/vgmknodes.8
>  #usr/share/man/man8/vgreduce.8
> diff --git a/lfs/lvm2 b/lfs/lvm2
> index 7e327a021..5b39f05f5 100644
> --- a/lfs/lvm2
> +++ b/lfs/lvm2
> @@ -1,7 +1,7 @@
>  
> ###############################################################################
>  #                                                                      
>        #
>  # IPFire.org - A linux based firewall                                  
>        #
> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>              
>        #
> +# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>              
>        #
>  #                                                                      
>        #
>  # This program is free software: you can redistribute it and/or modify 
>        #
>  # it under the terms of the GNU General Public License as published by 
>        #
> @@ -24,7 +24,7 @@
> 
>  include Config
> 
> -VER        = 2.02.188
> +VER        = 2.03.21
> 
>  THISAPP    = LVM2.$(VER)
>  DL_FILE    = $(THISAPP).tgz
> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
> 
>  $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
> 
> -$(DL_FILE)_BLAKE2 =
> bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476
> +$(DL_FILE)_BLAKE2 =
> 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728
> 
>  install : $(TARGET)
  
Michael Tremer May 9, 2023, 8:01 a.m. UTC | #2
This is a service that caches any meta information about the LVM arrays.

At some point, we decided to run it by default, because it makes any block operations a little bit faster.

The change log states that it has been removed, so we simply need to drop this line. I do not think that this will cause any other changes for us.

-Michael

> On 9 May 2023, at 08:51, Arne Fitzenreiter <arne_f@ipfire.org> wrote:
> 
> This patch remove lvmetad but there is still an initskript that try to start it.
> I don't know what this does but it give an error at boot.
> 
> Arne
> 
> 
> Am 2023-05-02 19:53, schrieb Adolf Belka:
>> - Update from version 2.02.188 to 2.03.21
>> - Update of rootfile
>> - Changelog
>>    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 formated 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.
>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>> ---
>> config/rootfiles/common/lvm2 | 16 +++++++++++-----
>> lfs/lvm2                     |  6 +++---
>> 2 files changed, 14 insertions(+), 8 deletions(-)
>> diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2
>> index 258f3201f..bd1329e54 100644
>> --- a/config/rootfiles/common/lvm2
>> +++ b/config/rootfiles/common/lvm2
>> @@ -9,15 +9,17 @@ etc/lvm/lvm.conf
>> #etc/lvm/profile/metadata_profile_template.profile
>> #etc/lvm/profile/thin-generic.profile
>> #etc/lvm/profile/thin-performance.profile
>> +#etc/lvm/profile/vdo-small.profile
>> lib/udev/rules.d/10-dm.rules
>> lib/udev/rules.d/11-dm-lvm.rules
>> lib/udev/rules.d/13-dm-disk.rules
>> -lib/udev/rules.d/69-dm-lvm-metad.rules
>> +lib/udev/rules.d/69-dm-lvm.rules
>> lib/udev/rules.d/95-dm-notify.rules
>> #usr/include/libdevmapper.h
>> #usr/lib/libdevmapper.so
>> usr/lib/libdevmapper.so.1.02
>> #usr/lib/pkgconfig/devmapper.pc
>> +#usr/libexec/lvresize_fs_helper
>> usr/sbin/blkdeactivate
>> usr/sbin/dmsetup
>> usr/sbin/dmstats
>> @@ -28,11 +30,11 @@ usr/sbin/lvcreate
>> usr/sbin/lvdisplay
>> usr/sbin/lvextend
>> usr/sbin/lvm
>> -usr/sbin/lvmconf
>> +usr/sbin/lvm_import_vdo
>> usr/sbin/lvmconfig
>> +usr/sbin/lvmdevices
>> usr/sbin/lvmdiskscan
>> usr/sbin/lvmdump
>> -usr/sbin/lvmetad
>> usr/sbin/lvmsadc
>> usr/sbin/lvmsar
>> usr/sbin/lvreduce
>> @@ -61,6 +63,7 @@ usr/sbin/vgexport
>> usr/sbin/vgextend
>> usr/sbin/vgimport
>> usr/sbin/vgimportclone
>> +usr/sbin/vgimportdevices
>> usr/sbin/vgmerge
>> usr/sbin/vgmknodes
>> usr/sbin/vgreduce
>> @@ -70,11 +73,13 @@ usr/sbin/vgs
>> usr/sbin/vgscan
>> usr/sbin/vgsplit
>> #usr/share/man/man5/lvm.conf.5
>> +#usr/share/man/man7/lvmautoactivation.7
>> #usr/share/man/man7/lvmcache.7
>> #usr/share/man/man7/lvmraid.7
>> #usr/share/man/man7/lvmreport.7
>> #usr/share/man/man7/lvmsystemid.7
>> #usr/share/man/man7/lvmthin.7
>> +#usr/share/man/man7/lvmvdo.7
>> #usr/share/man/man8/blkdeactivate.8
>> #usr/share/man/man8/dmsetup.8
>> #usr/share/man/man8/dmstats.8
>> @@ -89,11 +94,11 @@ usr/sbin/vgsplit
>> #usr/share/man/man8/lvm-fullreport.8
>> #usr/share/man/man8/lvm-lvpoll.8
>> #usr/share/man/man8/lvm.8
>> -#usr/share/man/man8/lvmconf.8
>> +#usr/share/man/man8/lvm_import_vdo.8
>> #usr/share/man/man8/lvmconfig.8
>> +#usr/share/man/man8/lvmdevices.8
>> #usr/share/man/man8/lvmdiskscan.8
>> #usr/share/man/man8/lvmdump.8
>> -#usr/share/man/man8/lvmetad.8
>> #usr/share/man/man8/lvmsadc.8
>> #usr/share/man/man8/lvmsar.8
>> #usr/share/man/man8/lvreduce.8
>> @@ -122,6 +127,7 @@ usr/sbin/vgsplit
>> #usr/share/man/man8/vgextend.8
>> #usr/share/man/man8/vgimport.8
>> #usr/share/man/man8/vgimportclone.8
>> +#usr/share/man/man8/vgimportdevices.8
>> #usr/share/man/man8/vgmerge.8
>> #usr/share/man/man8/vgmknodes.8
>> #usr/share/man/man8/vgreduce.8
>> diff --git a/lfs/lvm2 b/lfs/lvm2
>> index 7e327a021..5b39f05f5 100644
>> --- a/lfs/lvm2
>> +++ b/lfs/lvm2
>> @@ -1,7 +1,7 @@
>> ###############################################################################
>> #                                                                             #
>> # IPFire.org - A linux based firewall                                         #
>> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>> +# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
>> #                                                                             #
>> # This program is free software: you can redistribute it and/or modify        #
>> # it under the terms of the GNU General Public License as published by        #
>> @@ -24,7 +24,7 @@
>> include Config
>> -VER        = 2.02.188
>> +VER        = 2.03.21
>> THISAPP    = LVM2.$(VER)
>> DL_FILE    = $(THISAPP).tgz
>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>> -$(DL_FILE)_BLAKE2 =
>> bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476
>> +$(DL_FILE)_BLAKE2 =
>> 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728
>> install : $(TARGET)
  
Adolf Belka May 9, 2023, 8:25 a.m. UTC | #3
So I should raise a patch that removes the lvmetad initscript and the 
references to it in the initscripts lfs and rootfile, correct?

Regards,
Adolf.

On 09/05/2023 10:01, Michael Tremer wrote:
> This is a service that caches any meta information about the LVM arrays.
> 
> At some point, we decided to run it by default, because it makes any block operations a little bit faster.
> 
> The change log states that it has been removed, so we simply need to drop this line. I do not think that this will cause any other changes for us.
> 
> -Michael
> 
>> On 9 May 2023, at 08:51, Arne Fitzenreiter <arne_f@ipfire.org> wrote:
>>
>> This patch remove lvmetad but there is still an initskript that try to start it.
>> I don't know what this does but it give an error at boot.
>>
>> Arne
>>
>>
>> Am 2023-05-02 19:53, schrieb Adolf Belka:
>>> - Update from version 2.02.188 to 2.03.21
>>> - Update of rootfile
>>> - Changelog
>>>     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 formated 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.
>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>> ---
>>> config/rootfiles/common/lvm2 | 16 +++++++++++-----
>>> lfs/lvm2                     |  6 +++---
>>> 2 files changed, 14 insertions(+), 8 deletions(-)
>>> diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2
>>> index 258f3201f..bd1329e54 100644
>>> --- a/config/rootfiles/common/lvm2
>>> +++ b/config/rootfiles/common/lvm2
>>> @@ -9,15 +9,17 @@ etc/lvm/lvm.conf
>>> #etc/lvm/profile/metadata_profile_template.profile
>>> #etc/lvm/profile/thin-generic.profile
>>> #etc/lvm/profile/thin-performance.profile
>>> +#etc/lvm/profile/vdo-small.profile
>>> lib/udev/rules.d/10-dm.rules
>>> lib/udev/rules.d/11-dm-lvm.rules
>>> lib/udev/rules.d/13-dm-disk.rules
>>> -lib/udev/rules.d/69-dm-lvm-metad.rules
>>> +lib/udev/rules.d/69-dm-lvm.rules
>>> lib/udev/rules.d/95-dm-notify.rules
>>> #usr/include/libdevmapper.h
>>> #usr/lib/libdevmapper.so
>>> usr/lib/libdevmapper.so.1.02
>>> #usr/lib/pkgconfig/devmapper.pc
>>> +#usr/libexec/lvresize_fs_helper
>>> usr/sbin/blkdeactivate
>>> usr/sbin/dmsetup
>>> usr/sbin/dmstats
>>> @@ -28,11 +30,11 @@ usr/sbin/lvcreate
>>> usr/sbin/lvdisplay
>>> usr/sbin/lvextend
>>> usr/sbin/lvm
>>> -usr/sbin/lvmconf
>>> +usr/sbin/lvm_import_vdo
>>> usr/sbin/lvmconfig
>>> +usr/sbin/lvmdevices
>>> usr/sbin/lvmdiskscan
>>> usr/sbin/lvmdump
>>> -usr/sbin/lvmetad
>>> usr/sbin/lvmsadc
>>> usr/sbin/lvmsar
>>> usr/sbin/lvreduce
>>> @@ -61,6 +63,7 @@ usr/sbin/vgexport
>>> usr/sbin/vgextend
>>> usr/sbin/vgimport
>>> usr/sbin/vgimportclone
>>> +usr/sbin/vgimportdevices
>>> usr/sbin/vgmerge
>>> usr/sbin/vgmknodes
>>> usr/sbin/vgreduce
>>> @@ -70,11 +73,13 @@ usr/sbin/vgs
>>> usr/sbin/vgscan
>>> usr/sbin/vgsplit
>>> #usr/share/man/man5/lvm.conf.5
>>> +#usr/share/man/man7/lvmautoactivation.7
>>> #usr/share/man/man7/lvmcache.7
>>> #usr/share/man/man7/lvmraid.7
>>> #usr/share/man/man7/lvmreport.7
>>> #usr/share/man/man7/lvmsystemid.7
>>> #usr/share/man/man7/lvmthin.7
>>> +#usr/share/man/man7/lvmvdo.7
>>> #usr/share/man/man8/blkdeactivate.8
>>> #usr/share/man/man8/dmsetup.8
>>> #usr/share/man/man8/dmstats.8
>>> @@ -89,11 +94,11 @@ usr/sbin/vgsplit
>>> #usr/share/man/man8/lvm-fullreport.8
>>> #usr/share/man/man8/lvm-lvpoll.8
>>> #usr/share/man/man8/lvm.8
>>> -#usr/share/man/man8/lvmconf.8
>>> +#usr/share/man/man8/lvm_import_vdo.8
>>> #usr/share/man/man8/lvmconfig.8
>>> +#usr/share/man/man8/lvmdevices.8
>>> #usr/share/man/man8/lvmdiskscan.8
>>> #usr/share/man/man8/lvmdump.8
>>> -#usr/share/man/man8/lvmetad.8
>>> #usr/share/man/man8/lvmsadc.8
>>> #usr/share/man/man8/lvmsar.8
>>> #usr/share/man/man8/lvreduce.8
>>> @@ -122,6 +127,7 @@ usr/sbin/vgsplit
>>> #usr/share/man/man8/vgextend.8
>>> #usr/share/man/man8/vgimport.8
>>> #usr/share/man/man8/vgimportclone.8
>>> +#usr/share/man/man8/vgimportdevices.8
>>> #usr/share/man/man8/vgmerge.8
>>> #usr/share/man/man8/vgmknodes.8
>>> #usr/share/man/man8/vgreduce.8
>>> diff --git a/lfs/lvm2 b/lfs/lvm2
>>> index 7e327a021..5b39f05f5 100644
>>> --- a/lfs/lvm2
>>> +++ b/lfs/lvm2
>>> @@ -1,7 +1,7 @@
>>> ###############################################################################
>>> #                                                                             #
>>> # IPFire.org - A linux based firewall                                         #
>>> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>>> +# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
>>> #                                                                             #
>>> # This program is free software: you can redistribute it and/or modify        #
>>> # it under the terms of the GNU General Public License as published by        #
>>> @@ -24,7 +24,7 @@
>>> include Config
>>> -VER        = 2.02.188
>>> +VER        = 2.03.21
>>> THISAPP    = LVM2.$(VER)
>>> DL_FILE    = $(THISAPP).tgz
>>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>> -$(DL_FILE)_BLAKE2 =
>>> bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476
>>> +$(DL_FILE)_BLAKE2 =
>>> 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728
>>> install : $(TARGET)
>
  
Michael Tremer May 9, 2023, 9:13 a.m. UTC | #4
Yes, please :)

> On 9 May 2023, at 09:25, Adolf Belka <adolf.belka@ipfire.org> wrote:
> 
> So I should raise a patch that removes the lvmetad initscript and the references to it in the initscripts lfs and rootfile, correct?
> 
> Regards,
> Adolf.
> 
> On 09/05/2023 10:01, Michael Tremer wrote:
>> This is a service that caches any meta information about the LVM arrays.
>> At some point, we decided to run it by default, because it makes any block operations a little bit faster.
>> The change log states that it has been removed, so we simply need to drop this line. I do not think that this will cause any other changes for us.
>> -Michael
>>> On 9 May 2023, at 08:51, Arne Fitzenreiter <arne_f@ipfire.org> wrote:
>>> 
>>> This patch remove lvmetad but there is still an initskript that try to start it.
>>> I don't know what this does but it give an error at boot.
>>> 
>>> Arne
>>> 
>>> 
>>> Am 2023-05-02 19:53, schrieb Adolf Belka:
>>>> - Update from version 2.02.188 to 2.03.21
>>>> - Update of rootfile
>>>> - Changelog
>>>>    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 formated 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.
>>>> Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
>>>> ---
>>>> config/rootfiles/common/lvm2 | 16 +++++++++++-----
>>>> lfs/lvm2                     |  6 +++---
>>>> 2 files changed, 14 insertions(+), 8 deletions(-)
>>>> diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2
>>>> index 258f3201f..bd1329e54 100644
>>>> --- a/config/rootfiles/common/lvm2
>>>> +++ b/config/rootfiles/common/lvm2
>>>> @@ -9,15 +9,17 @@ etc/lvm/lvm.conf
>>>> #etc/lvm/profile/metadata_profile_template.profile
>>>> #etc/lvm/profile/thin-generic.profile
>>>> #etc/lvm/profile/thin-performance.profile
>>>> +#etc/lvm/profile/vdo-small.profile
>>>> lib/udev/rules.d/10-dm.rules
>>>> lib/udev/rules.d/11-dm-lvm.rules
>>>> lib/udev/rules.d/13-dm-disk.rules
>>>> -lib/udev/rules.d/69-dm-lvm-metad.rules
>>>> +lib/udev/rules.d/69-dm-lvm.rules
>>>> lib/udev/rules.d/95-dm-notify.rules
>>>> #usr/include/libdevmapper.h
>>>> #usr/lib/libdevmapper.so
>>>> usr/lib/libdevmapper.so.1.02
>>>> #usr/lib/pkgconfig/devmapper.pc
>>>> +#usr/libexec/lvresize_fs_helper
>>>> usr/sbin/blkdeactivate
>>>> usr/sbin/dmsetup
>>>> usr/sbin/dmstats
>>>> @@ -28,11 +30,11 @@ usr/sbin/lvcreate
>>>> usr/sbin/lvdisplay
>>>> usr/sbin/lvextend
>>>> usr/sbin/lvm
>>>> -usr/sbin/lvmconf
>>>> +usr/sbin/lvm_import_vdo
>>>> usr/sbin/lvmconfig
>>>> +usr/sbin/lvmdevices
>>>> usr/sbin/lvmdiskscan
>>>> usr/sbin/lvmdump
>>>> -usr/sbin/lvmetad
>>>> usr/sbin/lvmsadc
>>>> usr/sbin/lvmsar
>>>> usr/sbin/lvreduce
>>>> @@ -61,6 +63,7 @@ usr/sbin/vgexport
>>>> usr/sbin/vgextend
>>>> usr/sbin/vgimport
>>>> usr/sbin/vgimportclone
>>>> +usr/sbin/vgimportdevices
>>>> usr/sbin/vgmerge
>>>> usr/sbin/vgmknodes
>>>> usr/sbin/vgreduce
>>>> @@ -70,11 +73,13 @@ usr/sbin/vgs
>>>> usr/sbin/vgscan
>>>> usr/sbin/vgsplit
>>>> #usr/share/man/man5/lvm.conf.5
>>>> +#usr/share/man/man7/lvmautoactivation.7
>>>> #usr/share/man/man7/lvmcache.7
>>>> #usr/share/man/man7/lvmraid.7
>>>> #usr/share/man/man7/lvmreport.7
>>>> #usr/share/man/man7/lvmsystemid.7
>>>> #usr/share/man/man7/lvmthin.7
>>>> +#usr/share/man/man7/lvmvdo.7
>>>> #usr/share/man/man8/blkdeactivate.8
>>>> #usr/share/man/man8/dmsetup.8
>>>> #usr/share/man/man8/dmstats.8
>>>> @@ -89,11 +94,11 @@ usr/sbin/vgsplit
>>>> #usr/share/man/man8/lvm-fullreport.8
>>>> #usr/share/man/man8/lvm-lvpoll.8
>>>> #usr/share/man/man8/lvm.8
>>>> -#usr/share/man/man8/lvmconf.8
>>>> +#usr/share/man/man8/lvm_import_vdo.8
>>>> #usr/share/man/man8/lvmconfig.8
>>>> +#usr/share/man/man8/lvmdevices.8
>>>> #usr/share/man/man8/lvmdiskscan.8
>>>> #usr/share/man/man8/lvmdump.8
>>>> -#usr/share/man/man8/lvmetad.8
>>>> #usr/share/man/man8/lvmsadc.8
>>>> #usr/share/man/man8/lvmsar.8
>>>> #usr/share/man/man8/lvreduce.8
>>>> @@ -122,6 +127,7 @@ usr/sbin/vgsplit
>>>> #usr/share/man/man8/vgextend.8
>>>> #usr/share/man/man8/vgimport.8
>>>> #usr/share/man/man8/vgimportclone.8
>>>> +#usr/share/man/man8/vgimportdevices.8
>>>> #usr/share/man/man8/vgmerge.8
>>>> #usr/share/man/man8/vgmknodes.8
>>>> #usr/share/man/man8/vgreduce.8
>>>> diff --git a/lfs/lvm2 b/lfs/lvm2
>>>> index 7e327a021..5b39f05f5 100644
>>>> --- a/lfs/lvm2
>>>> +++ b/lfs/lvm2
>>>> @@ -1,7 +1,7 @@
>>>> ###############################################################################
>>>> #                                                                             #
>>>> # IPFire.org - A linux based firewall                                         #
>>>> -# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
>>>> +# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
>>>> #                                                                             #
>>>> # This program is free software: you can redistribute it and/or modify        #
>>>> # it under the terms of the GNU General Public License as published by        #
>>>> @@ -24,7 +24,7 @@
>>>> include Config
>>>> -VER        = 2.02.188
>>>> +VER        = 2.03.21
>>>> THISAPP    = LVM2.$(VER)
>>>> DL_FILE    = $(THISAPP).tgz
>>>> @@ -40,7 +40,7 @@ objects = $(DL_FILE)
>>>> $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
>>>> -$(DL_FILE)_BLAKE2 =
>>>> bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476
>>>> +$(DL_FILE)_BLAKE2 =
>>>> 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728
>>>> install : $(TARGET)
> 
> -- 
> Sent from my laptop
  

Patch

diff --git a/config/rootfiles/common/lvm2 b/config/rootfiles/common/lvm2
index 258f3201f..bd1329e54 100644
--- a/config/rootfiles/common/lvm2
+++ b/config/rootfiles/common/lvm2
@@ -9,15 +9,17 @@  etc/lvm/lvm.conf
 #etc/lvm/profile/metadata_profile_template.profile
 #etc/lvm/profile/thin-generic.profile
 #etc/lvm/profile/thin-performance.profile
+#etc/lvm/profile/vdo-small.profile
 lib/udev/rules.d/10-dm.rules
 lib/udev/rules.d/11-dm-lvm.rules
 lib/udev/rules.d/13-dm-disk.rules
-lib/udev/rules.d/69-dm-lvm-metad.rules
+lib/udev/rules.d/69-dm-lvm.rules
 lib/udev/rules.d/95-dm-notify.rules
 #usr/include/libdevmapper.h
 #usr/lib/libdevmapper.so
 usr/lib/libdevmapper.so.1.02
 #usr/lib/pkgconfig/devmapper.pc
+#usr/libexec/lvresize_fs_helper
 usr/sbin/blkdeactivate
 usr/sbin/dmsetup
 usr/sbin/dmstats
@@ -28,11 +30,11 @@  usr/sbin/lvcreate
 usr/sbin/lvdisplay
 usr/sbin/lvextend
 usr/sbin/lvm
-usr/sbin/lvmconf
+usr/sbin/lvm_import_vdo
 usr/sbin/lvmconfig
+usr/sbin/lvmdevices
 usr/sbin/lvmdiskscan
 usr/sbin/lvmdump
-usr/sbin/lvmetad
 usr/sbin/lvmsadc
 usr/sbin/lvmsar
 usr/sbin/lvreduce
@@ -61,6 +63,7 @@  usr/sbin/vgexport
 usr/sbin/vgextend
 usr/sbin/vgimport
 usr/sbin/vgimportclone
+usr/sbin/vgimportdevices
 usr/sbin/vgmerge
 usr/sbin/vgmknodes
 usr/sbin/vgreduce
@@ -70,11 +73,13 @@  usr/sbin/vgs
 usr/sbin/vgscan
 usr/sbin/vgsplit
 #usr/share/man/man5/lvm.conf.5
+#usr/share/man/man7/lvmautoactivation.7
 #usr/share/man/man7/lvmcache.7
 #usr/share/man/man7/lvmraid.7
 #usr/share/man/man7/lvmreport.7
 #usr/share/man/man7/lvmsystemid.7
 #usr/share/man/man7/lvmthin.7
+#usr/share/man/man7/lvmvdo.7
 #usr/share/man/man8/blkdeactivate.8
 #usr/share/man/man8/dmsetup.8
 #usr/share/man/man8/dmstats.8
@@ -89,11 +94,11 @@  usr/sbin/vgsplit
 #usr/share/man/man8/lvm-fullreport.8
 #usr/share/man/man8/lvm-lvpoll.8
 #usr/share/man/man8/lvm.8
-#usr/share/man/man8/lvmconf.8
+#usr/share/man/man8/lvm_import_vdo.8
 #usr/share/man/man8/lvmconfig.8
+#usr/share/man/man8/lvmdevices.8
 #usr/share/man/man8/lvmdiskscan.8
 #usr/share/man/man8/lvmdump.8
-#usr/share/man/man8/lvmetad.8
 #usr/share/man/man8/lvmsadc.8
 #usr/share/man/man8/lvmsar.8
 #usr/share/man/man8/lvreduce.8
@@ -122,6 +127,7 @@  usr/sbin/vgsplit
 #usr/share/man/man8/vgextend.8
 #usr/share/man/man8/vgimport.8
 #usr/share/man/man8/vgimportclone.8
+#usr/share/man/man8/vgimportdevices.8
 #usr/share/man/man8/vgmerge.8
 #usr/share/man/man8/vgmknodes.8
 #usr/share/man/man8/vgreduce.8
diff --git a/lfs/lvm2 b/lfs/lvm2
index 7e327a021..5b39f05f5 100644
--- a/lfs/lvm2
+++ b/lfs/lvm2
@@ -1,7 +1,7 @@ 
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2018  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 2.02.188
+VER        = 2.03.21
 
 THISAPP    = LVM2.$(VER)
 DL_FILE    = $(THISAPP).tgz
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = bed90c8454cd4b20fdeec6dcbf5a9f97c9310671aea3b2252f8069cfa439fcb050f5ad95f928a7125a1734a4dc5ac985da99a4a570538e377a7205191a505476
+$(DL_FILE)_BLAKE2 = 529bc01b3d1ba6207c9ddc95309b39e6293fcd0286334240b9fdc076da0b7bc7e026338ec0243564ec153f2fb5009014149c3f8e0db0cd47a29418af62068728
 
 install : $(TARGET)