[dm-devel] multipath-tools ./multipath.conf.annotated lib ...
bmarzins at sourceware.org
bmarzins at sourceware.org
Fri Jan 16 21:30:43 UTC 2009
CVSROOT: /cvs/dm
Module name: multipath-tools
Branch: RHEL4_FC5
Changes by: bmarzins at sourceware.org 2009-01-16 21:30:43
Modified files:
. : multipath.conf.annotated
libmultipath : dict.c
Log message:
Fix fox bz #453547. Fix rr_min_io for devices/maps in multipath.conf
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/multipath.conf.annotated.diff?cvsroot=dm&only_with_tag=RHEL4_FC5&r1=1.16.2.6&r2=1.16.2.7
http://sourceware.org/cgi-bin/cvsweb.cgi/multipath-tools/libmultipath/dict.c.diff?cvsroot=dm&only_with_tag=RHEL4_FC5&r1=1.16.2.5&r2=1.16.2.6
--- multipath-tools/multipath.conf.annotated 2008/04/14 22:40:08 1.16.2.6
+++ multipath-tools/multipath.conf.annotated 2009/01/16 21:30:42 1.16.2.7
@@ -265,6 +265,14 @@
# path_selector "round-robin 0"
#
# #
+# # name : rr_min_io
+# # scope : multipath
+# # desc : the number of IO to route to a path before switching
+# # to the next in the same path group
+# #
+# rr_min_io 100
+#
+# #
# # name : failback
# # scope : multipathd
# # desc : tell the daemon to manage path group failback, or
@@ -403,6 +411,14 @@
# path_selector "round-robin 0"
#
# #
+# # name : rr_min_io
+# # scope : multipath
+# # desc : the number of IO to route to a path before switching
+# # to the next in the same path group
+# #
+# rr_min_io 100
+#
+# #
# # name : path_checker
# # scope : multipathd
# # desc : path checking alorithm to use to check path state
--- multipath-tools/libmultipath/dict.c 2008/04/14 22:40:08 1.16.2.5
+++ multipath-tools/libmultipath/dict.c 2009/01/16 21:30:43 1.16.2.6
@@ -556,6 +556,26 @@
}
static int
+hw_rr_min_io_handler(vector strvec)
+{
+ char * buff;
+ struct hwentry * hwe = VECTOR_LAST_SLOT(conf->hwtable);
+
+ if (!hwe)
+ return 1;
+
+ buff = set_value(strvec);
+
+ if (!buff)
+ return 1;
+
+ hwe->rr_min_io = atoi(buff);
+ FREE(buff);
+
+ return 0;
+}
+
+static int
hw_features_handler(vector strvec)
{
struct hwentry * hwe = VECTOR_LAST_SLOT(conf->hwtable);
@@ -830,6 +850,26 @@
return 0;
}
+
+static int
+mp_rr_min_io_handler(vector strvec)
+{
+ char * buff;
+ struct mpentry * mpe = VECTOR_LAST_SLOT(conf->mptable);
+
+ if (!mpe)
+ return 1;
+
+ buff = set_value(strvec);
+
+ if (!buff)
+ return 1;
+
+ mpe->rr_min_io = atoi(buff);
+ FREE(buff);
+
+ return 0;
+}
static int
mp_failback_handler(vector strvec)
{
@@ -1087,6 +1127,7 @@
install_keyword("getuid_callout", &hw_getuid_callout_handler);
install_keyword("path_selector", &hw_selector_handler);
install_keyword("path_checker", &hw_path_checker_handler);
+ install_keyword("rr_min_io", &hw_rr_min_io_handler);
install_keyword("features", &hw_features_handler);
install_keyword("hardware_handler", &hw_handler_handler);
install_keyword("prio_callout", &prio_callout_handler);
@@ -1104,6 +1145,7 @@
install_keyword("alias", &alias_handler);
install_keyword("path_grouping_policy", &mp_pgpolicy_handler);
install_keyword("path_selector", &mp_selector_handler);
+ install_keyword("rr_min_io", &mp_rr_min_io_handler);
install_keyword("failback", &mp_failback_handler);
install_keyword("rr_weight", &mp_weight_handler);
install_keyword("no_path_retry", &mp_no_path_retry_handler);
More information about the dm-devel
mailing list