summaryrefslogtreecommitdiffstats
path: root/0007-RH-do-not-remove.patch
blob: 1b27c761ded68b65aadcb09616afda9e4cb2a1d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
From b3519ef2eda768672d47c61f0acf8c87d74db427 Mon Sep 17 00:00:00 2001
From: Fabio M. Di Nitto <fdinitto@redhat.com>
Date: Tue, 13 Oct 2009 09:33:59 +0200
Subject: [PATCH 07/12] RH: do not remove

Signed-off-by: Fabio M. Di Nitto <fdinitto@redhat.com>
---
:100644 100644 5d3625a... 244b8d5... M	multipathd/main.c
 multipathd/main.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/multipathd/main.c b/multipathd/main.c
index 5d3625a..244b8d5 100644
--- a/multipathd/main.c
+++ b/multipathd/main.c
@@ -290,8 +290,19 @@ ev_add_map (struct sysfs_device * dev, struct vectors * vecs)
 static int
 uev_remove_map (struct sysfs_device * dev, struct vectors * vecs)
 {
+	struct multipath * mpp;
+
 	condlog(2, "%s: remove map (uevent)", dev->kernel);
-	return ev_remove_map(dev->kernel, vecs);
+
+	mpp = find_mp_by_str(vecs->mpvec, dev->kernel);
+	if (!mpp) {
+		condlog(2, "%s: devmap not registered, can't remove",
+			dev->kernel);
+		return 0;
+	}
+	orphan_paths(vecs->pathvec, mpp);
+	remove_map_and_stop_waiter(mpp, vecs, 1);
+	return 0;
 }
 
 int
-- 
1.6.5.1