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 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 >> --- >> 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 # >> +# Copyright (C) 2007-2023 IPFire Team # >> # # >> # 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)