Commit Graph

28 Commits

Author SHA1 Message Date
Daniel Golle 734585e934 lvm2: update to version 2.03.31 and libdm version 1.02.205
Version 2.03.31 - 27th February 2025
====================================
  Reduce 'mandoc -T lint' reported issues for man pages.
  Restore support for LVM_SUPPRESS_FD_WARNINGS (2.03.24).
  Fix uncache and split cache restoring original state of volume.
  Extend use of lockopt skip to more scenarios.
  Enhance error path resolving in polling code.
  Disallow shared activation of LV with CoW snapshot.
  Fix lvmlockd use in lvremove of CoW snapshot, VDO pool, and uncache.
  Improve mirror split with opened temporary volumes.
  Improve pvmove finish with opened temporary volumes.
  Fix backup limit for devices file, handle over 10,000 files.
  Ignore reported optimal_io_size not divisible by 4096.
  Fix busy-loop in config reading when read returned 0.
  Fix DM cache preserving logic (2.03.28).
  Improve use of lvmlockd for usecases involving thin volumes and pools.

Version 2.03.30 - 14th January 2025
===================================
  Lvresize reports origin vdo volume cannot be resized.
  Support setting reserved_memory|stack of --config cmdline.
  Fix support for disabling memory locking (2.03.27).
  Do not extend an LV if FS resize unsupported and '--fs resize' used.
  Prevent leftover temporary device when converting in use volume to a pool.
  lvconvert detects early volume in use when converting it to a pool.
  Handle NVMe with quirk changed WWID not matching WWID in devices file.

Version 2.03.29 - 09th December 2024
====================================
  Configure --enable/disable-sd-notify to control lvmlockd build with sd-notify.
  Allow test mode when lvmlockd is built without dlm support.
  Add a note about RAID + integrity synchronization to lvmraid(7) man page.
  Add a function for running lvconvert --repair on RAID LVs to lvmdbusd.
  Improve option section of man pages for listing commands ({pv,lv,vg}{s,display}).
  Fix renaming of raid sub LVs when converting a volume to raid (2.03.28).
  Fix segfault/VG write error for raid LV lvextend -i|--stripes -I|--stripesize.
  Revert ignore -i|--stripes, -I|--stripesize for lvextend on raid0 LV (2.03.27).

Version 2.03.28 - 04th November 2024
====================================
  Use radix_tree to lookup for UUID within committed metadata.
  Use radix_tree to lookup LV list entry within VG struct.
  Introduce setting config/validate_metadata = full | none.
  Restore fs resize call for lvresize -r on the same size LV (2.03.17).
  Correct off-by-one devicesfile backup counting.
  Replace use of dm_hash with radix_tree for lv names and uuids.
  Refactor vg_validate with uniq_insert and better use of CPU caches.
  Add radix_tree_uniq_insert.
  Update DM cache when taking next VG lock instead of dropping it.
  Generate json string id only for json reporting.
  For vgsummary use new API call dm_config_parse_only_section().
  Use radix_tree for PV names mapping.
  Split check_lv_segment into separate _in/complete_vg variant.
  Use find_lv instead of find_lv_in_vg when possible.
  Do a mirror fixup only when mirrors with logs are imported.
  Add faster crc32 calculation from zlib code for x86_64.
  Fall back to direct zeroing if BLKZEROOUT fails during new LV initialization.

Version 2.03.27 - 02nd October 2024
===================================
  Fix swap device size detection using blkid for lvresize/lvreduce/lvextend.

  Detect GPT partition table and pass partition filter if no partitions defined.
  Add global/sanlock_align_size option to configure sanlock lease size.
  Disable mem locking when activation/reserved_stack or reserved_memory is 0.
  Fix locking issues in lvmlockd leaving thin pool locked.
  Deprecate vdo settings vdo_write_policy and vdo_write_policy.
  Lots of typo fixes across lvm2 code base (codespell).
  Corrected integrity parameter interleave_sectors for DM table line.
  Ignore -i|--stripes, -I|--stripesize for lvextend on raid0 LV, like raid10.
  Do not accept duplicate device names for pvcreate.

Version 2.03.26 - 23rd August 2024
==================================
  Fix internal error reported by pvmove on a VG with single PV.
  Also accept --mknodes --refresh for vgscan.
  Fix vgmknodes --refresh to wait for udev before checking /dev content.
  Use log/report_command_log=1 config setting by default for JSON output format.
  Fix unreleased memory pools on RAID lvextend.
  Add --integritysettings option to manipulate dm-integrity settings.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2025-04-26 16:54:31 +01:00
Daniel Golle c37c79fcbe lvm2: update to version 2.03.35 and libdm 1.02.199
Version 2.03.25 - 12nd July 2024
================================
  Utilize more radix_tree instead of dm_hash and btree.
  Refactor DM uuid caching from device_mapper directory.
  Enhance checking for DM uuid device.
  Fix lvm shell command completion on tab key (2.03.24).
  Avoid lockd_vg call to lvmlockd for local VGs.
  Allow forced change of locktype from none.
  Handle OPTIONS defined in /etc/sysconfig/lvmlockd.

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

libdm:

Version 1.02.199 - 12nd July 2024
=================================

Version 1.02.198 - 16th May 2024
================================
  Fix static only compilation of libdevmapper.a and dmsetup tool.
  Use better code for closing opened descriptors when starting dmeventd.
  Correct dmeventd -R for systemd environment.
  Restart of dmeventd -R checks pid file to detect running dmeventd first.
  Query with dmeventd -i quickly ends when there is no running dmeventd.
  Enhance dm_get_status_raid to handle mismatching status or reported legs.
  Create /dev/disk/by-label symlinks for DM devs that have crypto as next layer.
  Persist udev db for DM devs on cleanup used in initrd to rootfs transition.
  Process synthetic udev events other than 'add/change' as 'change' events.
  Increase DM_UDEV_RULES_VSN to 3 to indicate changed udev rules.
  Rename DM_NOSCAN to .DM_NOSCAN so it's not stored in udev db.
  Rename DM_SUSPENDED to .DM_SUSPENDED so it's not stored in udev db.
  Do not import DM_UDEV_DISABLE_OTHER_RULES_FLAG from db in 10-dm-disk.rules.
  Test DISK_RO after importing properties from db in 10-dm.rules.
  Also import ID_FS_TYPE in 13-dm-disk.rules from db if needed.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-08-02 01:38:45 +01:00
Daniel Golle 20cc530004 lvm2: update to LVM2 2.03.17 and libdm Version 1.02.187
LVM2 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.

DM Version 1.02.187 - 10th November 2022
========================================
  Add DM_REPORT_GROUP_JSON_STD for more JSON standard compliant output format.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-04 03:58:39 +01:00
Daniel Golle 4db53132ba lvm2: update LVM2 to 2.03.22 and DM to 1.02.196
Remove downstream patch 004-missing-includes.patch which was merged
upstream in version 2.03.19

LVM2 changelog since version 2.03.17
version 2.03.22 - 02nd August 2023
==================================
  Fix pv_major/pv_minor report field types so they are integers, not strings.
  Add lvmdevices --delnotfound to delete entries for missing devices.
  Always use cachepool name for metadata backup LV for lvconvert --repair.
  Make metadata backup LVs read-only after pool's lvconvert --repair.
  Improve VDO and Thin support with lvmlockd.
  Handle 'lvextend --usepolicies' for pools for all activation variants.
  Fix memleak in vgchange autoactivation setup.
  Update py-compile building script.
  Support conversion from thick to fully provisioned thin LV.
  Cache/Thin-pool can use error and zero volumes for testing.
  Individual thin volume can be cached, but cannot take snapshot.
  Better internal support for handling error and zero target (for testing).
  Resize COW above trimmed maximal size is does not return error.
  Support parsing of vdo geometry format version 4.
  Add lvm.conf thin_restore and cache_restore settings.
  Handle multiple mounts while resizing volume with a FS.
  Handle leading/trailing spaces in sys_wwid and sys_serial used by 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.

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.

DM changelog since version 1.02.187:

Version 1.02.196 - 02nd August 2023
===================================

Version 1.02.195 - 21st April 2023
==================================

Version 1.02.193 - 21st March 2023
==================================

Version 1.02.191 - 21st February 2023
=====================================
  Improve parallel creation of /dev/mapper/control device node.
  Import previous ID_FS_* udev records in 13-dm-disk.rules for suspended DM dev.
  Remove NAME="mapper/control" rule from 10-dm.rules to avoid udev warnings.

Version 1.02.189 - 22nd December 2022
=====================================
  Improve 'dmsetup create' without given table line with new kernels.

(Version 1.02.188 is missing)

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2023-08-05 12:15:55 +01:00
Daniel Golle 68adeddf31 lvm2: update LVM2 to 2.03.17 and DM to 1.02.187
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.

libdm changes:
Version 1.02.187 - 10th November 2022
=====================================
  Add DM_REPORT_GROUP_JSON_STD for more JSON standard compliant output format.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-12-20 01:41:02 +00:00
Daniel Golle 63408123df lvm2: update to 2.03.15
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.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2022-03-18 23:47:14 +00:00
Daniel Golle 74969337cf
lvm2: update to version 2.03.14
Drop two local patches which were replaced by upstream commits.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-11-15 02:16:36 +00:00
Daniel Golle f20f69e63b
lvm2: update to version 2.03.13
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-08-16 14:35:10 +01:00
Daniel Golle dc27d43f29
lvm2: update to version 2.03.12
Two notable changes are devices file and metadata based autoactivation.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2021-05-10 04:20:52 +01:00
Ilya Lipnitskiy 5d8d4fbbcb
treewide: Run refresh on all packages
The crude loop I wrote to come up with this changeset:

  find -L package/feeds/packages/ -name patches | \
  sed 's/patches$/refresh/' | sort | xargs make

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-02-20 16:02:15 -08:00
Rosen Penev 744568fd31 lvm2: pass CC explicitly
It seems that in some situations, the host CC gets picked up. Just pass
the target one explicitly.

Refreshed patches.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-20 17:24:18 +00:00
Rosen Penev 78360ebdda
lvm2: update to 2.03.08
Add PKG_BUILD_PARALLEL for faster compilation.

Replace '  ' with TAB for consistency between packages.

Refresh patches and remove outdated ones.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-03-04 20:21:30 -08:00
Rosen Penev 154abade7a lvm2: Update to 2.03.01
Moved libblkid depend to fix compilation

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-11-10 13:41:42 -08:00
Rosen Penev 307ac69e60 LVM2: Update to 2.02.81
Switch to upstream URL.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2018-08-14 22:28:07 -07:00
Daniel Golle d947a6cd79 lvm2: update to version 2.02.176
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2017-11-07 01:30:02 +01:00
Daniel Golle 0d3a10e3b4 lvm2: update to version 2.02.164
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-09-01 22:18:58 +02:00
Daniel Golle 8edcafcf11 lvm2: fix accidentally augmented goto label
also refresh patches while at it

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-05-20 06:39:57 +02:00
Daniel Golle edbd16954b lvm2: update to version 2.02.145
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2016-03-09 02:44:54 +01:00
Daniel Golle 9377520afd lvm2: update to version 2.02.138
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-12-26 02:21:27 +01:00
Daniel Golle c6e4be6b25 lvm2: update to version 2.02.132
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-10-05 12:57:03 +02:00
Daniel Golle ab413cbcf5 lvm2: update to version 2.02.130
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-09-07 19:46:07 +02:00
Daniel Golle f4816e2ba1 lvm2: update source, refresh patch
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-07-26 23:35:10 +02:00
Daniel Golle b1cba322fa lvm2: update sources
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-07-13 14:56:26 +02:00
Daniel Golle 25660aad62 lvm2: update sources and improve packaging
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-07-07 09:36:05 +02:00
Daniel Golle 8037b27375 lvm2: update sources
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-06-21 21:33:25 +02:00
Daniel Golle 3a81a9b9fa lvm2: update source and refresh patches
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-06-14 22:20:07 +02:00
Daniel Golle 3a98dd9f31 lvm2: switch to version 2.2.02.120
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-05-20 01:18:14 +02:00
Daniel Golle f5cc8c27d7 lvm2: fix build with musl
stdin, stderr and stdout are constants on musl and it doesn't provide
mallinfo.
Both, overwriting std* were used to catch and work around various
misbehaviours of glibc, so it's hopefully save to just skip them when
building against other libc implementations.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2015-04-25 23:45:14 +02:00