device-mapper-multipath/dont_remove.patch
2009-08-20 22:28:44 +00:00

29 lines
742 B
Diff

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