dm-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] make tur the default path checker
@ 2016-06-23 13:42 Xose Vazquez Perez
  2016-06-23 13:42 ` [PATCH 1/4] multipath-tools: change the default path checker from directio to tur Xose Vazquez Perez
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Xose Vazquez Perez @ 2016-06-23 13:42 UTC (permalink / raw)
  Cc: Matthias Rudolph, Xose Vazquez Perez, Yacine Kheddache,
	device-mapper development, Brian King, IBM, Srinivasan Ramani,
	Sean Stewart, Shyam Sundar, Bart Brooks, Pivot3,
	Edward Goggin, EMC

Based on previous Hannes's work.
He says:
"For years I've been telling our customers to use the 'tur' checker
as the current default 'directio' will cause spurious path failures
under high load."

Xose Vazquez Perez (4):
  multipath-tools: change the default path checker from directio to tur
  multipath-tools: update path checker info in multipath.conf.5
  multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable
  multipath-tools: replace DIRECTIO with DEFAULT_CHECKER in hwtable

 libmultipath/checkers.h    |   2 +-
 libmultipath/hwtable.c     | 100 ++++++++++++++++++++++-----------------------
 multipath/multipath.conf.5 |   8 ++--
 3 files changed, 56 insertions(+), 54 deletions(-)

Cc: Shyam Sundar <g.shyamsundar@yahoo.co.in>
Cc: Edward Goggin, EMC <egoggin@emc.com>
Cc: Matthias Rudolph <matthias.rudolph@hds.com>
Cc: Brian King, IBM <brking@linux.vnet.ibm.com>
Cc: Yacine Kheddache <yacine@alyseo.com>
Cc: Srinivasan Ramani <srinivas.ramani@oracle.com>
Cc: Bart Brooks, Pivot3 <bartb@pivot3.com>
Cc: Martin George <marting@netapp.com>
Cc: Sean Stewart <sean.stewart@netapp.com>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
-- 
2.5.5

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH 1/4] multipath-tools: change the default path checker from directio to tur
  2016-06-23 13:42 [PATCH 0/4] make tur the default path checker Xose Vazquez Perez
@ 2016-06-23 13:42 ` Xose Vazquez Perez
  2016-06-23 13:42 ` [PATCH 2/4] multipath-tools: update path checker info in multipath.conf.5 Xose Vazquez Perez
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Xose Vazquez Perez @ 2016-06-23 13:42 UTC (permalink / raw)
  Cc: Matthias Rudolph, Xose Vazquez Perez, Yacine Kheddache,
	device-mapper development, Brian King, IBM, Srinivasan Ramani,
	Sean Stewart, Shyam Sundar, Bart Brooks, Pivot3,
	Edward Goggin, EMC

change DEFAULT_CHECKER to TUR

Cc: Shyam Sundar <g.shyamsundar@yahoo.co.in>
Cc: Edward Goggin, EMC <egoggin@emc.com>
Cc: Matthias Rudolph <matthias.rudolph@hds.com>
Cc: Brian King, IBM <brking@linux.vnet.ibm.com>
Cc: Yacine Kheddache <yacine@alyseo.com>
Cc: Srinivasan Ramani <srinivas.ramani@oracle.com>
Cc: Bart Brooks, Pivot3 <bartb@pivot3.com>
Cc: Martin George <marting@netapp.com>
Cc: Sean Stewart <sean.stewart@netapp.com>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
---
 libmultipath/checkers.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libmultipath/checkers.h b/libmultipath/checkers.h
index a935b3f..374c826 100644
--- a/libmultipath/checkers.h
+++ b/libmultipath/checkers.h
@@ -85,7 +85,7 @@ enum path_check_state {
 #define READSECTOR0  "readsector0"
 #define CCISS_TUR    "cciss_tur"
 
-#define DEFAULT_CHECKER DIRECTIO
+#define DEFAULT_CHECKER TUR
 
 #define ASYNC_TIMEOUT_SEC	30
 
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 2/4] multipath-tools: update path checker info in multipath.conf.5
  2016-06-23 13:42 [PATCH 0/4] make tur the default path checker Xose Vazquez Perez
  2016-06-23 13:42 ` [PATCH 1/4] multipath-tools: change the default path checker from directio to tur Xose Vazquez Perez
@ 2016-06-23 13:42 ` Xose Vazquez Perez
  2016-06-23 13:42 ` [PATCH 3/4] multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable Xose Vazquez Perez
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Xose Vazquez Perez @ 2016-06-23 13:42 UTC (permalink / raw)
  Cc: Matthias Rudolph, Xose Vazquez Perez, Yacine Kheddache,
	device-mapper development, Brian King, IBM, Srinivasan Ramani,
	Sean Stewart, Shyam Sundar, Bart Brooks, Pivot3,
	Edward Goggin, EMC

From now on tur is by default, and warn about directio drawbacks.

Cc: Shyam Sundar <g.shyamsundar@yahoo.co.in>
Cc: Edward Goggin, EMC <egoggin@emc.com>
Cc: Matthias Rudolph <matthias.rudolph@hds.com>
Cc: Brian King, IBM <brking@linux.vnet.ibm.com>
Cc: Yacine Kheddache <yacine@alyseo.com>
Cc: Srinivasan Ramani <srinivas.ramani@oracle.com>
Cc: Bart Brooks, Pivot3 <bartb@pivot3.com>
Cc: Martin George <marting@netapp.com>
Cc: Sean Stewart <sean.stewart@netapp.com>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
---
 multipath/multipath.conf.5 | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index e57b8e6..9f0d194 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -271,7 +271,7 @@ are
 .TP 12
 .B readsector0
 (Deprecated) Read the first sector of the device. This checker is being
-deprecated, please use \fIdirectio\fR instead
+deprecated, please use \fItur\fR instead
 .TP
 .B tur
 Issue a
@@ -289,9 +289,11 @@ Check the path state for HP storage arrays with Active/Standby firmware.
 Check the path state for LSI/Engenio/NetApp E-Series RDAC storage controller.
 .TP
 .B directio
-Read the first sector with direct I/O.
+(Deprecated) Read the first sector with direct I/O. This checker is being
+deprecated, it will cause spurious path failures under high load.
+Please use \fItur\fR instead.
 .TP
-Default value is \fIdirectio\fR.
+Default value is \fItur\fR.
 .RE
 .TP
 .B failback
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 3/4] multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable
  2016-06-23 13:42 [PATCH 0/4] make tur the default path checker Xose Vazquez Perez
  2016-06-23 13:42 ` [PATCH 1/4] multipath-tools: change the default path checker from directio to tur Xose Vazquez Perez
  2016-06-23 13:42 ` [PATCH 2/4] multipath-tools: update path checker info in multipath.conf.5 Xose Vazquez Perez
@ 2016-06-23 13:42 ` Xose Vazquez Perez
  2016-06-23 13:49   ` Hannes Reinecke
  2016-06-23 13:42 ` [PATCH 4/4] multipath-tools: replace DIRECTIO with DEFAULT_CHECKER in hwtable Xose Vazquez Perez
  2016-07-08  6:52 ` [PATCH 0/4] make tur the default path checker Christophe Varoqui
  4 siblings, 1 reply; 11+ messages in thread
From: Xose Vazquez Perez @ 2016-06-23 13:42 UTC (permalink / raw)
  Cc: Matthias Rudolph, Xose Vazquez Perez, Yacine Kheddache,
	device-mapper development, Brian King, IBM, Srinivasan Ramani,
	Sean Stewart, Shyam Sundar, Bart Brooks, Pivot3,
	Edward Goggin, EMC

DEFAULT_CHECKER already is TUR

Cc: Shyam Sundar <g.shyamsundar@yahoo.co.in>
Cc: Edward Goggin, EMC <egoggin@emc.com>
Cc: Matthias Rudolph <matthias.rudolph@hds.com>
Cc: Brian King, IBM <brking@linux.vnet.ibm.com>
Cc: Yacine Kheddache <yacine@alyseo.com>
Cc: Srinivasan Ramani <srinivas.ramani@oracle.com>
Cc: Bart Brooks, Pivot3 <bartb@pivot3.com>
Cc: Martin George <marting@netapp.com>
Cc: Sean Stewart <sean.stewart@netapp.com>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
---
 libmultipath/hwtable.c | 78 +++++++++++++++++++++++++-------------------------
 1 file changed, 39 insertions(+), 39 deletions(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index fb334ab..6e73e67 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -34,7 +34,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_QUEUE,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -125,7 +125,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 12,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -140,7 +140,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 12,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -155,7 +155,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 18,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -170,7 +170,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 18,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -185,7 +185,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 18,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -200,7 +200,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 12,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -214,7 +214,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 12,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -229,7 +229,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 18,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -264,7 +264,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 6,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -295,7 +295,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 5,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -307,7 +307,7 @@ static struct hwentry default_hw[] = {
 		.selector      = "queue-length 0",
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = FAILBACK_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.fast_io_fail  = 5,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
@@ -337,7 +337,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 10,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -356,7 +356,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -369,7 +369,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_HDS,
 		.prio_args     = NULL,
 	},
@@ -536,7 +536,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -550,7 +550,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -564,7 +564,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -578,7 +578,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -592,7 +592,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -606,7 +606,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -652,7 +652,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -667,7 +667,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -682,7 +682,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
 		.minio         = 15,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -716,7 +716,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = (300 / DEFAULT_CHECKINT),
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -730,7 +730,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = (300 / DEFAULT_CHECKINT),
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -797,7 +797,7 @@ static struct hwentry default_hw[] = {
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
 		.minio         = 128,
 		.dev_loss      = MAX_DEV_LOSS_TMO,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ONTAP,
 		.prio_args     = NULL,
 		.retain_hwhandler = RETAIN_HWHANDLER_ON,
@@ -855,7 +855,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -916,7 +916,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -996,7 +996,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
 		.minio         = 100,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -1089,7 +1089,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_QUEUE,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -1102,7 +1102,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 12,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
@@ -1116,7 +1116,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_QUEUE,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -1129,7 +1129,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_QUEUE,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.prio_args     = NULL,
 	},
@@ -1141,7 +1141,7 @@ static struct hwentry default_hw[] = {
 		.selector      = "queue-length 0",
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.fast_io_fail  = 10,
 		.prio_name     = DEFAULT_PRIO,
 		.no_path_retry = 0,
@@ -1155,7 +1155,7 @@ static struct hwentry default_hw[] = {
 		.hwhandler     = DEFAULT_HWHANDLER,
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 	},
 	/*
 	 * Violin Memory
@@ -1166,7 +1166,7 @@ static struct hwentry default_hw[] = {
 		.selector      = "round-robin 0",
 		.pgpolicy      = MULTIBUS,
 		.prio_name     = PRIO_ALUA,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.minio         = 100,
 		.rr_weight     = RR_WEIGHT_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
@@ -1181,7 +1181,7 @@ static struct hwentry default_hw[] = {
 		.product       = "InfiniBox.*",
 		.prio_name     = PRIO_ALUA,
 		.pgpolicy      = GROUP_BY_PRIO,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.selector      = "round-robin 0",
 		.features      = DEFAULT_FEATURES,
 		.pgfailback    = 30,
@@ -1203,7 +1203,7 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.no_path_retry = 10,
 		.dev_loss      = 50,
-		.checker_name  = TUR,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ALUA,
 		.pgfailback    = 30,
 		.minio         = 128,
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH 4/4] multipath-tools: replace DIRECTIO with DEFAULT_CHECKER in hwtable
  2016-06-23 13:42 [PATCH 0/4] make tur the default path checker Xose Vazquez Perez
                   ` (2 preceding siblings ...)
  2016-06-23 13:42 ` [PATCH 3/4] multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable Xose Vazquez Perez
@ 2016-06-23 13:42 ` Xose Vazquez Perez
  2016-07-08  6:52 ` [PATCH 0/4] make tur the default path checker Christophe Varoqui
  4 siblings, 0 replies; 11+ messages in thread
From: Xose Vazquez Perez @ 2016-06-23 13:42 UTC (permalink / raw)
  Cc: Matthias Rudolph, Xose Vazquez Perez, Yacine Kheddache,
	device-mapper development, Brian King, IBM, Srinivasan Ramani,
	Sean Stewart, Shyam Sundar, Bart Brooks, Pivot3,
	Edward Goggin, EMC

DIRECTIO is unreliable under high load.

Cc: Shyam Sundar <g.shyamsundar@yahoo.co.in>
Cc: Edward Goggin, EMC <egoggin@emc.com>
Cc: Matthias Rudolph <matthias.rudolph@hds.com>
Cc: Brian King, IBM <brking@linux.vnet.ibm.com>
Cc: Yacine Kheddache <yacine@alyseo.com>
Cc: Srinivasan Ramani <srinivas.ramani@oracle.com>
Cc: Bart Brooks, Pivot3 <bartb@pivot3.com>
Cc: Martin George <marting@netapp.com>
Cc: Sean Stewart <sean.stewart@netapp.com>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
Cc: device-mapper development <dm-devel@redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
---
 libmultipath/hwtable.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index 6e73e67..38487c1 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -95,7 +95,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 12,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -245,7 +245,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -324,7 +324,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -388,7 +388,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -622,7 +622,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -638,7 +638,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -702,7 +702,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = (300 / DEFAULT_CHECKINT),
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -816,7 +816,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
 		.minio         = 128,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = PRIO_ONTAP,
 		.prio_args     = NULL,
 	},
@@ -836,7 +836,7 @@ static struct hwentry default_hw[] = {
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = 30,
 		.minio         = 128,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -871,7 +871,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
@@ -949,7 +949,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 		.rr_weight     = RR_WEIGHT_NONE,
 		.no_path_retry = NO_PATH_RETRY_UNDEF,
-		.checker_name  = DIRECTIO,
+		.checker_name  = DEFAULT_CHECKER,
 		.prio_name     = DEFAULT_PRIO,
 		.prio_args     = NULL,
 	},
-- 
2.5.5

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/4] multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable
  2016-06-23 13:42 ` [PATCH 3/4] multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable Xose Vazquez Perez
@ 2016-06-23 13:49   ` Hannes Reinecke
  2016-06-23 14:13     ` Xose Vazquez Perez
  2016-06-23 17:31     ` killall DEFAULT_* Xose Vazquez Perez
  0 siblings, 2 replies; 11+ messages in thread
From: Hannes Reinecke @ 2016-06-23 13:49 UTC (permalink / raw)
  To: Xose Vazquez Perez
  Cc: Matthias Rudolph, Yacine Kheddache, device-mapper development,
	Brian King, IBM, Srinivasan Ramani, Sean Stewart, Shyam Sundar,
	Bart Brooks, Pivot3, Edward Goggin, EMC

On 06/23/2016 03:42 PM, Xose Vazquez Perez wrote:
> DEFAULT_CHECKER already is TUR
> 
> Cc: Shyam Sundar <g.shyamsundar@yahoo.co.in>
> Cc: Edward Goggin, EMC <egoggin@emc.com>
> Cc: Matthias Rudolph <matthias.rudolph@hds.com>
> Cc: Brian King, IBM <brking@linux.vnet.ibm.com>
> Cc: Yacine Kheddache <yacine@alyseo.com>
> Cc: Srinivasan Ramani <srinivas.ramani@oracle.com>
> Cc: Bart Brooks, Pivot3 <bartb@pivot3.com>
> Cc: Martin George <marting@netapp.com>
> Cc: Sean Stewart <sean.stewart@netapp.com>
> Cc: Benjamin Marzinski <bmarzins@redhat.com>
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
> Cc: device-mapper development <dm-devel@redhat.com>
> Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
> ---
>  libmultipath/hwtable.c | 78 +++++++++++++++++++++++++-------------------------
>  1 file changed, 39 insertions(+), 39 deletions(-)
> 
> diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> index fb334ab..6e73e67 100644
> --- a/libmultipath/hwtable.c
> +++ b/libmultipath/hwtable.c
> @@ -34,7 +34,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_QUEUE,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -125,7 +125,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 12,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -140,7 +140,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 12,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -155,7 +155,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 18,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -170,7 +170,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 18,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -185,7 +185,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 18,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -200,7 +200,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 12,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -214,7 +214,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 12,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -229,7 +229,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 18,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -264,7 +264,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 6,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -295,7 +295,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 5,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -307,7 +307,7 @@ static struct hwentry default_hw[] = {
>  		.selector      = "queue-length 0",
>  		.pgpolicy      = MULTIBUS,
>  		.pgfailback    = FAILBACK_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.fast_io_fail  = 5,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
> @@ -337,7 +337,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 10,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -356,7 +356,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -369,7 +369,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_HDS,
>  		.prio_args     = NULL,
>  	},
> @@ -536,7 +536,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -550,7 +550,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -564,7 +564,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -578,7 +578,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -592,7 +592,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -606,7 +606,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -652,7 +652,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -667,7 +667,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_QUEUE,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -682,7 +682,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
>  		.minio         = 15,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -716,7 +716,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = (300 / DEFAULT_CHECKINT),
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -730,7 +730,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = (300 / DEFAULT_CHECKINT),
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -797,7 +797,7 @@ static struct hwentry default_hw[] = {
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
>  		.minio         = 128,
>  		.dev_loss      = MAX_DEV_LOSS_TMO,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ONTAP,
>  		.prio_args     = NULL,
>  		.retain_hwhandler = RETAIN_HWHANDLER_ON,
> @@ -855,7 +855,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -916,7 +916,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -996,7 +996,7 @@ static struct hwentry default_hw[] = {
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_UNDEF,
>  		.minio         = 100,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = DEFAULT_PRIO,
>  		.prio_args     = NULL,
>  	},
> @@ -1089,7 +1089,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_QUEUE,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -1102,7 +1102,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = 12,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.minio         = 100,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
> @@ -1116,7 +1116,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_QUEUE,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -1129,7 +1129,7 @@ static struct hwentry default_hw[] = {
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
>  		.rr_weight     = RR_WEIGHT_NONE,
>  		.no_path_retry = NO_PATH_RETRY_QUEUE,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.prio_args     = NULL,
>  	},
> @@ -1141,7 +1141,7 @@ static struct hwentry default_hw[] = {
>  		.selector      = "queue-length 0",
>  		.pgpolicy      = MULTIBUS,
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.fast_io_fail  = 10,
>  		.prio_name     = DEFAULT_PRIO,
>  		.no_path_retry = 0,
> @@ -1155,7 +1155,7 @@ static struct hwentry default_hw[] = {
>  		.hwhandler     = DEFAULT_HWHANDLER,
>  		.pgpolicy      = MULTIBUS,
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  	},
>  	/*
>  	 * Violin Memory
> @@ -1166,7 +1166,7 @@ static struct hwentry default_hw[] = {
>  		.selector      = "round-robin 0",
>  		.pgpolicy      = MULTIBUS,
>  		.prio_name     = PRIO_ALUA,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.minio         = 100,
>  		.rr_weight     = RR_WEIGHT_PRIO,
>  		.pgfailback    = -FAILBACK_IMMEDIATE,
> @@ -1181,7 +1181,7 @@ static struct hwentry default_hw[] = {
>  		.product       = "InfiniBox.*",
>  		.prio_name     = PRIO_ALUA,
>  		.pgpolicy      = GROUP_BY_PRIO,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.selector      = "round-robin 0",
>  		.features      = DEFAULT_FEATURES,
>  		.pgfailback    = 30,
> @@ -1203,7 +1203,7 @@ static struct hwentry default_hw[] = {
>  		.pgpolicy      = GROUP_BY_PRIO,
>  		.no_path_retry = 10,
>  		.dev_loss      = 50,
> -		.checker_name  = TUR,
> +		.checker_name  = DEFAULT_CHECKER,
>  		.prio_name     = PRIO_ALUA,
>  		.pgfailback    = 30,
>  		.minio         = 128,
> 
Why do you need to set it to 'DEFAULT_CHECKER'?
It's the default, right?
So it should be sufficient to just delete those lines...

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@suse.de			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 3/4] multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable
  2016-06-23 13:49   ` Hannes Reinecke
@ 2016-06-23 14:13     ` Xose Vazquez Perez
  2016-06-23 17:31     ` killall DEFAULT_* Xose Vazquez Perez
  1 sibling, 0 replies; 11+ messages in thread
From: Xose Vazquez Perez @ 2016-06-23 14:13 UTC (permalink / raw)
  To: Hannes Reinecke
  Cc: Matthias Rudolph, Yacine Kheddache, device-mapper development,
	Brian King, IBM, Srinivasan Ramani, Sean Stewart, Shyam Sundar,
	Bart Brooks, Pivot3, Edward Goggin, EMC

On 06/23/2016 03:49 PM, Hannes Reinecke wrote:

> On 06/23/2016 03:42 PM, Xose Vazquez Perez wrote:
>> DEFAULT_CHECKER already is TUR
>> ---
>>  libmultipath/hwtable.c | 78 +++++++++++++++++++++++++-------------------------
>>  1 file changed, 39 insertions(+), 39 deletions(-)
>>
>> diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
>> index fb334ab..6e73e67 100644
>> --- a/libmultipath/hwtable.c
>> +++ b/libmultipath/hwtable.c
>> @@ -34,7 +34,7 @@ static struct hwentry default_hw[] = {
>> -		.checker_name  = TUR,
>> +		.checker_name  = DEFAULT_CHECKER,
>>  		.prio_name     = PRIO_ALUA,
>>  		.pgfailback    = 30,
>>  		.minio         = 128,
>>
> Why do you need to set it to 'DEFAULT_CHECKER'?
> It's the default, right?
> So it should be sufficient to just delete those lines...

I was being wordy. As "checker_name  = DEFAULT_CHECKER,"
was being used already by 3 devices. And I followed what
has been previously done.

Christophe?

^ permalink raw reply	[flat|nested] 11+ messages in thread

* killall DEFAULT_*
  2016-06-23 13:49   ` Hannes Reinecke
  2016-06-23 14:13     ` Xose Vazquez Perez
@ 2016-06-23 17:31     ` Xose Vazquez Perez
  1 sibling, 0 replies; 11+ messages in thread
From: Xose Vazquez Perez @ 2016-06-23 17:31 UTC (permalink / raw)
  To: Hannes Reinecke
  Cc: Matthias Rudolph, Yacine Kheddache, device-mapper development,
	Brian King, IBM, Srinivasan Ramani, Sean Stewart, Shyam Sundar,
	Bart Brooks, Pivot3, Edward Goggin, EMC

On 06/23/2016 03:49 PM, Hannes Reinecke wrote:

> Why do you need to set it to 'DEFAULT_CHECKER'?
> It's the default, right?
> So it should be sufficient to just delete those lines...

More candidates to be deleted ???

      1                 .minio         = DEFAULT_MINIO,
      1                 .minio_rq      = DEFAULT_MINIO_RQ,
     28                 .prio_name     = DEFAULT_PRIO,
     44                 .hwhandler     = DEFAULT_HWHANDLER,
     48                 .features      = DEFAULT_FEATURES,

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/4] make tur the default path checker
  2016-06-23 13:42 [PATCH 0/4] make tur the default path checker Xose Vazquez Perez
                   ` (3 preceding siblings ...)
  2016-06-23 13:42 ` [PATCH 4/4] multipath-tools: replace DIRECTIO with DEFAULT_CHECKER in hwtable Xose Vazquez Perez
@ 2016-07-08  6:52 ` Christophe Varoqui
  2016-07-08 12:51   ` Xose Vazquez Perez
  4 siblings, 1 reply; 11+ messages in thread
From: Christophe Varoqui @ 2016-07-08  6:52 UTC (permalink / raw)
  To: Xose Vazquez Perez
  Cc: Matthias Rudolph, Yacine Kheddache, device-mapper development,
	Brian King, IBM, Srinivasan Ramani, Sean Stewart, Shyam Sundar,
	Bart Brooks, Pivot3, Edward Goggin, EMC


[-- Attachment #1.1: Type: text/plain, Size: 1639 bytes --]

Patches 1 and 2 are merged.
I commited a patch to delete DIRECTIO and TUR checker_name settings to
replace patch 3 and 4.

Thanks.

On Thu, Jun 23, 2016 at 3:42 PM, Xose Vazquez Perez <xose.vazquez@gmail.com>
wrote:

> Based on previous Hannes's work.
> He says:
> "For years I've been telling our customers to use the 'tur' checker
> as the current default 'directio' will cause spurious path failures
> under high load."
>
> Xose Vazquez Perez (4):
>   multipath-tools: change the default path checker from directio to tur
>   multipath-tools: update path checker info in multipath.conf.5
>   multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable
>   multipath-tools: replace DIRECTIO with DEFAULT_CHECKER in hwtable
>
>  libmultipath/checkers.h    |   2 +-
>  libmultipath/hwtable.c     | 100
> ++++++++++++++++++++++-----------------------
>  multipath/multipath.conf.5 |   8 ++--
>  3 files changed, 56 insertions(+), 54 deletions(-)
>
> Cc: Shyam Sundar <g.shyamsundar@yahoo.co.in>
> Cc: Edward Goggin, EMC <egoggin@emc.com>
> Cc: Matthias Rudolph <matthias.rudolph@hds.com>
> Cc: Brian King, IBM <brking@linux.vnet.ibm.com>
> Cc: Yacine Kheddache <yacine@alyseo.com>
> Cc: Srinivasan Ramani <srinivas.ramani@oracle.com>
> Cc: Bart Brooks, Pivot3 <bartb@pivot3.com>
> Cc: Martin George <marting@netapp.com>
> Cc: Sean Stewart <sean.stewart@netapp.com>
> Cc: Benjamin Marzinski <bmarzins@redhat.com>
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>
> Cc: device-mapper development <dm-devel@redhat.com>
> Signed-off-by: Xose Vazquez Perez <xose.vazquez@gmail.com>
> --
> 2.5.5
>
>

[-- Attachment #1.2: Type: text/html, Size: 2863 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/4] make tur the default path checker
  2016-07-08  6:52 ` [PATCH 0/4] make tur the default path checker Christophe Varoqui
@ 2016-07-08 12:51   ` Xose Vazquez Perez
  2016-07-08 13:00     ` Christophe Varoqui
  0 siblings, 1 reply; 11+ messages in thread
From: Xose Vazquez Perez @ 2016-07-08 12:51 UTC (permalink / raw)
  To: Christophe Varoqui
  Cc: Matthias Rudolph, Yacine Kheddache, device-mapper development,
	Brian King, IBM, Srinivasan Ramani, Sean Stewart, Shyam Sundar,
	Bart Brooks, Pivot3, Edward Goggin, EMC

On 07/08/2016 08:52 AM, Christophe Varoqui wrote:

> Patches 1 and 2 are merged.
> I commited a patch to delete DIRECTIO and TUR checker_name
> settings to replace patch 3 and 4.

You should also have deleted these lines:
"                .checker_name  = DEFAULT_CHECKER," x3

I will send a path.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH 0/4] make tur the default path checker
  2016-07-08 12:51   ` Xose Vazquez Perez
@ 2016-07-08 13:00     ` Christophe Varoqui
  0 siblings, 0 replies; 11+ messages in thread
From: Christophe Varoqui @ 2016-07-08 13:00 UTC (permalink / raw)
  To: Xose Vazquez Perez
  Cc: Matthias Rudolph, Yacine Kheddache, device-mapper development,
	Brian King, IBM, Srinivasan Ramani, Sean Stewart, Shyam Sundar,
	Bart Brooks, Pivot3, Edward Goggin, EMC


[-- Attachment #1.1: Type: text/plain, Size: 414 bytes --]

True, done.

On Fri, Jul 8, 2016 at 2:51 PM, Xose Vazquez Perez <xose.vazquez@gmail.com>
wrote:

> On 07/08/2016 08:52 AM, Christophe Varoqui wrote:
>
> > Patches 1 and 2 are merged.
> > I commited a patch to delete DIRECTIO and TUR checker_name
> > settings to replace patch 3 and 4.
>
> You should also have deleted these lines:
> "                .checker_name  = DEFAULT_CHECKER," x3
>
> I will send a path.
>

[-- Attachment #1.2: Type: text/html, Size: 792 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-07-08 13:00 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-06-23 13:42 [PATCH 0/4] make tur the default path checker Xose Vazquez Perez
2016-06-23 13:42 ` [PATCH 1/4] multipath-tools: change the default path checker from directio to tur Xose Vazquez Perez
2016-06-23 13:42 ` [PATCH 2/4] multipath-tools: update path checker info in multipath.conf.5 Xose Vazquez Perez
2016-06-23 13:42 ` [PATCH 3/4] multipath-tools: replace TUR with DEFAULT_CHECKER in hwtable Xose Vazquez Perez
2016-06-23 13:49   ` Hannes Reinecke
2016-06-23 14:13     ` Xose Vazquez Perez
2016-06-23 17:31     ` killall DEFAULT_* Xose Vazquez Perez
2016-06-23 13:42 ` [PATCH 4/4] multipath-tools: replace DIRECTIO with DEFAULT_CHECKER in hwtable Xose Vazquez Perez
2016-07-08  6:52 ` [PATCH 0/4] make tur the default path checker Christophe Varoqui
2016-07-08 12:51   ` Xose Vazquez Perez
2016-07-08 13:00     ` Christophe Varoqui

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).