diff options
Diffstat (limited to 'dont_remove.patch')
-rw-r--r-- | dont_remove.patch | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/dont_remove.patch b/dont_remove.patch new file mode 100644 index 0000000..fbd3510 --- /dev/null +++ b/dont_remove.patch @@ -0,0 +1,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 |