summaryrefslogtreecommitdiffstats
path: root/dont_remove.patch
blob: fbd3510130b6359765c2431e59565235894ad7ef (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
Index: multipath-tools/multipathd/main.c
===================================================================
--- multipath-tools.orig/multipathd/main.c
+++ multipath-tools/multipathd/main.c
@@ -290,8 +290,23 @@ ev_add_map (struct sysfs_device * dev, s
 static int
 uev_remove_map (struct sysfs_device * dev, struct vectors * vecs)
 {
+	struct multipath * mpp;	
+
 	condlog(2, "%s: remove map (uevent)", dev->kernel);
+#if 0
 	return ev_remove_map(dev->kernel, vecs);
+#else
+	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;
+#endif
 }
 
 int