All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 01/15] multipath-tools: identify more devices at hwtable
@ 2016-08-10 16:20 Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 02/15] multipath-tools: remove pgpolicy=FAILOVER from Ceph/RBD Xose Vazquez Perez
                   ` (14 more replies)
  0 siblings, 15 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Xose Vazquez Perez

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 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index 2192d38..1222f47 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -468,7 +468,7 @@ static struct hwentry default_hw[] = {
 		.pgfailback    = FAILBACK_UNDEF,
 	},
 	{
-		/* SAN Volume Controller / Storwize */
+		/* Storwize family / SAN Volume Controller / Flex System V7000 */
 		.vendor        = "IBM",
 		.product       = "^2145",
 		.features      = "1 queue_if_no_path",
@@ -811,6 +811,7 @@ static struct hwentry default_hw[] = {
 	 * Huawei
 	 */
 	{
+		/* OceanStor V3 */
 		.vendor        = "(HUAWEI|HUASY)",
 		.product       = "XSG1",
 		.pgpolicy      = MULTIBUS,
-- 
2.7.4

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

* [PATCH 02/15] multipath-tools: remove pgpolicy=FAILOVER from Ceph/RBD
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:51   ` Mike Christie
  2016-08-10 16:20 ` [PATCH 03/15] multipath-tools: replace (|) with [] when there is one element Xose Vazquez Perez
                   ` (13 subsequent siblings)
  14 siblings, 1 reply; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Mike Christie, Xose Vazquez Perez

It's already the default pgpolicy.

Cc: Mike Christie <mchristi@redhat.com>
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 | 1 -
 1 file changed, 1 deletion(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index 1222f47..90c9b5b 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -826,7 +826,6 @@ static struct hwentry default_hw[] = {
 	{
 		.vendor        = "Ceph",
 		.product       = "RBD",
-		.pgpolicy      = FAILOVER,
 		.no_path_retry = NO_PATH_RETRY_FAIL,
 		.checker_name  = RBD,
 		.deferred_remove = DEFERRED_REMOVE_ON,
-- 
2.7.4

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

* [PATCH 03/15] multipath-tools: replace (|) with [] when there is one element
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 02/15] multipath-tools: remove pgpolicy=FAILOVER from Ceph/RBD Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 04/15] multipath-tools: replace spaces with a regex in IBM/"3303 NVDISK" Xose Vazquez Perez
                   ` (12 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Xose Vazquez Perez

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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index 90c9b5b..ba87ed2 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -122,7 +122,7 @@ static struct hwentry default_hw[] = {
 	{
 		/* MSA 1040/2040 family */
 		.vendor        = "HP",
-		.product       = "MSA (1|2)040 SA(N|S)",
+		.product       = "MSA [12]040 SA[NS]",
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 18,
-- 
2.7.4

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

* [PATCH 04/15] multipath-tools: replace spaces with a regex in IBM/"3303 NVDISK"
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 02/15] multipath-tools: remove pgpolicy=FAILOVER from Ceph/RBD Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 03/15] multipath-tools: replace (|) with [] when there is one element Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 05/15] multipath-tools: replace "." for real values in (COMPAQ|HP)/"(MSA|HSV)1.0" Xose Vazquez Perez
                   ` (11 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: Brian King, device-mapper development, Xose Vazquez Perez

Replace six spaces with any number of them.
Exact regex is "3303[ ]{6,6}NVDISK", but it looks too overloaded.

Tested with a regex checker from:
http://eli.thegreenplace.net/2012/11/14/some-notes-on-posix-regular-expressions

Cc: Brian King <brking@linux.vnet.ibm.com>
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 | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index ba87ed2..e0c33dc 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -537,8 +537,9 @@ static struct hwentry default_hw[] = {
 		.no_path_retry = (300 / DEFAULT_CHECKINT),
 	},
 	{
+		/* 3303 NVDISK */
 		.vendor        = "IBM",
-		.product       = "3303      NVDISK",
+		.product       = "3303[ ]+NVDISK",
 		.pgfailback    = FAILBACK_UNDEF,
 		.no_path_retry = (300 / DEFAULT_CHECKINT),
 	},
-- 
2.7.4

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

* [PATCH 05/15] multipath-tools: replace "." for real values in (COMPAQ|HP)/"(MSA|HSV)1.0"
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (2 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 04/15] multipath-tools: replace spaces with a regex in IBM/"3303 NVDISK" Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 06/15] multipath-tools: SGI/TP9300 is a RDAC array Xose Vazquez Perez
                   ` (10 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Xose Vazquez Perez

Exact devices are in drivers/scsi/scsi_dh.c

        {"COMPAQ", "MSA1000 VOLUME",    "hp_sw" },
        {"COMPAQ", "HSV110",            "hp_sw" },
        {"HP",     "HSV100",            "hp_sw"},

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 | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index e0c33dc..c101b02 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -70,7 +70,7 @@ static struct hwentry default_hw[] = {
 	{
 		/* MSA 1000/1500 and EVA 3000/5000, with old firmware */
 		.vendor        = "(COMPAQ|HP)",
-		.product       = "(MSA|HSV)1.0",
+		.product       = "(MSA|HSV)1[01]0",
 		.features      = "1 queue_if_no_path",
 		.hwhandler     = "1 hp_sw",
 		.pgpolicy      = GROUP_BY_PRIO,
-- 
2.7.4

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

* [PATCH 06/15] multipath-tools: SGI/TP9300 is a RDAC array
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (3 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 05/15] multipath-tools: replace "." for real values in (COMPAQ|HP)/"(MSA|HSV)1.0" Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 07/15] multipath-tools: add Oracle FS to hwtable Xose Vazquez Perez
                   ` (9 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Xose Vazquez Perez, Sean Stewart

Confirmed by the original manufacturer(NetApp).

Cc: Sean Stewart <Sean.Stewart@netapp.com>
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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index c101b02..b15020c 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -610,13 +610,13 @@ static struct hwentry default_hw[] = {
 	 */
 	{
 		.vendor        = "SGI",
-		.product       = "TP9[13]00",
+		.product       = "TP9100",
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = FAILBACK_UNDEF,
 	},
 	{
 		.vendor        = "SGI",
-		.product       = "TP9[45]00",
+		.product       = "TP9[345]00",
 		.bl_product    = "Universal Xport",
 		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-- 
2.7.4

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

* [PATCH 07/15] multipath-tools: add Oracle FS to hwtable
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (4 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 06/15] multipath-tools: SGI/TP9300 is a RDAC array Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 08/15] multipath-tools: remove blank line at multipath.conf.5 Xose Vazquez Perez
                   ` (8 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: Srinivasan Ramani, Xose Vazquez Perez, device-mapper development

Based on info from the manufacturer.
And also add ^ to Axiom.

Cc: Srinivasan Ramani <srinivas.ramani@oracle.com>
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 | 16 ++++++++++++----
 1 file changed, 12 insertions(+), 4 deletions(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index b15020c..f7cd456 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -653,19 +653,27 @@ static struct hwentry default_hw[] = {
 	/*
 	 * Oracle
 	 */
-	{
 		/*
-		 * Pillar Data
+		 * Pillar Data / Oracle FS
 		 *
 		 * Maintainer : Srinivasan Ramani
 		 * Mail : srinivas.ramani@oracle.com
 		 */
-		.vendor        = "Pillar",
-		.product       = "Axiom",
+	{
+		.vendor        = "^Pillar",
+		.product       = "^Axiom",
+		.pgpolicy      = GROUP_BY_PRIO,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.prio_name     = PRIO_ALUA,
+	},
+	{
+		.vendor        = "^Oracle",
+		.product       = "^Oracle FS",
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.prio_name     = PRIO_ALUA,
 	},
+		/* Sun - StorageTek */
 	{
 		.vendor        = "STK",
 		.product       = "OPENstorage D280",
-- 
2.7.4

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

* [PATCH 08/15] multipath-tools: remove blank line at multipath.conf.5
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (5 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 07/15] multipath-tools: add Oracle FS to hwtable Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 09/15] multipath-tools: standardize all RDAC devices Xose Vazquez Perez
                   ` (7 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Xose Vazquez Perez

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 | 1 -
 1 file changed, 1 deletion(-)

diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index acc1f51..b34a320 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -814,7 +814,6 @@ Default value is: \fB30\fR
 .RE
 .
 .
-.
 .\" ----------------------------------------------------------------------------
 .SH "blacklist section"
 .\" ----------------------------------------------------------------------------
-- 
2.7.4

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

* [PATCH 09/15] multipath-tools: standardize all RDAC devices
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (6 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 08/15] multipath-tools: remove blank line at multipath.conf.5 Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 10/15] multipath-tools: delete .minio from hwtable Xose Vazquez Perez
                   ` (6 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: Xose Vazquez Perez, device-mapper development, Sean Stewart

This is a combo patch.

Reorder keyworks as in code and manpage for "(NETAPP|LSI|ENGENIO)"/"INF-01-00",
and clone its configuration to ALL other RDAC devices.

There are only two differences in all rdac devices. And they look minor:
.features and .no_path_retry

 devices                keyword          values
 =======                ==============   ====================
      3                 .features      = "1 queue_if_no_path",

      5                 .no_path_retry = 15,
      1                 .no_path_retry = 30,
      3                 .no_path_retry = 300,
     10                 .no_path_retry = NO_PATH_RETRY_QUEUE,

"queue_if_no_path" is identical to the "no_path_retry" keyword.
So "queue_if_no_path" can be replaced by "no_path_retry = XX"

And there are just six devices with:
      6                 .features      = "2 pg_init_retries 50",

Sean Stewart, from NetApp, provided more detailed information:

"The pg_init_retries value should be good for all RDAC devices, and can be
synced, the no_path_retry should also be fine. I don’t think that there’s
necessarily an “ideal” value for it, and may be more of a user preference type
of thing, but I personally don’t see anything wrong with having that value on
all RDAC devices, as well. It’s easy enough to change in the conf file if an end
user needs a different value."

I think the pg_init_retries parameter is set as such because part of
scsi_dh_rdac’s path activation involves sending a Mode Select page 0x2C to
change the ownership. If the array is already processing one, it will return
with a vendor unique check condition (05/91/36), which returns SCSI_DH_RETRY."

As for the no_path_retry, we’ve seen scenarios where both paths can be
temporarily unavailable during a storage firmware upgrade, usually because udev
processing has not added the path from one controller before the path from the
second controller goes away. This is just to give it some time to settle in
cases like that, so I/O can continue. The value of 30 was suggested by my
predecessor, but I think is largely arbitrary."

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 | 152 +++++++++++++++++++++++++++----------------------
 1 file changed, 83 insertions(+), 69 deletions(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index f7cd456..cc0cfd4 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -224,37 +224,37 @@ static struct hwentry default_hw[] = {
 		.vendor        = "DELL",
 		.product       = "MD3000",
 		.bl_product    = "Universal Xport",
-		.features      = "2 pg_init_retries 50",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = 15,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		.vendor        = "DELL",
 		.product       = "(MD32xx|MD36xx)",
 		.bl_product    = "Universal Xport",
-		.features      = "2 pg_init_retries 50",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = 15,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		.vendor        = "DELL",
 		.product       = "(MD34xx|MD38xx)",
 		.bl_product    = "Universal Xport",
-		.features      = "2 pg_init_retries 50",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = 15,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	/*
 	 * Fujitsu
@@ -320,112 +320,117 @@ static struct hwentry default_hw[] = {
 		.vendor        = "IBM",
 		.product       = "^1722-600",
 		.bl_product    = "Universal Xport",
-		.features      = "1 queue_if_no_path",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = 300,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* DS4100 / FAStT100 */
 		.vendor        = "IBM",
 		.product       = "^1724",
 		.bl_product    = "Universal Xport",
-		.features      = "1 queue_if_no_path",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = 300,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* DS3200 / DS3300 / DS3400 / Boot DS */
 		.vendor        = "IBM",
 		.product       = "^1726",
 		.bl_product    = "Universal Xport",
-		.features      = "1 queue_if_no_path",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = 300,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* DS4400 / DS4500 / FAStT700 / FAStT900 */
 		.vendor        = "IBM",
 		.product       = "^1742",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* DS3500 / DS3512 / DS3524 */
 		.vendor        = "IBM",
 		.product       = "^(1745|1746)",
 		.bl_product    = "Universal Xport",
-		.features      = "2 pg_init_retries 50",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = 15,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* DS3950 / DS4200 / DS4700 / DS5020 */
 		.vendor        = "IBM",
 		.product       = "^1814",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* DS4800 */
 		.vendor        = "IBM",
 		.product       = "^1815",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* DS5000 / DS5100 / DS5300 / DCS3700 */
 		.vendor        = "IBM",
 		.product       = "^1818",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* Netfinity Fibre Channel RAID Controller Unit */
 		.vendor        = "IBM",
 		.product       = "^3526",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* DS4200 / FAStT200 */
@@ -582,13 +587,13 @@ static struct hwentry default_hw[] = {
 		.vendor        = "(NETAPP|LSI|ENGENIO)",
 		.product       = "INF-01-00",
 		.bl_product    = "Universal Xport",
+		.pgpolicy      = GROUP_BY_PRIO,
+		.checker_name  = RDAC,
 		.features      = "2 pg_init_retries 50",
 		.hwhandler     = "1 rdac",
-		.pgpolicy      = GROUP_BY_PRIO,
+		.prio_name     = PRIO_RDAC,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 30,
-		.checker_name  = RDAC,
-		.prio_name     = PRIO_RDAC,
 	},
 	/*
 	 * Nexenta
@@ -618,25 +623,26 @@ static struct hwentry default_hw[] = {
 		.vendor        = "SGI",
 		.product       = "TP9[345]00",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* InfiniteStorage ??? */
 		.vendor        = "SGI",
 		.product       = "IS",
 		.bl_product    = "Universal Xport",
-		.features      = "2 pg_init_retries 50",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = 15,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	/*
 	 * NEC
@@ -678,22 +684,25 @@ static struct hwentry default_hw[] = {
 		.vendor        = "STK",
 		.product       = "OPENstorage D280",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		.vendor        = "STK",
 		.product       = "FLEXLINE 380",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		.vendor        = "SUN",
@@ -705,46 +714,51 @@ static struct hwentry default_hw[] = {
 		.vendor        = "SUN",
 		.product       = "STK6580_6780",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* 6140 */
 		.vendor        = "SUN",
 		.product       = "CSM200_R",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		/* 2510 / 2530 / 2540 */
 		.vendor        = "SUN",
 		.product       = "LCSM100_[IEFS]",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	{
 		.vendor        = "SUN",
 		.product       = "SUN_6180",
 		.bl_product    = "Universal Xport",
-		.hwhandler     = "1 rdac",
 		.pgpolicy      = GROUP_BY_PRIO,
-		.pgfailback    = -FAILBACK_IMMEDIATE,
-		.no_path_retry = NO_PATH_RETRY_QUEUE,
 		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
 		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
 	},
 	/*
 	 * Pivot3
-- 
2.7.4

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

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

* [PATCH 10/15] multipath-tools: delete .minio from hwtable
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (7 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 09/15] multipath-tools: standardize all RDAC devices Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 11/15] multipath-tools: add IBM/1813 - DCS3860 to hwtable Xose Vazquez Perez
                   ` (5 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: Kiyoshi Ueda, Xose Vazquez Perez, device-mapper development,
	Mike Christie, Jun’ichi Nomura

It's useless, default path_selector is service-time.
And document some aspects of round-robin.

Cc: Kiyoshi Ueda <k-ueda@ct.jp.nec.com>
Cc: Jun’ichi Nomura <j-nomura@ce.jp.nec.com>
Cc: Mike Christie <mchristi@redhat.com>
Cc: Hannes Reinecke <hare@suse.de>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
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     | 14 --------------
 multipath/multipath.conf.5 | 20 ++++++++++++--------
 2 files changed, 12 insertions(+), 22 deletions(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index cc0cfd4..3917d25 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -76,7 +76,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = FAILBACK_UNDEF,
 		.no_path_retry = 12,
-		.minio         = 100,
 		.checker_name  = HP_SW,
 		.prio_name     = PRIO_HP_SW,
 	},
@@ -87,7 +86,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 12,
-		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 	},
 	{
@@ -97,7 +95,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 12,
-		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 	},
 	{
@@ -107,7 +104,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = FAILBACK_UNDEF,
 		.no_path_retry = 18,
-		.minio         = 100,
 	},
 	{
 		/* MSA2000 family with new firmware */
@@ -116,7 +112,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 18,
-		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 	},
 	{
@@ -126,7 +121,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 18,
-		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 	},
 	{
@@ -137,7 +131,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 12,
-		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 	},
 	{
@@ -155,7 +148,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 18,
-		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 	},
 	/*
@@ -516,7 +508,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = NO_PATH_RETRY_QUEUE,
-		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 	},
 	{
@@ -526,7 +517,6 @@ static struct hwentry default_hw[] = {
 		.features      = "1 queue_if_no_path",
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = 15,
-		.minio         = 15,
 	},
 		/*
 		 * IBM Power Virtual SCSI Devices
@@ -573,7 +563,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.flush_on_last_del = FLUSH_ENABLED,
-		.minio         = 128,
 		.dev_loss      = MAX_DEV_LOSS_TMO,
 		.prio_name     = PRIO_ONTAP,
 	},
@@ -608,7 +597,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_SERIAL,
 		.pgfailback    = FAILBACK_UNDEF,
 		.no_path_retry = 30,
-		.minio         = 128,
 	},
 	/*
 	 * SGI
@@ -772,7 +760,6 @@ static struct hwentry default_hw[] = {
 		.features      = "1 queue_if_no_path",
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = FAILBACK_UNDEF,
-		.minio         = 100,
 	},
 	/*
 	 * Intel
@@ -796,7 +783,6 @@ static struct hwentry default_hw[] = {
 		.pgpolicy      = GROUP_BY_PRIO,
 		.pgfailback    = -FAILBACK_IMMEDIATE,
 		.no_path_retry = 12,
-		.minio         = 100,
 		.prio_name     = PRIO_ALUA,
 	},
 	/*
diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index b34a320..4602f31 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -7,7 +7,7 @@
 .\"
 .\" ----------------------------------------------------------------------------
 .
-.TH MULTIPATH.CONF 5 2016-08-07 "Linux"
+.TH MULTIPATH.CONF 5 2016-08-09 "Linux"
 .
 .
 .\" ----------------------------------------------------------------------------
@@ -162,7 +162,8 @@ kernel multipath target. There are three selector algorithms:
 .TP 12
 .I "round-robin 0"
 Loop through every path in the path group, sending the same amount of IO to
-each.
+each. Some aspects of behavior can be controlled with the attributes:
+\fIrr_min_io\fR, \fIrr_min_io_rq\fR and \fIrr_weight\fR.
 .TP
 .I "queue-length 0"
 Send the next bunch of IO down the path with the least amount of outstanding IO.
@@ -431,8 +432,9 @@ Default value is: \fBmanual\fR
 .
 .TP
 .B  rr_min_io
-The number of IO to route to a path before switching to the next in
-the same path group. This is only for BIO based multipath.
+Number of IO requests to route to a path before switching to the next in the
+same path group. This is only for \fIBlock I/O\fR(BIO) based multipath and 
+only apply to \fIround-robin\fR path_selector.
 .RS
 .TP
 Default value is: \fB1000\fR
@@ -441,8 +443,9 @@ Default value is: \fB1000\fR
 .
 .TP
 .B rr_min_io_rq
-The number of IO requests to route to a path before switching to the
-next in the same path group. This is only for request based multipath.
+Number of IO requests to route to a path before switching to the next in the
+same path group. This is only for \fIRequest\fR based multipath and
+only apply to \fIround-robin\fR path_selector.
 .RS
 .TP
 Default value is: \fB1\fR
@@ -465,11 +468,12 @@ Default value is: \fBmax\fR
 .
 .TP
 .B rr_weight
-If set to \fIpriorities\fR the multipath configurator will assign
-path weights as "path prio * rr_min_io". Possible values are
+If set to \fIpriorities\fR the multipath configurator will assign path weights
+as "path prio * rr_min_io". Possible values are
 .I priorities
 or
 .I uniform .
+Only apply to \fIround-robin\fR path_selector.
 .RS
 .TP
 Default value is: \fBuniform\fR
-- 
2.7.4

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

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

* [PATCH 11/15] multipath-tools: add IBM/1813 - DCS3860 to hwtable
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (8 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 10/15] multipath-tools: delete .minio from hwtable Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 12/15] multipath-tools: remove patchwork reference Xose Vazquez Perez
                   ` (4 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Xose Vazquez Perez, Sean Stewart

It's a RDAC device, confirmed by the original manufacturer(NetApp).

Cc: Sean Stewart <Sean.Stewart@netapp.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 | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index 3917d25..c256d05 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -373,6 +373,19 @@ static struct hwentry default_hw[] = {
 		.no_path_retry = 30,
 	},
 	{
+		/* DCS3860 */
+		.vendor        = "IBM",
+		.product       = "^1813",
+		.bl_product    = "Universal Xport",
+		.pgpolicy      = GROUP_BY_PRIO,
+		.checker_name  = RDAC,
+		.features      = "2 pg_init_retries 50",
+		.hwhandler     = "1 rdac",
+		.prio_name     = PRIO_RDAC,
+		.pgfailback    = -FAILBACK_IMMEDIATE,
+		.no_path_retry = 30,
+	},
+	{
 		/* DS3950 / DS4200 / DS4700 / DS5020 */
 		.vendor        = "IBM",
 		.product       = "^1814",
-- 
2.7.4

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

* [PATCH 12/15] multipath-tools: remove patchwork reference
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (9 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 11/15] multipath-tools: add IBM/1813 - DCS3860 to hwtable Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 13/15] multipath-tools: document vendor, product, revision and bl_product are POSIX Extended regex Xose Vazquez Perez
                   ` (3 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Xose Vazquez Perez

It is only for kernel dm patches.

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>
---
 README | 1 -
 1 file changed, 1 deletion(-)

diff --git a/README b/README
index c1c53fc..77b79b8 100644
--- a/README
+++ b/README
@@ -25,6 +25,5 @@ To get latest devel code: git clone http://git.opensvc.com/multipath-tools/.git
 
 Mailing list: http://www.redhat.com/mailman/listinfo/dm-devel
 Gitweb: http://git.opensvc.com/?p=multipath-tools/.git
-Patchwork: http://patchwork.kernel.org/project/dm-devel/list/
 
 Current maintainer is Christophe Varoqui <christophe.varoqui@opensvc.com>
-- 
2.7.4

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

* [PATCH 13/15] multipath-tools: document vendor, product, revision and bl_product are POSIX Extended regex
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (10 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 12/15] multipath-tools: remove patchwork reference Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-10 16:20 ` [PATCH 14/15] multipath-tools: replace queue-length by default selector Xose Vazquez Perez
                   ` (2 subsequent siblings)
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: device-mapper development, Xose Vazquez Perez

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     | 4 ++--
 multipath/multipath.conf.5 | 2 ++
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index c256d05..bc2d407 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -858,8 +858,8 @@ static struct hwentry default_hw[] = {
 	 *
 	 * Keep only mandatory and modified attributes.
 	 * Attributes with default values must be removed.
-	 * .vendor and .product are mandatory, all other are optional.
-	 * POSIX Extended regex can be used in .vendor, .product, .revision and .bl_product
+	 * Only .vendor and .product are mandatory, all other are optional.
+	 * .vendor, .product, .revision and .bl_product are POSIX Extended regex
 	 *
 	 * COMPANY_NAME
 	 *
diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index 4602f31..8dc5d08 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -959,6 +959,8 @@ subsection.
 .
 .
 The \fIdevice\fR subsection recognizes the following attributes:
+.TP
+vendor, product, revision and product_blacklist are POSIX Extended regex.
 .TP 17
 .B vendor
 (Mandatory) Vendor identifier.
-- 
2.7.4

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

* [PATCH 14/15] multipath-tools: replace queue-length by default selector
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (11 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 13/15] multipath-tools: document vendor, product, revision and bl_product are POSIX Extended regex Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-11  5:58   ` Hannes Reinecke
  2016-08-10 16:20 ` [PATCH 15/15] multipath-tools: document the relation between queue_if_no_path and no_path_retry Xose Vazquez Perez
  2016-08-16  7:51 ` [PATCH 01/15] multipath-tools: identify more devices at hwtable Christophe Varoqui
  14 siblings, 1 reply; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: Xose Vazquez Perez, device-mapper development

service-time is more advanced, and it works better in asymmetric and
asymmetric environments.

Cc: Hannes Reinecke <hare@suse.de>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
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 | 2 --
 1 file changed, 2 deletions(-)

diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index bc2d407..edfd8fe 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -198,7 +198,6 @@ static struct hwentry default_hw[] = {
 	{
 		.vendor        = "XtremIO",
 		.product       = "XtremApp",
-		.selector      = "queue-length 0",
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = FAILBACK_UNDEF,
 	},
@@ -823,7 +822,6 @@ static struct hwentry default_hw[] = {
 	{
 		.vendor        = "PURE",
 		.product       = "FlashArray",
-		.selector      = "queue-length 0",
 		.pgpolicy      = MULTIBUS,
 		.pgfailback    = FAILBACK_UNDEF,
 		.fast_io_fail  = 10,
-- 
2.7.4

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

* [PATCH 15/15] multipath-tools: document the relation between queue_if_no_path and no_path_retry
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (12 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 14/15] multipath-tools: replace queue-length by default selector Xose Vazquez Perez
@ 2016-08-10 16:20 ` Xose Vazquez Perez
  2016-08-16  7:51 ` [PATCH 01/15] multipath-tools: identify more devices at hwtable Christophe Varoqui
  14 siblings, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-10 16:20 UTC (permalink / raw)
  Cc: Xose Vazquez Perez, device-mapper development

Also mark queue_if_no_path as deprecated.

Cc: Hannes Reinecke <hare@suse.de>
Cc: Benjamin Marzinski <bmarzins@redhat.com>
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 | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index 8dc5d08..3b66ddb 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -336,8 +336,8 @@ Possible values for the feature list are:
 .RS
 .TP 12
 .I queue_if_no_path
-Queue IO if no path is active; identical to the \fIno_path_retry\fR keyword.
-See KNOWN ISSUES.
+(Superseded by \fIno_path_retry\fR) Queue IO if no path is active. Identical to the \fIno_path_retry\fR with
+\fIqueue\fR value. See KNOWN ISSUES.
 .TP
 .I no_partitions
 Disable automatic partitions generation via kpartx.
-- 
2.7.4

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

* Re: [PATCH 02/15] multipath-tools: remove pgpolicy=FAILOVER from Ceph/RBD
  2016-08-10 16:20 ` [PATCH 02/15] multipath-tools: remove pgpolicy=FAILOVER from Ceph/RBD Xose Vazquez Perez
@ 2016-08-10 16:51   ` Mike Christie
  0 siblings, 0 replies; 20+ messages in thread
From: Mike Christie @ 2016-08-10 16:51 UTC (permalink / raw)
  To: Xose Vazquez Perez; +Cc: device-mapper development

On 08/10/2016 11:20 AM, Xose Vazquez Perez wrote:
> It's already the default pgpolicy.
> 
> Cc: Mike Christie <mchristi@redhat.com>
> 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 | 1 -
>  1 file changed, 1 deletion(-)
> 
> diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> index 1222f47..90c9b5b 100644
> --- a/libmultipath/hwtable.c
> +++ b/libmultipath/hwtable.c
> @@ -826,7 +826,6 @@ static struct hwentry default_hw[] = {
>  	{
>  		.vendor        = "Ceph",
>  		.product       = "RBD",
> -		.pgpolicy      = FAILOVER,
>  		.no_path_retry = NO_PATH_RETRY_FAIL,
>  		.checker_name  = RBD,
>  		.deferred_remove = DEFERRED_REMOVE_ON,
> 

Thanks.

Reviewed-by: Mike Christie <mchristi@redhat.com>

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

* Re: [PATCH 14/15] multipath-tools: replace queue-length by default selector
  2016-08-10 16:20 ` [PATCH 14/15] multipath-tools: replace queue-length by default selector Xose Vazquez Perez
@ 2016-08-11  5:58   ` Hannes Reinecke
  2016-08-11  6:52     ` Christophe Varoqui
  2016-08-11 16:16     ` Xose Vazquez Perez
  0 siblings, 2 replies; 20+ messages in thread
From: Hannes Reinecke @ 2016-08-11  5:58 UTC (permalink / raw)
  To: Xose Vazquez Perez; +Cc: device-mapper development

On 08/10/2016 06:20 PM, Xose Vazquez Perez wrote:
> service-time is more advanced, and it works better in asymmetric and
> asymmetric environments.
> 
> Cc: Hannes Reinecke <hare@suse.de>
> Cc: Benjamin Marzinski <bmarzins@redhat.com>
> 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 | 2 --
>  1 file changed, 2 deletions(-)
> 
> diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> index bc2d407..edfd8fe 100644
> --- a/libmultipath/hwtable.c
> +++ b/libmultipath/hwtable.c
> @@ -198,7 +198,6 @@ static struct hwentry default_hw[] = {
>  	{
>  		.vendor        = "XtremIO",
>  		.product       = "XtremApp",
> -		.selector      = "queue-length 0",
>  		.pgpolicy      = MULTIBUS,
>  		.pgfailback    = FAILBACK_UNDEF,
>  	},
> @@ -823,7 +822,6 @@ static struct hwentry default_hw[] = {
>  	{
>  		.vendor        = "PURE",
>  		.product       = "FlashArray",
> -		.selector      = "queue-length 0",
>  		.pgpolicy      = MULTIBUS,
>  		.pgfailback    = FAILBACK_UNDEF,
>  		.fast_io_fail  = 10,
> 
I would _not_ do this, unless tested on the real hardware.
Just claiming 'the other one is more advanced' is not enough here.

NACK.

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] 20+ messages in thread

* Re: [PATCH 14/15] multipath-tools: replace queue-length by default selector
  2016-08-11  5:58   ` Hannes Reinecke
@ 2016-08-11  6:52     ` Christophe Varoqui
  2016-08-11 16:16     ` Xose Vazquez Perez
  1 sibling, 0 replies; 20+ messages in thread
From: Christophe Varoqui @ 2016-08-11  6:52 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: Xose Vazquez Perez, device-mapper development


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

I agree with Hannes on this.

The default values are not meant to provide optimal performance ... they
are meant to provide an accessible LUN whatever the hardware and on the
broader range of Linux kernels. Vendors are responsible to provide their
array tuning as hwtable entries. And the size or factorization of the
hwtable is not an issue.


On Thu, Aug 11, 2016 at 7:58 AM, Hannes Reinecke <hare@suse.de> wrote:

> On 08/10/2016 06:20 PM, Xose Vazquez Perez wrote:
> > service-time is more advanced, and it works better in asymmetric and
> > asymmetric environments.
> >
> > Cc: Hannes Reinecke <hare@suse.de>
> > Cc: Benjamin Marzinski <bmarzins@redhat.com>
> > 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 | 2 --
> >  1 file changed, 2 deletions(-)
> >
> > diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> > index bc2d407..edfd8fe 100644
> > --- a/libmultipath/hwtable.c
> > +++ b/libmultipath/hwtable.c
> > @@ -198,7 +198,6 @@ static struct hwentry default_hw[] = {
> >       {
> >               .vendor        = "XtremIO",
> >               .product       = "XtremApp",
> > -             .selector      = "queue-length 0",
> >               .pgpolicy      = MULTIBUS,
> >               .pgfailback    = FAILBACK_UNDEF,
> >       },
> > @@ -823,7 +822,6 @@ static struct hwentry default_hw[] = {
> >       {
> >               .vendor        = "PURE",
> >               .product       = "FlashArray",
> > -             .selector      = "queue-length 0",
> >               .pgpolicy      = MULTIBUS,
> >               .pgfailback    = FAILBACK_UNDEF,
> >               .fast_io_fail  = 10,
> >
> I would _not_ do this, unless tested on the real hardware.
> Just claiming 'the other one is more advanced' is not enough here.
>
> NACK.
>
> 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)
>

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

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



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

* Re: [PATCH 14/15] multipath-tools: replace queue-length by default selector
  2016-08-11  5:58   ` Hannes Reinecke
  2016-08-11  6:52     ` Christophe Varoqui
@ 2016-08-11 16:16     ` Xose Vazquez Perez
  1 sibling, 0 replies; 20+ messages in thread
From: Xose Vazquez Perez @ 2016-08-11 16:16 UTC (permalink / raw)
  To: Hannes Reinecke, Christophe Varoqui, Vincent Chen, Brian Bunker
  Cc: device-mapper development

On 08/11/2016 07:58 AM, Hannes Reinecke wrote:

> On 08/10/2016 06:20 PM, Xose Vazquez Perez wrote:

>> service-time is more advanced, and it works better in asymmetric and
>> symmetric(corrected) environments.

>> -		.selector      = "queue-length 0",

> I would _not_ do this, unless tested on the real hardware.
> Just claiming 'the other one is more advanced' is not enough here.

service-time works better in any wild environment, different adapters or
different links speeds and any kind of load, aka the Production Environment.
I guess that manufacturers' tests are done in ideal conditions(PV=nRT).

Anyhow, the default path selector algorithm does not depend, by no means, of
any array settings or hardware. It's only related to the Linux host and
its environment.

How PURE/FlashArray and XtremIO/XtremApp were tested? Is there anything
wrong with service-time?

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

* Re: [PATCH 01/15] multipath-tools: identify more devices at hwtable
  2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
                   ` (13 preceding siblings ...)
  2016-08-10 16:20 ` [PATCH 15/15] multipath-tools: document the relation between queue_if_no_path and no_path_retry Xose Vazquez Perez
@ 2016-08-16  7:51 ` Christophe Varoqui
  14 siblings, 0 replies; 20+ messages in thread
From: Christophe Varoqui @ 2016-08-16  7:51 UTC (permalink / raw)
  To: Xose Vazquez Perez; +Cc: device-mapper development


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

This set is merged, expect 10/15 and 14/15.
Thanks.

On Wed, Aug 10, 2016 at 6:20 PM, Xose Vazquez Perez <xose.vazquez@gmail.com>
wrote:

> 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 | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> index 2192d38..1222f47 100644
> --- a/libmultipath/hwtable.c
> +++ b/libmultipath/hwtable.c
> @@ -468,7 +468,7 @@ static struct hwentry default_hw[] = {
>                 .pgfailback    = FAILBACK_UNDEF,
>         },
>         {
> -               /* SAN Volume Controller / Storwize */
> +               /* Storwize family / SAN Volume Controller / Flex System
> V7000 */
>                 .vendor        = "IBM",
>                 .product       = "^2145",
>                 .features      = "1 queue_if_no_path",
> @@ -811,6 +811,7 @@ static struct hwentry default_hw[] = {
>          * Huawei
>          */
>         {
> +               /* OceanStor V3 */
>                 .vendor        = "(HUAWEI|HUASY)",
>                 .product       = "XSG1",
>                 .pgpolicy      = MULTIBUS,
> --
> 2.7.4
>
>

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

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



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

end of thread, other threads:[~2016-08-16  7:51 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-08-10 16:20 [PATCH 01/15] multipath-tools: identify more devices at hwtable Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 02/15] multipath-tools: remove pgpolicy=FAILOVER from Ceph/RBD Xose Vazquez Perez
2016-08-10 16:51   ` Mike Christie
2016-08-10 16:20 ` [PATCH 03/15] multipath-tools: replace (|) with [] when there is one element Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 04/15] multipath-tools: replace spaces with a regex in IBM/"3303 NVDISK" Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 05/15] multipath-tools: replace "." for real values in (COMPAQ|HP)/"(MSA|HSV)1.0" Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 06/15] multipath-tools: SGI/TP9300 is a RDAC array Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 07/15] multipath-tools: add Oracle FS to hwtable Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 08/15] multipath-tools: remove blank line at multipath.conf.5 Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 09/15] multipath-tools: standardize all RDAC devices Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 10/15] multipath-tools: delete .minio from hwtable Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 11/15] multipath-tools: add IBM/1813 - DCS3860 to hwtable Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 12/15] multipath-tools: remove patchwork reference Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 13/15] multipath-tools: document vendor, product, revision and bl_product are POSIX Extended regex Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 14/15] multipath-tools: replace queue-length by default selector Xose Vazquez Perez
2016-08-11  5:58   ` Hannes Reinecke
2016-08-11  6:52     ` Christophe Varoqui
2016-08-11 16:16     ` Xose Vazquez Perez
2016-08-10 16:20 ` [PATCH 15/15] multipath-tools: document the relation between queue_if_no_path and no_path_retry Xose Vazquez Perez
2016-08-16  7:51 ` [PATCH 01/15] multipath-tools: identify more devices at hwtable Christophe Varoqui

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.