CVSROOT: /cvs/dm Module name: multipath-tools Branch: RHEL5_FC6 Changes by: bmarzins@xxxxxxxxxxxxxx 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 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel