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