[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]
[dm-devel] multipath-tools/multipathd main.c
- From: bmarzins sourceware org
- To: dm-cvs sourceware org, dm-devel redhat com
- Subject: [dm-devel] multipath-tools/multipathd main.c
- Date: 9 Aug 2010 16:16:10 -0000
CVSROOT: /cvs/dm
Module name: multipath-tools
Branch: RHEL5_FC6
Changes by: bmarzins 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
[Date Prev][Date Next] [Thread Prev][Thread Next]
[Thread Index]
[Date Index]
[Author Index]