SHA256
1
0
forked from pool/lvm2

16 Commits

Author SHA256 Message Date
5c0648d2b0 Accepting request 1269754 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1269754
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=176
2025-04-16 18:38:09 +00:00
d80930bdeb - LVM filter behaves unexpectedly for MPIO devices in SLES15SP5 (bsc#1216938)
* set lvm.conf devices.multipath_wwids_file=""

OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=364
2025-04-16 05:27:03 +00:00
14653e7a64 Accepting request 1251211 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1251211
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=175
2025-03-08 16:51:27 +00:00
a57bef77e5 - Fixes the lvm2-testsuite case fsadm-btrfs.sh (bsc#1238857)
* Update SUSE special patch
    + fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch

OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=362
2025-03-07 13:59:34 +00:00
2b1b13d1d2 Accepting request 1248830 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1248830
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=174
2025-02-28 16:38:16 +00:00
006797eb89 sync between SLFO and openSUSE. This SR only add missing changelog and comment for openSUSE, no code changes.
OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=360
2025-02-27 03:47:58 +00:00
8060b32212 - fixing HA16.0 Product building issues for packages: lvm2-lockd, cluster-md, dlm, drbd (bsc#1237701)
* update lvm2.spec

OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=359
2025-02-27 02:57:55 +00:00
53a83a572c Accepting request 1247582 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1247582
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=173
2025-02-21 20:35:25 +00:00
595ee3e8df - system with LVM on iSCSI hangs on shutdown because blk-availability.service is not enabled (bsc#1236788)
* update lvm2.spec
    - remove blk-availability.service from %postun
    - add new Provides 'dont_stop_blk_availability_service'

OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=357
2025-02-21 08:58:31 +00:00
496fcd60e1 Accepting request 1244935 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1244935
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=172
2025-02-11 20:21:56 +00:00
f1ec972208 - thin-provisioning-tools 1.1.0 requires device-mapper-devel, this creates a cycle (boo#1236749)
* update lvm2.spec
    - remove build require dependency thin-provisioning-tools from devicemapper
    - remove thin-provisioning-tools related configure options from devicemapper
    - remove a trivial empty line in extra_opts if default_use_devices_file=1

OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=355
2025-02-11 05:22:52 +00:00
bbd1d27423 Accepting request 1239681 from Base:System
OBS-URL: https://build.opensuse.org/request/show/1239681
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=171
2025-01-24 12:38:11 +00:00
11b262c357 - Drop rcFOO symlinks for CODE16 (PED-266).
OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=353
2025-01-23 00:27:31 +00:00
c6dfdbfc63 Accepting request 1231309 from Base:System
- Update lvm2 from LVM2.2.03.24 to LVM2.2.03.29
  *** WHATS_NEW from 2.03.24 to 2.03.29 ***
  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.
  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.
  *** WHATS_NEW_DM from 1.02.198 to 1.02.203 ***
  Version 1.02.203 - 09th December 2024
  =====================================
  Version 1.02.202 - 04th November 2024
  =====================================
    Introduce dm_config_parse_only_section to stop parsing after section.
    For shorter string use on stack buffers when generating sections.
    Enhance dm_config tokenizer.
  Version 1.02.201 - 02nd October 2024
  ====================================
    Cleanup udev sync semaphore if dm_{udev_create,task_set}_cookie fails.
    Improve error messages on failed udev cookie create/inc/dec operation.
  Version 1.02.200 - 23rd August 2024
  ===================================
  Version 1.02.199 - 12nd July 2024
  =================================
- update lvm2.spec
  - change lvm2_version to 2.03.29
  - change upstream_device_mapper_version and device_mapper_version to 1.02.203
  - include new systemed files lvm-devices-import.path and lvm-devices-import.service in lvm2 package
  - add build dependency 'pkgconfig(systemd)' and configure option '--enable-sd-notify' for lvmlockd
  - remove unrecognized (since 2.03.01) configure parameter '--with-cluster' from lvmlockd

OBS-URL: https://build.opensuse.org/request/show/1231309
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/lvm2?expand=0&rev=170
2024-12-17 18:22:11 +00:00
794ebf2447 Accepting request 1231308 from home:gsu:branches:Base:System
Update last changelog entry time

OBS-URL: https://build.opensuse.org/request/show/1231308
OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=351
2024-12-16 06:06:32 +00:00
5cab5da260 Accepting request 1231293 from home:gsu:branches:Base:System
Update lvm2 from LVM2.2.03.24 to LVM2.2.03.29

OBS-URL: https://build.opensuse.org/request/show/1231293
OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=350
2024-12-16 05:41:13 +00:00
8 changed files with 264 additions and 61 deletions

BIN
LVM2.2.03.24.tgz (Stored with Git LFS)

Binary file not shown.

View File

@@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE1QGkeEQK4v0TChvouREkMeUJA58FAmZF3zYACgkQuREkMeUJ
A5+JxA/9HXxpPzrLKLo4+TmGHw53eVp/xrFCNt43AO+cywJ/iAyZNa/Moyz8xD1k
nBtEoGk/2yooJlHWnrtxKCXGVuNiUwuzRwwsU/EVB1+UA/x8GMUaQHelOzGwCFsd
YxmsoQ6rGE9+GMfz3AMd0noOPJkj5g8GXIy1Dv3wF8/xdaRcEEODbPYCBmVTVtv7
vrNVAP9yXo4tibV05C0Arm8D9ymWK/pXjE3LHD1m7s66gLDziubYNuiOik4nb5y9
DiECfO1B1fNXMF51FH3miRia/UgoDbrJhkVTTDrDO9ivjq4A7LZPpBmV93gNDOM9
1aGymKFv0zgzveyOdr+As7GvH8ShQSbcXUAwerGXjvcjqx3VbPR0yZo1jY6cDY+F
58K1bGG0XmdfxasWW/ZZjpCPs2bfpaMadDcnOC9gs7h5jVF7D7rAS+twazGqI/Yg
Ak2IsBMVYV2WRuEyBHqCYKsQlhsybtYm+ptn7k9qc1QDJXXrjJbE1USmNtdC5Dyj
nvpkkxdehzxDgcCKg1xr2lKkKTXO40+uXlhaDRmmVvAkrXIJQGqizfbB6rk3LsM8
tKfCOyQbp7nE0ZtOYmZIqeb0WZ1N/mHIOjzMefx7IfDKX4neJ7f1kB4F3ntjsIOK
hNjVH8CTjKqckMTJzwR/zpIXp3LfSvdNGVfVX/ghsSr8A7aiODU=
=T58+
-----END PGP SIGNATURE-----

BIN
LVM2.2.03.29.tgz (Stored with Git LFS) Normal file

Binary file not shown.

16
LVM2.2.03.29.tgz.asc Normal file
View File

@@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEE1QGkeEQK4v0TChvouREkMeUJA58FAmdW28AACgkQuREkMeUJ
A5/RlxAAyjDB0s/gr74RY7B7+NH5iyNEwuBdmZHa3c9ppi/uNKY1ue3lmTCXdmx8
3GP19LpjmwTOe0T+BCAOuUPTS1mzDMwQGIcsEngSoWvU6GjS6kJNcM1r276RlPSI
8LgR1qrecDde6lB3eRyEqJAFPcfwhj9zK1/EKk3HsAWr0Fy9fb7asGC0gY7JdVtg
lPoz714gMtZRqRbegjJ7IM7pE00q84vOHGac++FZ4atxMQ1SEpXN9PN6sY4B0m6k
X6XRRdO6gf5rS+toE+dX/NTEA9seqZG3ml+65Yu+87T9qzKuGpa/+zOTwVrTJUMO
R71muoUlscCv4yI7zPWHdyO15fOBxWNOSiuEkduFqNCNBCRtasMDVcK+fglTTc87
r3x2qwauAP/GTZNY4DZAWyxANS39Na/i77OXcYoDR8LSVU0jd5MlIRRjrL67Tu9v
wWVCcSTzYl+5XJUwe2OGoDOW56nWM/q7i00SJ82Ez4Q2nl5XTkCvkeyR3bgUOTi7
mSNp265E2Pzk3cZKwK3eqql9N0frbnRsWFTrF94F1I/wAI6Sk7O84cLtyhXLufGS
6+IC+d9mNKVVC+Ql+/IXM4ovA9sKW5kUs01Sm02fiva6DvsATOBp7wu5QnS+2aPt
1SJ5wFMrEmyO8oDd8M8uBkwG5rH4dvUGKJJn1e7C17TFxIItkHA=
=q6VK
-----END PGP SIGNATURE-----

View File

@@ -9,21 +9,37 @@ refer legacy patche:
Signed-off-by: Heming Zhao <heming.zhao@suse.com>
----------
2023-09-08:
LVs should be resized to 64M after each test.
Signed-off-by: Su Yue <glass.su@suse.com>
---
test/shell/fsadm-btrfs.sh | 176 ++++++++++++++++++++++++++++++++++++++
1 file changed, 176 insertions(+)
create mode 100644 test/shell/fsadm-btrfs.sh
diff --git a/test/shell/fsadm-btrfs.sh b/test/shell/fsadm-btrfs.sh
new file mode 100644
index 000000000000..c1b65036efb2
--- /dev/null
+++ b/test/shell/fsadm-btrfs.sh
@@ -0,0 +1,176 @@
----------
2025-03-07:
bsc#1238857, change
1. current fsadm-btrfs.sh command doesn't work anymore
change from command style:
lvreduce -y -L256M -r $vg_lv
to new style:
lvreduce -y -L256M --fs resize_fsadm $vg_lv
2. lvreduce denies to work when the device contains fs info
add cleaning job ('wipefs -a') in reset_lvs().
3. add comments for easy understanding
Signed-off-by: Heming Zhao <heming.zhao@suse.com>
---
diff -Nupr a/test/shell/fsadm-btrfs.sh b/test/shell/fsadm-btrfs.sh
--- a/test/shell/fsadm-btrfs.sh 1970-01-01 08:00:00.000000000 +0800
+++ b/test/shell/fsadm-btrfs.sh 2025-03-07 14:22:06.451458471 +0800
@@ -0,0 +1,189 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2012 Red Hat, Inc. All rights reserved.
@@ -71,6 +87,8 @@ index 000000000000..c1b65036efb2
+
+reset_lvs()
+{
+ # lvreduce denies to work when the device contains fs info
+ wipefs -af $dev_vg_lv $dev_vg_lv2 $dev_vg_lv3
+ # Since we call mkfs.btrfs with '-f', lvreduce to 64M is enough
+ lvreduce -L64M -nf $vg_lv || true
+ lvreduce -L64M -nf $vg_lv2 || true
@@ -100,40 +118,51 @@ index 000000000000..c1b65036efb2
+lvcreate -n ${lv1}bar2 -L64M $vg
+trap 'cleanup_mounted_and_teardown' EXIT
+
+# lvm2 doesn't support btrfs resize:
+# - check lvm2 _fs_extend_allow/_fs_reduce_allow, commit 264827cb98458
+# - use manual mode (lvresize without '-r' option) to do the resize job
+#
+# 'fsadm --lvresize resize $dev $size' will exec:
+# - 'lvresize -v --fs resize_fsadm -L$size $dev'
+single_device_test() {
+ mkfs.btrfs -m single "$dev_vg_lv"
+ mkfs.btrfs -m single "$dev_vg_lv2"
+
+ # kernel limits 256 MB as minimal btrfs resizable size
+ # you can grow fs from 30MB->256MB
+ # but you can't grow from 30MB->180MB
+ # you can grow fs from 64MB->256MB
+ # but you can't grow from 64MB->180MB
+ fsadm --lvresize resize $vg_lv 256M
+ fsadm --lvresize resize $vg_lv2 256M
+
+ not fsadm -y --lvresize resize $vg_lv 200M
+ lvresize -L+10M -r $vg_lv
+ lvreduce -L256M -r $vg_lv
+ lvresize -L+12M --fs resize_fsadm $vg_lv
+ lvreduce -L256M --fs resize_fsadm $vg_lv
+ fscheck_btrfs $dev_vg_lv
+
+ # do test on mounted state
+ mount "$dev_vg_lv" "$mount_dir"
+ mount "$dev_vg_lv2" "$mount_space_dir"
+
+ # 'not': we expect a failure here.
+ not fsadm -y --lvresize resize $vg_lv 200M
+ lvresize -L+10M -r $vg_lv
+ lvreduce -L256M -r $vg_lv
+ lvresize -L+12M --fs resize_fsadm $vg_lv
+ lvreduce -L256M --fs resize_fsadm $vg_lv
+ scrub_btrfs $dev_vg_lv
+ umount "$mount_dir"
+
+ not fsadm -y --lvresize resize $vg_lv2 200M
+ lvresize -L+10M -r $vg_lv2
+ lvreduce -L256M -r $vg_lv2
+ lvresize -L+12M --fs resize_fsadm $vg_lv2
+ lvreduce -L256M --fs resize_fsadm $vg_lv2
+ scrub_btrfs $dev_vg_lv2
+ umount "$mount_space_dir"
+}
+
+multiple_devices_test() {
+ # fs size is the sum of the three LVs size
+ mkfs.btrfs -m single -d single -f "$dev_vg_lv" "$dev_vg_lv2" "$dev_vg_lv3"
+
+ # The VG is 1GB size, we expect success here.
+ # lv,lv2,lv3 size are changed from 64M to 256M
+ fsadm -y --lvresize resize $vg_lv 256M
+ fsadm -y --lvresize resize $vg_lv2 256M
+ fsadm -y --lvresize resize $vg_lv3 256M
@@ -145,19 +174,19 @@ index 000000000000..c1b65036efb2
+ # no space to extend, so failed
+ not fsadm -y resize $vg_lv2 300M
+ not fsadm -y resize $vg_lv3 300M
+ lvreduce -y -L256M -r $vg_lv
+ lvreduce -y -L256M --fs resize_fsadm $vg_lv
+
+ lvresize -L+150M $vg_lv2
+ fsadm -y resize $vg_lv2 300M
+ not fsadm -y resize $vg_lv3 300M
+ not fsadm -y resize $vg_lv 300M
+ lvreduce -y -L256M -r $vg_lv2
+ lvreduce -y -L256M --fs resize_fsadm $vg_lv2
+
+ lvresize -L+150M $vg_lv3
+ fsadm -y resize $vg_lv3 300M
+ not fsadm -y resize $vg_lv2 300M
+ not fsadm -y resize $vg_lv 300M
+ lvreduce -y -L256M -r $vg_lv3
+ lvreduce -y -L256M --fs resize_fsadm $vg_lv3
+ fscheck_btrfs $dev_vg_lv
+
+ # repeat with mounted fs
@@ -168,19 +197,19 @@ index 000000000000..c1b65036efb2
+ fsadm -y resize $vg_lv 300M
+ not fsadm -y resize $vg_lv2 300M
+ not fsadm -y resize $vg_lv3 300M
+ lvreduce -y -L256M -r $vg_lv
+ lvreduce -y -L256M --fs resize_fsadm $vg_lv
+
+ lvresize -L300M $vg_lv2
+ fsadm -y resize $vg_lv2 300M
+ not fsadm -y resize $vg_lv3 300M
+ not fsadm -y resize $vg_lv 300M
+ lvreduce -y -L256M -r $vg_lv2
+ lvreduce -y -L256M --fs resize_fsadm $vg_lv2
+
+ lvresize -L300M $vg_lv3
+ fsadm -y resize $vg_lv3 300M
+ not fsadm -y resize $vg_lv2 300M
+ not fsadm -y resize $vg_lv 300M
+ lvreduce -y -L256M -r $vg_lv3
+ lvreduce -y -L256M --fs resize_fsadm $vg_lv3
+
+ scrub_btrfs $dev_vg_lv
+ umount "$mount_dir"
@@ -200,6 +229,3 @@ index 000000000000..c1b65036efb2
+fi
+
+vgremove -ff $vg
--
2.35.3

View File

@@ -240,6 +240,7 @@ devices {
# Set this to an empty string to disable the use of the multipath wwids file.
# This configuration option has an automatic default value.
# multipath_wwids_file = "/etc/multipath/wwids"
multipath_wwids_file = ""
# Configuration option devices/md_component_detection.
# Enable detection and exclusion of MD component devices.

View File

@@ -1,3 +1,149 @@
-------------------------------------------------------------------
Tue Apr 15 08:05:00 UTC 2025 - Heming Zhao <heming.zhao@suse.com>
- LVM filter behaves unexpectedly for MPIO devices in SLES15SP5 (bsc#1216938)
* set lvm.conf devices.multipath_wwids_file=""
-------------------------------------------------------------------
Mon Mar 7 06:30:00 UTC 2025 - Heming Zhao <heming.zhao@suse.com>
- Fixes the lvm2-testsuite case fsadm-btrfs.sh (bsc#1238857)
* Update SUSE special patch
+ fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch
-------------------------------------------------------------------
Thu Feb 27 02:44:00 UTC 2025 - Heming Zhao <heming.zhao@suse.com>
- fixing HA16.0 Product building issues for packages: lvm2-lockd, cluster-md, dlm, drbd (bsc#1237701)
* update lvm2.spec
-------------------------------------------------------------------
Thu Feb 20 05:33:00 UTC 2025 - Heming Zhao <heming.zhao@suse.com>
- system with LVM on iSCSI hangs on shutdown because blk-availability.service is not enabled (bsc#1236788)
* update lvm2.spec
- remove blk-availability.service from %postun
- add new Provides 'dont_stop_blk_availability_service'
-------------------------------------------------------------------
Wed Feb 5 03:18:37 UTC 2025 - Glass Su <glass.su@suse.com>
- thin-provisioning-tools 1.1.0 requires device-mapper-devel, this creates a cycle (boo#1236749)
* update lvm2.spec
- remove build require dependency thin-provisioning-tools from devicemapper
- remove thin-provisioning-tools related configure options from devicemapper
- remove a trivial empty line in extra_opts if default_use_devices_file=1
-------------------------------------------------------------------
Wed Jan 22 16:28:37 UTC 2025 - Dominique Leuenberger <dimstar@opensuse.org>
- Drop rcFOO symlinks for CODE16 (PED-266).
-------------------------------------------------------------------
Mon Dec 16 05:58:47 UTC 2024 - Glass Su <glass.su@suse.com>
- Update lvm2 from LVM2.2.03.24 to LVM2.2.03.29
*** WHATS_NEW from 2.03.24 to 2.03.29 ***
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.
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.
*** WHATS_NEW_DM from 1.02.198 to 1.02.203 ***
Version 1.02.203 - 09th December 2024
=====================================
Version 1.02.202 - 04th November 2024
=====================================
Introduce dm_config_parse_only_section to stop parsing after section.
For shorter string use on stack buffers when generating sections.
Enhance dm_config tokenizer.
Version 1.02.201 - 02nd October 2024
====================================
Cleanup udev sync semaphore if dm_{udev_create,task_set}_cookie fails.
Improve error messages on failed udev cookie create/inc/dec operation.
Version 1.02.200 - 23rd August 2024
===================================
Version 1.02.199 - 12nd July 2024
=================================
- update lvm2.spec
- change lvm2_version to 2.03.29
- change upstream_device_mapper_version and device_mapper_version to 1.02.203
- include new systemed files lvm-devices-import.path and lvm-devices-import.service in lvm2 package
- add build dependency 'pkgconfig(systemd)' and configure option '--enable-sd-notify' for lvmlockd
- remove unrecognized (since 2.03.01) configure parameter '--with-cluster' from lvmlockd
-------------------------------------------------------------------
Fri Aug 30 02:26:00 UTC 2024 - Glass Su <glass.su@suse.com>
- [SLFO] systemd 254 is missing reworked SYSTEMD_READY logic in device mapper udev rules (bsc#1229518)
* update udev dependency version in lvm2.spec
-------------------------------------------------------------------
Tue Aug 13 13:08:00 UTC 2024 - Glass Su <glass.su@suse.com>

View File

@@ -1,7 +1,7 @@
#
# spec file
# spec file for package lvm2
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -21,13 +21,17 @@
%define libname_event libdevmapper-event1_03
%define _udevdir %(pkg-config --variable=udevdir udev)
%define cmdlib liblvm2cmd2_03
%define lvm2_version 2.03.24
%define lvm2_version 2.03.29
# For device_mapper_version, it's package version, see bsc#1199074.
# Also note there is another dm version on below "sed -ie ... VERSION_DM".
%define upstream_device_mapper_version 1.02.198
%define device_mapper_version %{lvm2_version}_1.02.198
%define upstream_device_mapper_version 1.02.203
%define device_mapper_version %{lvm2_version}_1.02.203
%define thin_provisioning_version 0.7.0
%define _supportsanlock 1
%if 0%{?suse_version} >= 1600 && ! 0%{?is_opensuse}
%define _supportsanlock 0
%else
%define _supportsanlock 1
%endif
%define dlm_version 4.0.9
# from lvm2 version 2.03, suse obsoleted clvm, cmirrord, liblvm2app & liblvm2cmd.
# so the obseletes version is 2.03
@@ -99,16 +103,15 @@ BuildRequires: kmod-compat
BuildRequires: libaio-devel
BuildRequires: pkgconfig
BuildRequires: python-rpm-macros
BuildRequires: thin-provisioning-tools >= %{thin_provisioning_version}
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(libudev)
Requires: device-mapper >= %{device_mapper_version}
Requires: modutils
# see bsc#1225783 for following 2 lines
# see bsc#1225783 bsc#1229518 for following 2 lines
Requires: (udev >= 255.7 if udev)
Requires: (multipath-tools >= 0.9.9 if multipath-tools)
Requires(post): coreutils
Requires(postun):coreutils
Requires(postun): coreutils
Provides: lvm = %{version}
Obsoletes: lvm2-cmirrord <= %{lvm2_cmirrord_version}
%{?systemd_requires}
@@ -123,6 +126,7 @@ BuildRequires: pkgconfig(blkid)
BuildRequires: pkgconfig(corosync)
%if %{with lockd}
BuildRequires: libdlm-devel >= %{dlm_version}
BuildRequires: pkgconfig(systemd)
%if 0%{_supportsanlock} == 1
BuildRequires: sanlock-devel >= %{sanlock_version}
%endif
@@ -131,6 +135,10 @@ BuildRequires: gcc-c++
BuildRequires: libselinux-devel
BuildRequires: readline-devel
BuildRequires: pkgconfig(udev)
# building lvm2 needs thin-provisioning-tools, see bsc#1236749
BuildRequires: thin-provisioning-tools >= %{thin_provisioning_version}
# see bsc#1236788 for dont_stop_blk_availability_service
Provides: dont_stop_blk_availability_service = 0.1
%endif
%endif
@@ -180,17 +188,26 @@ extra_opts="
--with-default-locking-dir=/run/lock/lvm
--with-default-pid-dir=/run
--with-default-run-dir=/run/lvm
--with-cluster=internal
--enable-lvmlockd-dlm
--enable-lvmlockd-dlmcontrol
--enable-sd-notify
%if 0%{_supportsanlock} == 1
--enable-lvmlockd-sanlock
%endif
"
%endif
# see bsc#1236749 for more info
%if !%{with devicemapper}
extra_opts="$extra_opts\
--with-thin-check=%{_sbindir}/thin_check
--with-thin-dump=%{_sbindir}/thin_dump
--with-thin-repair=%{_sbindir}/thin_repair
"
%endif
%if 0%{?default_use_devices_file} == 1
extra_opts="$extra_opts
extra_opts="$extra_opts\
--with-default-use-devices-file=1
"
%endif
@@ -220,9 +237,6 @@ sed -ie "s/%{upstream_device_mapper_version}/1.03.01/g" VERSION_DM
--with-device-mode=0640 \
--with-device-uid=0 \
--with-dmeventd-path=%{_sbindir}/dmeventd \
--with-thin-check=%{_sbindir}/thin_check \
--with-thin-dump=%{_sbindir}/thin_dump \
--with-thin-repair=%{_sbindir}/thin_repair \
--disable-silent-rules \
$extra_opts
### COMMON-CONFIG-END ###
@@ -239,7 +253,9 @@ sed -ie "s/%{upstream_device_mapper_version}/1.03.01/g" VERSION_DM
install_device-mapper \
install_systemd_units
%if 0%{?suse_version} < 1600
ln -s service %{buildroot}/%{_sbindir}/rcdm-event
%endif
# provide 1.02 compat links for the shared libraries
# this is needed for various binary packages
@@ -258,6 +274,8 @@ sed -ie "s/%{upstream_device_mapper_version}/1.03.01/g" VERSION_DM
rm %{buildroot}%{_unitdir}/lvm2-lvmpolld.socket
rm %{buildroot}%{_unitdir}/lvmlockd.service
rm %{buildroot}%{_unitdir}/lvmlocks.service
rm %{buildroot}%{_unitdir}/lvm-devices-import.path
rm %{buildroot}%{_unitdir}/lvm-devices-import.service
# compat symlinks in /sbin remove with Leap 43
%if 0%{?suse_version} < 1550
@@ -276,9 +294,11 @@ sed -ie "s/%{upstream_device_mapper_version}/1.03.01/g" VERSION_DM
install -m0644 -D man/lvmlockd.8 %{buildroot}%{_mandir}/man8/lvmlockd.8
install -m0644 -D man/lvmlockctl.8 %{buildroot}%{_mandir}/man8/lvmlockctl.8
%if 0%{?suse_version} < 1600
# rc services symlinks
ln -s service %{buildroot}%{_sbindir}/rclvm2-lvmlockd
ln -s service %{buildroot}%{_sbindir}/rclvm2-lvmlocking
%endif
# remove files from lvm2 split due to systemd_generators picking them up
rm %{buildroot}%{_unitdir}/blk-availability.service
@@ -309,10 +329,12 @@ sed -ie "s/%{upstream_device_mapper_version}/1.03.01/g" VERSION_DM
done
popd
%if 0%{?suse_version} < 1600
#rc compat symlinks
ln -s service %{buildroot}%{_sbindir}/rcblk-availability
ln -s service %{buildroot}%{_sbindir}/rclvm2-monitor
ln -s service %{buildroot}%{_sbindir}/rclvm2-lvmpolld
%endif
# Remove devicemapper binaries, plain rm so we fail if something change
rm %{buildroot}%{_sbindir}/dmsetup
@@ -401,7 +423,9 @@ Programs and man pages for configuring and using the device mapper.
%{_udevrulesdir}/13-dm-disk.rules
%{_udevrulesdir}/95-dm-notify.rules
%{_unitdir}/dm-event.socket
%if 0%{?suse_version} < 1600
%{_sbindir}/rcdm-event
%endif
%{_unitdir}/dm-event.service
%package -n %{libname}
@@ -509,8 +533,10 @@ LVM commands use lvmlockd to coordinate access to shared storage.
%{_mandir}/man8/lvmlockctl.8%{?ext_man}
%{_unitdir}/lvmlockd.service
%{_unitdir}/lvmlocks.service
%if 0%{?suse_version} < 1600
%{_sbindir}/rclvm2-lvmlockd
%{_sbindir}/rclvm2-lvmlocking
%endif
%else
@@ -534,7 +560,7 @@ LVM commands use lvmlockd to coordinate access to shared storage.
/sbin/ldconfig
%{?regenerate_initrd_post}
%service_del_postun lvm2-lvmpolld.service lvm2-lvmpolld.socket
%service_del_postun_without_restart blk-availability.service lvm2-monitor.service
%service_del_postun_without_restart lvm2-monitor.service
%files
%license COPYING COPYING.LIB
@@ -594,9 +620,11 @@ LVM commands use lvmlockd to coordinate access to shared storage.
%{_sbindir}/vgs
%{_sbindir}/vgscan
%{_sbindir}/vgsplit
%if 0%{?suse_version} < 1600
%{_sbindir}/rcblk-availability
%{_sbindir}/rclvm2-lvmpolld
%{_sbindir}/rclvm2-monitor
%endif
# compat symlinks in /sbin
%if 0%{?suse_version} < 1550
/sbin/lvm
@@ -735,6 +763,8 @@ LVM commands use lvmlockd to coordinate access to shared storage.
%{_unitdir}/lvm2-monitor.service
%{_unitdir}/lvm2-lvmpolld.socket
%{_unitdir}/lvm2-lvmpolld.service
%{_unitdir}/lvm-devices-import.path
%{_unitdir}/lvm-devices-import.service
%dir %{_libdir}/device-mapper
%{_libdir}/device-mapper/libdevmapper-event-lvm2*.so
%{_libdir}/libdevmapper-event-lvm2*.so