[dm-devel] multipath-tools/multipathd main.c
bmarzins at sourceware.org
bmarzins at sourceware.org
Mon Aug 9 16:16:10 UTC 2010
CVSROOT: /cvs/dm
Module name: multipath-tools
Branch: RHEL5_FC6
Changes by: bmarzins at sourceware.org 2010-08-09 16:16:10
Modified files:
multipathd : main.c
Log message:
Fix for bz #614966
Occasionally, the kernel sends out remove uevents when the multipath device
hasn't been removed. multipathd should never remove the device when it gets
these events, since they are only suspposed to be generated after the device
has already been removed.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/multipathd/main.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.69.2.27&r2=1.69.2.28
--- multipath-tools/multipathd/main.c 2010/06/23 16:28:08 1.69.2.27
+++ multipath-tools/multipathd/main.c 2010/08/09 16:16:10 1.69.2.28
@@ -299,8 +299,18 @@
static int
uev_remove_map (char * devname, struct vectors * vecs)
{
+ struct multipath * mpp;
+
condlog(2, "%s: remove map (uevent)", devname);
- return ev_remove_map(devname, vecs);
+
+ mpp = find_mp_by_str(vecs->mpvec, devname);
+ if (!mpp) {
+ condlog(2, "%s: devmap not registered, can't remove", devname);
+ return 0;
+ }
+ orphan_paths(vecs->pathvec, mpp);
+ remove_map(mpp, vecs, stop_waiter_thread, 1);
+ return 0;
}
int
More information about the dm-devel
mailing list