Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package lvm2 for openSUSE:Factory checked in at 2026-11-08 19:21:05 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/lvm2 (Old) and /work/SRC/openSUSE:Factory/.lvm2.new.3759290 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "lvm2" Sun Nov 8 19:21:05 2026 rev:181 rq:1395671 version:2.03.44 Changes: -------- --- /work/SRC/openSUSE:Factory/lvm2/lvm2.changes 2026-11-01 22:22:51.079587110 +0100 +++ /work/SRC/openSUSE:Factory/.lvm2.new.3759290/lvm2.changes 2026-11-08 19:21:08.143771111 +0100 @@ -1,0 +2,81 @@ +Fri Nov 6 03:07:34 AM UTC 2026 - Glass Su <[email protected]> +- lvm2.changes + * Amend entries from [email protected] and [email protected] +- lvm2.spec + * reorder patches +- Update patches for btrfs fsadm support due to commit 2575c7d9079e: + * fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch + * fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch + +------------------------------------------------------------------- +Mon Nov 2 06:13:54 UTC 2026 - Jacob Hansen <[email protected]> + +- Update to version 2.03.44 + * Round non-power-of-two VDO slab size up to a power of two in lvcreate. + * Make pthread_setname_np optional for older pthread libraries. + * Fix blkio invalidation of held or dirty blocks and interrupted waits. + * Report synchronous I/O failures through the blkio completion path. + * Release the label scan before forking the polldaemon. + * Add configure --with/out-libaio to control async engine support. + * Add configure --with/out-liburing to control io_uring support. + * Add optional io_uring io engine (requires liburing, kernel 5.1+). + * Default the I/O engine to iouring, then threads, then libaio, then sync. + * Add pthread-based I/O engine to eliminate libaio io_destroy penalty. + * Deprecate use_aio; use_aio=0 still selects sync I/O. + * Add io_engine config to select the I/O engine. + * Warn and use sync I/O when the requested I/O engine is unavailable. + * Zero fill the tail of a short io engine read at the end of a device. + * Drain in-flight libaio on io engine destroy. + * Remove orphaned pvmove LV when force-removing a RAID LV locked for pvmove. + * Preserve committed metadata when pv_write updates an existing PV. + * Use mdadm-compatible CRC-32 when detecting DDF metadata. + * Detect NVMe multipath devices and handle uncached primary devices. + * Use the VDO pool data LV size for VDO memory checks. + * Warn about RAID reshape data corruption on kernels older than 6.11. + * Suggest remedies when duplicate PV devices block VG updates or activation. + * Improve documentation about PVs layered on top of LVs. + * Reject cache pool resize with a clear error instead of failing internally. + * Preserve RAID1 recovery state and rebuild markers when reducing images. + * Accept transient or incomplete dm-raid status during repair and reduction. + * Report the dead-primary RAID repair advice instead of refusing a rebuild. + * Fix out-of-bounds read when parsing short dmeventd client messages. + * Reject malformed numeric fields in dmeventd client registration messages. + * Reject dmeventd registrations without a plugin or device name. + * Use non-blocking dmeventd FIFO I/O and timeouts for stalled clients. + * Fix dmeventd timeout thread spin when no timeout is scheduled. + * Fix dmeventd monitor thread list when a thread fails before linking. + * Unregister dmeventd devices from plugins if monitoring stops early. + * Do not reuse dmeventd grace-period threads when the device inode is unknown. + * Reset dmeventd pending SIGALRM without changing signal disposition. + * Warn when parent directories of dmeventd FIFO paths are not secure. + * Validate systemd-activated dmeventd FIFOs and use non-blocking I/O. + * Fix dmeventd info when the running daemon returns no status reply data. + * Run build-tree binaries against build libraries, not installed copies. + * Avoid spurious dmeventd unregister errors when removing monitored snapshots. + * Run mirror repair from dmeventd when mirror reports in-sync with failed legs. + * Fix out-of-bounds access on an unterminated mda_header raw_locns (BZ2510937). + * Log open failures at debug for devices excluded after scan I/O errors. + * Fix blkdeactivate to exit 0 when devices stay mounted by policy. + * Fix blkdeactivate -l wholevg when another LV in the VG stays mounted. + * Fix blkdeactivate exit status on failed deactivation or mpath queueing. + * Fix blkdeactivate umount for paths with spaces or lsblk hex escapes. + * Update lvmdump for lvmlockd; add -A; drop lvmetad collection. + * Harden fsadm size parsing and use mktemp for temporary mount dirs. + * Ignore _FSADM_YES from the environment; pass --yes only from the CLI. + * Fix fsadm fsck exit codes and mount detection via /proc/self/mountinfo. + * Harden lvm_import_vdo YAML and stat parsing against shell injection. + * Use mktemp in lvm_import_vdo; validate TMPDIR and tool binary overrides. + * Harden lvresize_fs_helper temp mounts, signal cleanup, and TMPDIR checks. + * Validate lvresize_fs_helper resize sizes and value-taking options. + * Fix lvresize_fs_helper btrfs, e2fsck handling, and --fsextend/--fsreduce. + * Prevent redundant device access after scan I/O errors (DEV_SCAN_NOT_READ). + * Apply lvmlockd --lockopt force to all lock requests. + * Keep PR state after failed start. + * Apply PTPL when extending VG to ensure persistence when power cycling devs. + * Allow vgextend before any host starts PR on new devs. + * Fix pvscan autoactivation when DEVLINKS symlinks are not yet created. +- rebase fate-31841-01_fsadm-add-support-to-resize-check-btrfs-filesystem.patch + to match with new version. +- remove bug-1288220_pvscan-preserve-preferred-device-name-when-importing.patch + +------------------------------------------------------------------- @@ -6,0 +88,21 @@ +------------------------------------------------------------------- +Mon Oct 26 11:44:43 UTC 2026 - Tomáš Chvátal <[email protected]> + +- lvm.spec: + * Drop the liblvm2cmd2_03 obsoletes on liblvm2app2_2 and liblvm2cmd2_02. + The generations ship disjoint file sets and are co-installable per the + library packaging policy. + The sibling libdevmapper packages in this spec never obsoleted theirs, + and every supported upgrade path has already passed a release carrying these obsoletes. + Removes the two version defines that only fed them. + * Ship lvm-dumpconfig.8 as a symlink to lvm-config.8. + +- lvm2-rpmlintrc: + * Narrow lvm2-rpmlintrc from a blanket addFilter on the whole + lvm2-testsuite package to the two script findings its payload + legitimately draws (non-executable-script, env-script-interpreter; + the payload is a test harness, not installed executables). + Everything else the blanket hid stays visible; without any + filter the testsuite findings alone exceed the rpmlint + badness threshold and fail the build. + Old: ---- LVM2.2.03.43.tgz LVM2.2.03.43.tgz.asc bug-1288220_pvscan-preserve-preferred-device-name-when-importing.patch New: ---- LVM2.2.03.44.tgz LVM2.2.03.44.tgz.asc ----------(Old B)---------- Old: to match with new version. - remove bug-1288220_pvscan-preserve-preferred-device-name-when-importing.patch ----------(Old E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ lvm2.spec ++++++ --- /var/tmp/diff_new_pack.Olxp0X/_old 2026-11-08 19:21:09.187814301 +0100 +++ /var/tmp/diff_new_pack.Olxp0X/_new 2026-11-08 19:21:09.190814425 +0100 @@ -21,11 +21,11 @@ %define libname_event libdevmapper-event1_03 %define _udevdir %(pkg-config --variable=udevdir udev) %define cmdlib liblvm2cmd2_03 -%define lvm2_version 2.03.43 +%define lvm2_version 2.03.44 # 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.217 -%define device_mapper_version %{lvm2_version}_1.02.217 +%define upstream_device_mapper_version 1.02.218 +%define device_mapper_version %{lvm2_version}_1.02.218 %define thin_provisioning_version 0.7.0 %if 0%{?suse_version} >= 1600 && ! 0%{?is_opensuse} %define _supportsanlock 0 @@ -33,12 +33,10 @@ %define _supportsanlock 1 %endif %define dlm_version 4.0.9 -# from lvm2 version 2.03, suse obsoleted clvm, cmirrord, liblvm2app & liblvm2cmd. +# from lvm2 version 2.03, suse obsoleted clvm and cmirrord. # so the obseletes version is 2.03 %define lvm2_clvm_version 2.03 %define lvm2_cmirrord_version 2.03 -%define liblvm2app2_2_version 2.03 -%define liblvm2cmd2_02_version 2.03 %if 0%{_supportsanlock} == 1 %define sanlock_version 3.3.0 @@ -75,18 +73,17 @@ Source42: https://sourceware.org/pub/lvm2/LVM2.%{version}.tgz.asc Source99: baselibs.conf # Upstream patches -Patch0001: bug-1288220_pvscan-preserve-preferred-device-name-when-importing.patch - +# Patch0001: N/A # SUSE patches: 1000+ for LVM # Never upstream -Patch1002: fate-309425_display-dm-name-for-lv-name.patch -Patch1003: bug-935623_dmeventd-fix-dso-name-wrong-compare.patch -Patch1004: bug-998893_make_pvscan_service_after_multipathd.patch -Patch1005: bug-1184687_Add-nolvm-for-kernel-cmdline.patch -Patch1006: fate-31841-01_fsadm-add-support-to-resize-check-btrfs-filesystem.patch -Patch1007: fate-31841-02_man-add-support-for-btrfs.patch -Patch1008: fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch -Patch1009: bug-1228854_lvm2-monitor-service-start-after-system-fully-booted.patch +Patch1001: fate-309425_display-dm-name-for-lv-name.patch +Patch1002: bug-935623_dmeventd-fix-dso-name-wrong-compare.patch +Patch1003: bug-998893_make_pvscan_service_after_multipathd.patch +Patch1004: bug-1184687_Add-nolvm-for-kernel-cmdline.patch +Patch1005: fate-31841-01_fsadm-add-support-to-resize-check-btrfs-filesystem.patch +Patch1006: fate-31841-02_man-add-support-for-btrfs.patch +Patch1007: fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch +Patch1008: bug-1228854_lvm2-monitor-service-start-after-system-fully-booted.patch # SUSE patches 2000+ for device mapper, udev rules Patch2001: bug-1012973_simplify-special-case-for-md-in-69-dm-lvm-rules.patch # SUSE patches 3000+ for test code @@ -146,7 +143,7 @@ %prep %setup -q -n LVM2.%{version} -%patch -P 0001 -p1 +%patch -P 1001 -p1 %patch -P 1002 -p1 %patch -P 1003 -p1 %patch -P 1004 -p1 @@ -154,7 +151,6 @@ %patch -P 1006 -p1 %patch -P 1007 -p1 %patch -P 1008 -p1 -%patch -P 1009 -p1 %patch -P 2001 -p1 %patch -P 3001 -p1 @@ -310,6 +306,9 @@ make install_systemd_units DESTDIR=%{buildroot} make install_systemd_generators DESTDIR=%{buildroot} make install_tmpfiles_configuration DESTDIR=%{buildroot} + # lvm-dumpconfig.8 is an alias page of lvm-config.8 with identical + # content; ship it as a symlink instead of a second copy + ln -sf lvm-config.8 %{buildroot}%{_mandir}/man8/lvm-dumpconfig.8 # Install configuration file install -m 644 %{SOURCE1} "%{buildroot}/%{_sysconfdir}/lvm/" # Install testsuite @@ -775,8 +774,6 @@ %package -n %{cmdlib} Summary: LVM2 command line library Conflicts: %{name} < %{version} -Obsoletes: liblvm2app2_2 <= %{liblvm2app2_2_version} -Obsoletes: liblvm2cmd2_02 <= %{liblvm2cmd2_02_version} %description -n %{cmdlib} The lvm2 command line library allows building programs that manage ++++++ LVM2.2.03.43.tgz -> LVM2.2.03.44.tgz ++++++ ++++ 33118 lines of diff (skipped) ++++++ fate-31841-01_fsadm-add-support-to-resize-check-btrfs-filesystem.patch ++++++ --- /var/tmp/diff_new_pack.Olxp0X/_old 2026-11-08 19:21:09.708835854 +0100 +++ /var/tmp/diff_new_pack.Olxp0X/_new 2026-11-08 19:21:09.711835979 +0100 @@ -27,31 +27,41 @@ https://listman.redhat.com/archives/lvm-devel/2015-March/msg00053.html Signed-off-by: Heming Zhao <[email protected]> + +--- +2026-11-06: +Since commit 2575c7d9079ed was introduced, +do not check $LVM, explicitly use grep and /dev/null as upstream. +The commit aslo splits decode_size() into prepare_resize() and lvresize_reexec_only(). +TEMPDIR is created when temp_mount() is called, adjust resize_btrfs(). + +Signed-off-by: Su Yue <[email protected]> + --- - scripts/fsadm.sh | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 1 file changed, 86 insertions(+), 2 deletions(-) + scripts/fsadm.sh | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-- + 1 file changed, 90 insertions(+), 2 deletions(-) -Index: LVM2.2.03.38/scripts/fsadm.sh +Index: LVM2.2.03.44/scripts/fsadm.sh =================================================================== ---- LVM2.2.03.38.orig/scripts/fsadm.sh 2025-12-23 13:05:56.339324006 +0800 -+++ LVM2.2.03.38/scripts/fsadm.sh 2025-12-23 13:07:44.671817336 +0800 -@@ -22,6 +22,7 @@ - # ext2/ext3/ext4: resize2fs, tune2fs - # reiserfs: resize_reiserfs, reiserfstune - # xfs: xfs_growfs, xfs_info +--- LVM2.2.03.44.orig/scripts/fsadm.sh 2026-10-29 10:48:33.745723070 +0100 ++++ LVM2.2.03.44/scripts/fsadm.sh 2026-10-29 10:50:56.951663211 +0100 +@@ -28,6 +28,7 @@ + # reiserfs: resize_reiserfs, debugreiserfs + # xfs: xfs_growfs, xfs_info, xfs_db, xfs_repair + # crypto_LUKS: cryptsetup +# btrfs: btrfs # # Return values: # 0 success -@@ -88,6 +89,7 @@ - # XFS_REPAIR -n is used when XFS_CHECK is not found +@@ -92,6 +93,7 @@ XFS_REPAIR="xfs_repair" + FSCK="fsck" CRYPTSETUP="cryptsetup" +BTRFS="btrfs" + STAT="stat" - # user may override lvm location by setting LVM_BINARY - LVM=${LVM_BINARY:-lvm} -@@ -107,6 +109,9 @@ + MOUNT="mount" +@@ -138,6 +140,9 @@ MOUNTPOINT= MOUNTED= REMOUNT= @@ -61,17 +71,18 @@ PROCDIR="/proc" PROCMOUNTS="$PROCDIR/mounts" PROCSELFMOUNTINFO="$PROCDIR/self/mountinfo" -@@ -276,6 +281,33 @@ - verbose "\"$FSTYPE\" filesystem found on \"$VOLUME\"." +@@ -444,6 +449,35 @@ + validate_fs_tools "$FSTYPE" } ++ +check_findmnt() { -+ FINDMNT=$(which findmnt 2>$NULL) ++ FINDMNT=$(command -v findmnt 2>/dev/null) + test -n "$FINDMNT" +} + +detect_fs_uuid() { -+ UUID=$($BLKID -o value -c $NULL -s UUID "$VOLUME" 2>$NULL) ++ UUID=$("$BLKID" -o value -c /dev/null -s UUID "$VOLUME" 2>/dev/null) + test -n "$UUID" +} + @@ -82,7 +93,7 @@ + IFS=" $(echo -n -e '\t')" + + read -r TMP<<EOF -+$($FINDMNT -nuP -o TARGET,UUID 2>$NULL | $GREP "$UUID") ++$("$FINDMNT" -nuP -o TARGET,UUID 2>/dev/null | grep "$UUID") +EOF + + TMP=${TMP##*TARGET=\"} @@ -92,11 +103,12 @@ + + IFS=$STR_IFS +} - - # Check that passed mounted MAJOR:MINOR is not matching $MAJOR:MINOR of resized $VOLUME - validate_mounted_major_minor() { -@@ -404,7 +436,11 @@ - # check if the given device is already mounted and where ++ + # detect filesystem on the given device + # dereference device name if it is symbolic link + # Sets: VOLUME, VOLUME_ORIG, RVOLUME, FSTYPE, MAJORMINOR +@@ -610,7 +644,11 @@ + # Sets: MOUNTED (mountpoint path or empty) # FIXME: resolve swap usage and device stacking detect_mounted() { - if test -e "$PROCSELFMOUNTINFO"; then @@ -108,7 +120,7 @@ detect_mounted_with_proc_self_mountinfo elif test -e "$PROCMOUNTS"; then detect_mounted_with_proc_mounts -@@ -713,6 +749,47 @@ +@@ -1025,6 +1063,52 @@ "Target size: $CRYPT_RESIZE_BLOCKS sectors." } @@ -118,11 +130,15 @@ +# - cannot resize when unmounted +######################## +resize_btrfs() { ++ local IFS=' ++' ++ prepare_resize "$1" 1 ++ lvresize_reexec_only && return 0 + detect_mounted + MOUNTPOINT=$MOUNTED + if [ -z "$MOUNTED" ]; then -+ MOUNTPOINT=$TEMPDIR + temp_mount || error "Cannot mount Btrfs filesystem" ++ MOUNTPOINT=$TEMPDIR + fi + + verbose "Parsing $BTRFS filesystem show \"$MOUNTPOINT\"" @@ -153,20 +169,21 @@ + dry "$BTRFS" filesystem resize "$BTRFS_DEVID":"$NEWSIZE" "$MOUNTPOINT" +} + ++ #################### # Resize filesystem - #################### -@@ -736,6 +813,7 @@ - "crypto_LUKS") - which "$CRYPTSETUP" >"$NULL" 2>&1 || error "$CRYPTSETUP utility required to resize LUKS volume." - CMD=resize_luks ;; -+ "btrfs") CMD=resize_btrfs ;; + # Sets: NEWSIZE, NEWSIZE_ORIG +@@ -1049,6 +1133,7 @@ + reiserfs) CMD=resize_reiser ;; + xfs) CMD=resize_xfs ;; + crypto_LUKS) CMD=resize_luks ;; ++ "btrfs") CMD=resize_btrfs ;; *) error "Filesystem \"$FSTYPE\" on device \"$VOLUME\" is not supported by this tool." ;; esac -@@ -820,6 +898,12 @@ - which "$CRYPTSETUP" >"$NULL" 2>&1 || error "$CRYPTSETUP utility required." - check_luks || error "Crypto luks check failed." +@@ -1180,6 +1265,12 @@ + crypto_LUKS) + check_luks || error "LUKS check failed on \"$VOLUME\"." ;; + "btrfs") #mount the device first and then run scrub + MOUNTPOINT=$TEMPDIR @@ -177,12 +194,12 @@ *) error "Filesystem \"$FSTYPE\" on device \"$VOLUME\" is not supported by this tool." ;; esac -@@ -838,7 +922,7 @@ - for i in "$TUNE_EXT" "$RESIZE_EXT" "$TUNE_REISER" "$RESIZE_REISER" \ - "$TUNE_XFS" "$RESIZE_XFS" "$MOUNT" "$UMOUNT" "$MKDIR" \ - "$RMDIR" "$BLOCKDEV" "$BLKID" "$GREP" "$READLINK" \ -- "$DATE" "$FSCK" "$XFS_CHECK" "$XFS_REPAIR" "$LVM" ; do -+ "$DATE" "$FSCK" "$XFS_CHECK" "$XFS_REPAIR" "$LVM" "$BTRFS" ; do +@@ -1315,7 +1406,7 @@ + for i in "$TUNE_EXT" "$RESIZE_EXT" "$DEBUG_REISER" "$RESIZE_REISER" \ + "$TUNE_XFS" "$XFS_DB" "$RESIZE_XFS" "$MOUNT" "$UMOUNT" "$MKDIR" \ + "$RMDIR" "$BLOCKDEV" "$BLKID" "$AWK" "$READLINK" "$STAT" \ +- "$DATE" "$FSCK" "$XFS_CHECK" "$XFS_REPAIR"; do ++ "$DATE" "$FSCK" "$XFS_CHECK" "$XFS_REPAIR" "$BTRFS" ; do test -n "$i" || error "Required command definitions in the script are missing!" done ++++++ fate-31841-03_tests-new-test-suite-of-fsadm-for-btrfs.patch ++++++ --- /var/tmp/diff_new_pack.Olxp0X/_old 2026-11-08 19:21:09.728836682 +0100 +++ /var/tmp/diff_new_pack.Olxp0X/_new 2026-11-08 19:21:09.732836847 +0100 @@ -35,11 +35,20 @@ Signed-off-by: Heming Zhao <[email protected]> +---------- +2026-11-06: +LVM_BINARY is uselsess after commit upstream 2575c7d9079e +("scripts: harden and modernize fsadm"). Remove it. + +Signed-off-by: Su Yue <[email protected]> + +---------- + --- 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 @@ +@@ -0,0 +1,187 @@ +#!/usr/bin/env bash + +# Copyright (C) 2012 Red Hat, Inc. All rights reserved. @@ -72,8 +81,6 @@ +dev_vg_lv3="$DM_DEV_DIR/$vg_lv3" +mount_dir="mnt" +mount_space_dir="mnt space dir" -+# for recursive call -+export LVM_BINARY=$(which lvm) + +test ! -d "$mount_dir" && mkdir "$mount_dir" +test ! -d "$mount_space_dir" && mkdir "$mount_space_dir" ++++++ lvm2-rpmlintrc ++++++ --- /var/tmp/diff_new_pack.Olxp0X/_old 2026-11-08 19:21:09.778838750 +0100 +++ /var/tmp/diff_new_pack.Olxp0X/_new 2026-11-08 19:21:09.781838874 +0100 @@ -1,2 +1,7 @@ -addFilter(r'^lvm2-testsuite') +# The lvm2-testsuite payload is a test harness: its scripts are sourced +# or executed by the harness itself, not installed as system executables. +# Scope the exemption to those two findings on that subpackage only; +# everything else stays visible. +addFilter(r"^lvm2-testsuite\..*: E: non-executable-script") +addFilter(r"^lvm2-testsuite\..*: E: env-script-interpreter")
