Additional patch for 9.1.0 lvm2

Resolves: #2109351
This commit is contained in:
Marian Csontos 2022-07-29 12:04:12 +02:00
parent 71926b868a
commit 1d2b4cdd9a
2 changed files with 62 additions and 1 deletions

View File

@ -0,0 +1,55 @@
From 2a31250c445911eb07057f077a17e3a281ac0049 Mon Sep 17 00:00:00 2001
From: David Teigland <teigland@redhat.com>
Date: Mon, 25 Jul 2022 13:50:43 -0500
Subject: [PATCH] apply multipath_component_detection=0 to duplicate PV
handling
multipath_component_detection=0 has always applied to the filter-based
component detection. Also apply this setting to the duplicate-PV
handling which also eliminates multipath components (based on duplicate
PVs having the same wwid.)
(cherry picked from commit 99ce09ae778c2cc4aa2611e425bba5287b8b9513)
---
lib/cache/lvmcache.c | 3 +++
test/shell/duplicate-pvs-multipath.sh | 10 +++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c
index a1c4a61c8..00916885c 100644
--- a/lib/cache/lvmcache.c
+++ b/lib/cache/lvmcache.c
@@ -652,6 +652,9 @@ static int _all_multipath_components(struct cmd_context *cmd, struct lvmcache_in
*dev_mpath = NULL;
+ if (!find_config_tree_bool(cmd, devices_multipath_component_detection_CFG, NULL))
+ return 0;
+
/* This function only makes sense with more than one dev. */
if ((info && dm_list_empty(altdevs)) || (!info && (dm_list_size(altdevs) == 1))) {
log_debug("Skip multipath component checks with single device for PVID %s", pvid);
diff --git a/test/shell/duplicate-pvs-multipath.sh b/test/shell/duplicate-pvs-multipath.sh
index 59c15b0d4..bc98d2d5a 100644
--- a/test/shell/duplicate-pvs-multipath.sh
+++ b/test/shell/duplicate-pvs-multipath.sh
@@ -24,9 +24,13 @@ modprobe --dry-run scsi_debug || skip
multipath -l || skip
multipath -l | grep scsi_debug && skip
-# Turn off multipath_component_detection so that the duplicate
-# resolution of mpath components is used.
-aux lvmconf 'devices/multipath_component_detection = 0'
+# FIXME: setting multipath_component_detection=0 now also disables
+# the wwid-based mpath component detection, so this test will need
+# to find another way to disable only the filter-mpath code (using
+# sysfs and multipath/wwids) while keeping the code enabled that
+# eliminates duplicates based on their matching wwids which this
+# tries to test.
+
# Prevent wwids from being used for filtering.
aux lvmconf 'devices/multipath_wwids_file = "/dev/null"'
# Need to use /dev/mapper/mpath
--
2.37.1

View File

@ -63,7 +63,7 @@ Version: 2.03.16
#Release: 0.1.20211115git%{shortcommit}%{?dist}%{?rel_suffix}
Release: 4%{?dist}
%else
Release: 2%{?dist}
Release: 3%{?dist}
%endif
License: GPLv2
URL: http://sourceware.org/lvm2
@ -79,6 +79,8 @@ Patch4: 0004-filter-mpath-get-wwids-from-sysfs-vpd_pg83.patch
Patch5: 0005-pvdisplay-restore-reportformat-option.patch
Patch6: 0006-exit-with-error-when-devicesfile-name-doesn-t-exist.patch
Patch7: 0007-make-generate.patch
# BZ 2109351:
Patch8: 0008-apply-multipath_component_detection-0-to-duplicate-P.patch
BuildRequires: make
BuildRequires: gcc
@ -146,6 +148,7 @@ or more physical volumes and creating one or more logical volumes
%patch5 -p1 -b .backup5
%patch6 -p1 -b .backup6
%patch7 -p1 -b .backup7
%patch8 -p1 -b .backup8
%build
%global _default_pid_dir /run
@ -716,6 +719,9 @@ An extensive functional testsuite for LVM2.
%endif
%changelog
* Fri Jul 29 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.16-3
- Fix effect of setting multipath_component_detection to 0.
* Thu Jul 14 2022 Marian Csontos <mcsontos@redhat.com> - 2.03.16-2
- Exit with error when --devicesfile used does not exist.
- Restore --reportformat option in pvdisplay.