[dm-devel] multipath-tools/libmultipath configure.c struc ...
bmarzins at sourceware.org
bmarzins at sourceware.org
Wed Feb 16 19:00:53 UTC 2011
CVSROOT: /cvs/dm
Module name: multipath-tools
Branch: RHEL5_FC6
Changes by: bmarzins at sourceware.org 2011-02-16 19:00:52
Modified files:
libmultipath : configure.c structs_vec.c
Log message:
Fix for bz 677821. Multipathd was not aways going into recovery mode when all
paths went down, and no_path_retry was set to timeout because of two bugs.
First off, multipathd was always resetting the hardware entry when it was
updating the multipath device. This caused problems when no paths were
available to get the hardware information from. Second, in one place,
multipathd forgot to count ghost paths in nr_active paths, this allowed
nr_active paths to go negative.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/configure.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.2.2.9&r2=1.2.2.10
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/structs_vec.c.diff?cvsroot=dm&only_with_tag=RHEL5_FC6&r1=1.1.2.5&r2=1.1.2.6
--- multipath-tools/libmultipath/configure.c 2010/06/23 16:28:07 1.2.2.9
+++ multipath-tools/libmultipath/configure.c 2011/02/16 19:00:51 1.2.2.10
@@ -77,7 +77,7 @@
if (mpp->pgpolicyfn && mpp->pgpolicyfn(mpp))
return 1;
- mpp->nr_active = pathcount(mpp, PATH_UP);
+ mpp->nr_active = pathcount(mpp, PATH_UP) + pathcount(mpp, PATH_GHOST);
/*
* ponders each path group and determine highest prio pg
--- multipath-tools/libmultipath/structs_vec.c 2010/06/23 16:28:07 1.1.2.5
+++ multipath-tools/libmultipath/structs_vec.c 2011/02/16 19:00:51 1.1.2.6
@@ -285,7 +285,8 @@
}
//adopt_paths(vecs->pathvec, mpp);
- mpp->hwe = extract_hwe_from_path(mpp);
+ if (!mpp->hwe)
+ mpp->hwe = extract_hwe_from_path(mpp);
select_rr_weight(mpp);
select_pgfailback(mpp);
set_no_path_retry(mpp);
More information about the dm-devel
mailing list