16 Commits

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

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

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-08-08 16:04:19 +00:00
Adolf Belka
afbb7db681 lvm: Fixes bug-13151 - update 69-dm-lvm.rules
- Redhat updated lvm udev rule 69-dm-lvm.rules to only work with systemd
- Update 69-dm-lvm.rules to work with IPFire based on input from @Daniel of what worked
   to mount an existing lvm volume

Suggested-by: Daniel Weismüller <daniel.weismueller@ipfire.org>
Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2023-06-25 13:46:14 +00:00
Adolf Belka
3e501253bd lvm2: housekeeping - remove invalid configure option
- Since lvmetad was removed then the configure option --enable-lvmetad is no longer valid.
   A warning is now shown - configure: WARNING: unrecognized options: --enable-lvmetad

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
2023-05-11 20:10:25 +00:00
Adolf Belka
84c21e12ec lvm2: Update to version 2.03.21
- 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>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2023-05-03 07:48:03 +00:00
Peter Müller
9a7e4d8506 Switch checksums from MD5 to BLAKE2
Historically, the MD5 checksums in our LFS files serve as a protection
against broken downloads, or accidentally corrupted source files.

While the sources are nowadays downloaded via HTTPS, it make sense to
beef up integrity protection for them, since transparently intercepting
TLS is believed to be feasible for more powerful actors, and the state
of the public PKI ecosystem is clearly not helping.

Therefore, this patch switches from MD5 to BLAKE2, updating all LFS
files as well as make.sh to deal with this checksum algorithm. BLAKE2 is
notably faster (and more secure) than SHA2, so the performance penalty
introduced by this patch is negligible, if noticeable at all.

In preparation of this patch, the toolchain files currently used have
been supplied with BLAKE2 checksums as well on
https://source.ipfire.org/.

Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremeripfire.org>
2022-04-02 14:19:25 +00:00
Peter Müller
66c3619872 Early spring clean: Remove trailing whitespaces, and correct licence headers
Bumping across one of our scripts with very long trailing whitespaces, I
thought it might be a good idea to clean these up. Doing so, some
missing or inconsistent licence headers were fixed.

There is no need in shipping all these files en bloc, as their
functionality won't change.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-18 23:54:57 +00:00
Adolf Belka
ddbebd76e4 lvm2: Update to 2.02.188
- Update from 2.02.187 to 2.02.188
- Update of rootfile not required
- Changelog
   Version 2.02.188 - 07th May 2021
    Fix problem with unbound variable usage within fsadm.
    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.
    Support resize of cached volumes.
    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 convertsion and allocation of pool metadata.
    Support thin pool metadata 15.88GiB, adds 64MiB, thin_pool_crop_metadata=0.
    Enhance lvdisplay to report raid availiable/partial.
    Enhance error handling for fsadm and hanled correct fsck result.
    Stop logging rename errors from persintent filter.
    Dmeventd lvm plugin ignores higher reserved_stack lvm.conf values.
    Support using BLKZEROOUT for clearing devices.
    Support interruption when wipping LVs.
    Add configure --enable-editline support as an alternative to readline.
    Zero pool metadata on allocation (disable with allocation/zero_metadata=0).
    Failure in zeroing or wiping will fail command (bypass with -Zn, -Wn).
    Fix support for lvconvert --repair used by foreign apps (i.e. Docker).
    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.
    Enhance reporting and error handling when creating thin volumes.
    Use revert_lv() on reload error path after vg_revert().
    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.
    Switch code base to use flexible array syntax.
    Preserve uint32_t for seqno handling.
    Switch from mmap to plain read when loading regular files.
    Fix running out of free buffers for async writing for larger writes.
    Fix conversion to raid from striped lagging type.
    Fix conversion to 'mirrored' mirror log with larger regionsize.
    Fix support for lvconvert --repair used by foreign apps (i.e. Docker).

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2022-01-14 13:45:36 +00:00
Adolf Belka
b84005daaa lvm2: Update to 2.02.187
- Update lvm2 from 2.02.181 to 2.02.187
- Updated rootfile
- Changelog
	Version 2.02.187 - 24th March 2020
	==================================
	  Avoid running cache input arg validation when creating vdo pool.
	  Prevent raid reshaping of stacked volumes.
	  Ensure minimum required region size on striped RaidLV creation.
	  Fix resize of thin-pool with data and metadata of different segtype.
	  Fix splitting mirror leg in cluster.
	  Fix activation order when removing merged snapshot.
	  Add support for DM_DEVICE_GET_TARGET_VERSION into device_mapper.
	  Add lvextend-raid.sh to check on RaidLV extensions synchronization.
	  Fix lvmetad shutdown and avoid lenghty timeouts when rebooting system.
	  Prevent creating VGs with PVs with different logical block sizes.
	  Pvmove runs in exlusively activating mode for exclusively active LVs.
	  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.
	  Fixed activation on boot - lvm2 no longer activates incomplete VGs.
	Version 2.02.186 - 27th August 2019
	===================================
	  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.
	  Fix metadata writes from corrupting with large physical block size.
	  Report no_discard_passdown for cache LVs with lvs -o+kernel_discards.
	  Prevent shared active mirror LVs with lvmlockd.
	Version 2.02.185 - 13th May 2019
	================================
	  Fix change of monitoring in clustered volumes.
	  Improve -lXXX%VG modifier which improves cache segment estimation.
	  Add synchronization with udev before removing cached devices.
	  Fix missing growth of _pmspare volume when extending _tmeta volume.
	  Automatically grow thin metadata, when thin data gets too big.
	  Add support for vgsplit with cached devices.
	  Fix signal delivery checking race in libdaemon (lvmetad).
	  Add missing Before=shutdown.target to LVM2 services to fix shutdown ordering.
	Version 2.02.184 - 22nd March 2019
	==================================
	  Fix (de)activation of RaidLVs with visible SubLVs
	  Change scan_lvs default to 0 so LVs are not scanned for PVs.
	  Add scan_lvs config setting to control if lvm scans LVs for PVs.
	  Fix missing proper initialization of pv_list struct when adding pv.
	Version 2.02.183 - 07th December 2018
	=====================================
	  Avoid disabling lvmetad when repair does nothing.
	  Fix component detection for md version 0.90.
	  Use sync io if async io_setup fails, or use_aio=0 is set in config.
	  Avoid opening devices to get block size by using existing open fd.
	Version 2.02.182 - 30th October 2018
	====================================
	  Fix possible write race between last metadata block and the first extent.
	  Fix filtering of md 1.0 devices so they are not seen as duplicate PVs.
	  Fix lvconvert striped/raid0/raid0_meta -> raid6 regression.
	  Add After=rbdmap.service to {lvm2-activation-net,blk-availability}.service.
	  Fix pvs with lvmetad to avoid too many open files from filter reads.
	  Fix pvscan --cache to avoid too many open files from filter reads.
	  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.
	  Fix mirrors honoring read_only_volume_list.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-02-03 22:25:49 +00:00
Michael Tremer
dd5e20120e lvm2: Create lock files in /run/lvm
The default is /var/lock which is not mounted at the time
when udev is initialising the volumes. Therefore after a
reboot, LVM devices won't show up unless pvscan is executed
manually.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-16 18:23:11 +00:00
Michael Tremer
c835011d6e lvm2: Enable lvmetad
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-16 18:22:51 +00:00
Michael Tremer
f9f79c662c lvm2: Build with support for udev
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-01-16 18:22:40 +00:00
Michael Tremer
7504d54145 LVM2: Update to 2.02.181
Update required to build against newer versions of glibc

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-10-21 22:18:35 +01:00
Peter Müller
eee037b890 update disclaimer in LFS files
Most of these files still used old dates and/or domain names for contact
mail addresses. This is now replaced by an up-to-date copyright line.

Just some housekeeping... :-)

Signed-off-by: Peter Müller <peter.mueller@link38.eu>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-09-10 19:20:36 +01:00
Michael Tremer
2f5b2ec75b lvm2: FTBFS on aarch64
Needed automake update

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-05-31 11:59:38 +01:00
Michael Tremer
da45819dad Add lvm2 and multipath-tools (for kpartx) 2014-08-23 16:20:48 +02:00