Backport PR #576 to fix udev multipath device check
See https://bugzilla.redhat.com/show_bug.cgi?id=1628192 .
This commit is contained in:
parent
9699a35ff8
commit
fdfe302708
56
0001-Fix-DM_MULTIPATH_DEVICE_PATH-in-udev-rules.patch
Normal file
56
0001-Fix-DM_MULTIPATH_DEVICE_PATH-in-udev-rules.patch
Normal file
@ -0,0 +1,56 @@
|
||||
From b3d9f04f354d2ac21964a637ef42815476b6ff78 Mon Sep 17 00:00:00 2001
|
||||
From: Adam Williamson <awilliam@redhat.com>
|
||||
Date: Thu, 13 Sep 2018 16:40:44 -0700
|
||||
Subject: [PATCH] Fix DM_MULTIPATH_DEVICE_PATH in udev rules
|
||||
|
||||
As we worked out in
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1628774 , with
|
||||
multipath-tools 0.7.7 or higher, DM_MULTIPATH_DEVICE_PATH gets
|
||||
set to the value 0 for non-multipath devices in some cases.
|
||||
Before 0.7.7, it was always either set to 1 or not set at all.
|
||||
Now it can be set to 0, checks like this:
|
||||
|
||||
ENV{DM_MULTIPATH_DEVICE_PATH}=="?*"
|
||||
|
||||
don't work right any more, because that check will actually
|
||||
match if the value is 0 (it will only not match if the var is
|
||||
not set at all, or is set to an empty string). Instead we should
|
||||
just check if it is set to exactly 1, otherwise assume the device
|
||||
isn't multipath.
|
||||
|
||||
The impact of this is I think quite limited: we only skip two
|
||||
rules if this check matches, and they only affect mdraid devices.
|
||||
On installed systems without any multipath devices, the bug
|
||||
should not happen, because there should be no /etc/multipath.conf
|
||||
and when that file doesn't exist, the multipath rules skip out
|
||||
early and don't wind up setting the value to 0 ever. I think the
|
||||
only cases affected by this are 'generic' environments like live
|
||||
images and installers, and installed systems with multipath
|
||||
devices. In both these cases there will be a /etc/multipath.conf
|
||||
file, so for some devices, the multipath rules will get far
|
||||
enough to set the value to 0. The consequence will be that the
|
||||
UDISKS_MD_* values that these two rules try to set will not get
|
||||
set for devices they *should* get set for. I'm not sure what the
|
||||
further consequences of that are, if any.
|
||||
|
||||
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
||||
---
|
||||
data/80-udisks2.rules | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/data/80-udisks2.rules b/data/80-udisks2.rules
|
||||
index e8f7c5ee..a64f1cb3 100644
|
||||
--- a/data/80-udisks2.rules
|
||||
+++ b/data/80-udisks2.rules
|
||||
@@ -10,7 +10,7 @@
|
||||
# Skip probing if not a block device or if requested by other rules
|
||||
#
|
||||
SUBSYSTEM!="block", GOTO="udisks_probe_end"
|
||||
-ENV{DM_MULTIPATH_DEVICE_PATH}=="?*", GOTO="udisks_probe_end"
|
||||
+ENV{DM_MULTIPATH_DEVICE_PATH}=="1", GOTO="udisks_probe_end"
|
||||
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="?*", GOTO="udisks_probe_end"
|
||||
|
||||
# MD-RAID (aka Linux Software RAID) members
|
||||
--
|
||||
2.19.0
|
||||
|
10
udisks2.spec
10
udisks2.spec
@ -56,11 +56,15 @@
|
||||
Name: udisks2
|
||||
Summary: Disk Manager
|
||||
Version: 2.8.0
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
License: GPLv2+
|
||||
Group: System Environment/Libraries
|
||||
URL: https://github.com/storaged-project/udisks
|
||||
Source0: https://github.com/storaged-project/udisks/releases/download/udisks-%{version}/udisks-%{version}.tar.bz2
|
||||
# https://github.com/storaged-project/udisks/pull/576
|
||||
# Fix udev multipath device check for device-mapper-multipath 0.7.7+
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1628192
|
||||
Patch0: 0001-Fix-DM_MULTIPATH_DEVICE_PATH-in-udev-rules.patch
|
||||
|
||||
BuildRequires: glib2-devel >= %{glib2_version}
|
||||
BuildRequires: gobject-introspection-devel >= %{gobject_introspection_version}
|
||||
@ -264,6 +268,7 @@ This package contains module for VDO management.
|
||||
|
||||
%prep
|
||||
%setup -q -n udisks-%{version}
|
||||
%patch0 -p1
|
||||
sed -i udisks/udisks2.conf.in -e "s/encryption=luks1/encryption=%{default_luks_encryption}/"
|
||||
|
||||
%build
|
||||
@ -437,6 +442,9 @@ udevadm trigger
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* Fri Sep 14 2018 Adam Williamson <awilliam@redhat.com> - 2.8.0-2
|
||||
- Backport PR #576 to fix udev multipath device check (see RHBZ#1628192)
|
||||
|
||||
* Mon Aug 13 2018 Tomas Bzatek <tbzatek@redhat.com> - 2.8.0-1
|
||||
- Version 2.8.0
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user