Accepting request 237235 from home:hreinecke:branches:Base:System

- Generate all symlinks even for multipath events (bnc#875233)
  patch: udev-Check-for-DM_NR_VALID_PATHS.patch

OBS-URL: https://build.opensuse.org/request/show/237235
OBS-URL: https://build.opensuse.org/package/show/Base:System/lvm2?expand=0&rev=98
This commit is contained in:
Tomáš Chvátal 2014-06-20 11:59:58 +00:00 committed by Git OBS Bridge
parent 04ddaa4bc5
commit 0b068c933d
3 changed files with 71 additions and 0 deletions

View File

@ -1,4 +1,10 @@
-------------------------------------------------------------------
Fri Jun 13 10:31:48 CEST 2014 - hare@suse.de
- Generate all symlinks even for multipath events (bnc#875233)
patch: udev-Check-for-DM_NR_VALID_PATHS.patch
-------------------------------------------------------------------
Tue May 30 09:01:08 UTC 2014 - lmb@suse.com

View File

@ -117,6 +117,8 @@ Patch96: use-mirrortype-asdefault-whenclvmdrunning.patch
Patch97: systemd-use-umask-022-for-generated-systemd-units-by.patch
# bnc#878930
Patch98: remove-quote-in-lvm2-monitor.patch
# bnc#875233
Patch99: udev-Check-for-DM_NR_VALID_PATHS.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# Not a real replacement but we drop evms
@ -180,6 +182,7 @@ Volume Manager.
%patch96 -p1
%patch97 -p1
%patch98 -p1
%patch99 -p1
%build
#set path so that thin_check can be found

View File

@ -0,0 +1,62 @@
From b8354ac161b5ab8a4f5842201d7ee69f5089c6dc Mon Sep 17 00:00:00 2001
From: Hannes Reinecke <hare@suse.de>
Date: Thu, 12 Jun 2014 17:07:31 +0200
Subject: [PATCH] udev: Check for DM_NR_VALID_PATHS
When the device becomes inaccessible we must not run any program
requiring disk access, as this will stall and cause udev to
eventually timeout this event.
So check for DM_NR_VALID_PATHS before calling these programs.
References: bnc#875233
Signed-off-by: Hannes Reinecke <hare@suse.de>
---
udev/10-dm.rules.in | 1 -
udev/13-dm-disk.rules.in | 2 ++
udev/69-dm-lvm-metad.rules.in | 1 +
3 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/udev/10-dm.rules.in b/udev/10-dm.rules.in
index 29af467..f108941 100644
--- a/udev/10-dm.rules.in
+++ b/udev/10-dm.rules.in
@@ -111,7 +111,6 @@ ENV{DM_UDEV_DISABLE_DM_RULES_FLAG}!="1", ENV{DM_NAME}=="?*", SYMLINK+="(DM_DIR)/
# We have to ignore further rule application for inappropriate events
# and devices. But still send the notification if cookie exists.
-ENV{DM_UUID}=="mpath-?*", ENV{DM_ACTION}=="PATH_FAILED", GOTO="dm_disable"
ENV{DM_UUID}=="CRYPT-TEMP-?*", GOTO="dm_disable"
ENV{DM_UUID}!="?*", ENV{DM_NAME}=="temporary-cryptsetup-?*", GOTO="dm_disable"
diff --git a/udev/13-dm-disk.rules.in b/udev/13-dm-disk.rules.in
index 1920260..d117a94 100644
--- a/udev/13-dm-disk.rules.in
+++ b/udev/13-dm-disk.rules.in
@@ -18,8 +18,10 @@ SYMLINK+="disk/by-id/dm-name-$env{DM_NAME}"
ENV{DM_UUID}=="?*", SYMLINK+="disk/by-id/dm-uuid-$env{DM_UUID}"
ENV{DM_SUSPENDED}=="1", GOTO="dm_end"
+ENV{DM_NR_VALID_PATHS}=="0", GOTO="dm_blkid_end"
(BLKID_RULE)
+LABEL="dm_blkid_end"
ENV{DM_UDEV_LOW_PRIORITY_FLAG}=="1", OPTIONS="link_priority=-100"
ENV{ID_FS_USAGE}=="filesystem|other|crypto", ENV{ID_FS_UUID_ENC}=="?*", SYMLINK+="disk/by-uuid/$env{ID_FS_UUID_ENC}"
ENV{ID_FS_USAGE}=="filesystem|other", ENV{ID_FS_LABEL_ENC}=="?*", SYMLINK+="disk/by-label/$env{ID_FS_LABEL_ENC}"
diff --git a/udev/69-dm-lvm-metad.rules.in b/udev/69-dm-lvm-metad.rules.in
index 706c03b..0b0ebbf 100644
--- a/udev/69-dm-lvm-metad.rules.in
+++ b/udev/69-dm-lvm-metad.rules.in
@@ -19,6 +19,7 @@ SUBSYSTEM!="block", GOTO="lvm_end"
# Device-mapper devices are processed only on change event or on supported synthesized event.
KERNEL=="dm-[0-9]*", ENV{DM_UDEV_RULES_VSN}!="?*", GOTO="lvm_end"
+KERNEL=="dm-[0-9]*", ENV{DM_NR_VALID_PATHS}=="0", GOTO="lvm_end"
# Only process devices already marked as a PV - this requires blkid to be called before.
ENV{ID_FS_TYPE}=="LVM2_member|LVM1_member", RUN+="(LVM_EXEC)/lvm pvscan --cache --activate ay --major $major --minor $minor"
--
1.8.4.5