* [PATCH 1/2] multipath-tools: change default failback from manual to immediate
@ 2016-07-11 21:12 Xose Vazquez Perez
2016-07-11 21:12 ` [PATCH 2/2] multipath-tools: change default path_grouping_policy from failover to group_by_prio Xose Vazquez Perez
2016-07-28 14:03 ` [PATCH 1/2] multipath-tools: change default failback from manual to immediate Hannes Reinecke
0 siblings, 2 replies; 6+ messages in thread
From: Xose Vazquez Perez @ 2016-07-11 21:12 UTC (permalink / raw)
Cc: device-mapper development, Xose Vazquez Perez
Default value is: manual
1 .pgfailback = 15,
2 .pgfailback = 30,
24 .pgfailback = FAILBACK_UNDEF,
50 .pgfailback = -FAILBACK_IMMEDIATE,
manual is not used by any device.
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/defaults.h | 2 +-
libmultipath/hwtable.c | 50 ----------------------------------------------
multipath/multipath.conf.5 | 2 +-
3 files changed, 2 insertions(+), 52 deletions(-)
diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
index dd6a24b..d7d7dcb 100644
--- a/libmultipath/defaults.h
+++ b/libmultipath/defaults.h
@@ -8,7 +8,7 @@
#define DEFAULT_MINIO 1000
#define DEFAULT_MINIO_RQ 1
#define DEFAULT_PGPOLICY FAILOVER
-#define DEFAULT_FAILBACK -FAILBACK_MANUAL
+#define DEFAULT_FAILBACK -FAILBACK_IMMEDIATE
#define DEFAULT_RR_WEIGHT RR_WEIGHT_NONE
#define DEFAULT_NO_PATH_RETRY NO_PATH_RETRY_UNDEF
#define DEFAULT_VERBOSITY 2
diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index b4656c7..dcf413d 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -29,7 +29,6 @@ static struct hwentry default_hw[] = {
.vendor = "COMPELNT",
.product = "Compellent Vol",
.pgpolicy = MULTIBUS,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
},
@@ -94,7 +93,6 @@ static struct hwentry default_hw[] = {
.vendor = "(COMPAQ|HP)",
.product = "MSA VOLUME",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
.minio = 100,
@@ -105,7 +103,6 @@ static struct hwentry default_hw[] = {
.vendor = "(COMPAQ|HP)",
.product = "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
.minio = 100,
@@ -116,7 +113,6 @@ static struct hwentry default_hw[] = {
.vendor = "HP",
.product = "MSA2[02]12fc|MSA2012i",
.pgpolicy = MULTIBUS,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 18,
.minio = 100,
@@ -126,7 +122,6 @@ static struct hwentry default_hw[] = {
.vendor = "HP",
.product = "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 18,
.minio = 100,
@@ -137,7 +132,6 @@ static struct hwentry default_hw[] = {
.vendor = "HP",
.product = "MSA (1|2)040 SA(N|S)",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 18,
.minio = 100,
@@ -149,7 +143,6 @@ static struct hwentry default_hw[] = {
.product = "HSVX700",
.hwhandler = "1 alua",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
.minio = 100,
@@ -169,7 +162,6 @@ static struct hwentry default_hw[] = {
.vendor = "HP",
.product = "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 18,
.minio = 100,
@@ -207,7 +199,6 @@ static struct hwentry default_hw[] = {
.features = "1 queue_if_no_path",
.hwhandler = "1 emc",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = (300 / DEFAULT_CHECKINT),
.checker_name = EMC_CLARIION,
@@ -244,7 +235,6 @@ static struct hwentry default_hw[] = {
.product = "ETERNUS_DX(H|L|M|400|8000)",
.features = "1 queue_if_no_path",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 10,
.prio_name = PRIO_ALUA,
@@ -267,7 +257,6 @@ static struct hwentry default_hw[] = {
.product = "DF.*",
.features = "1 queue_if_no_path",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_HDS,
},
@@ -292,7 +281,6 @@ static struct hwentry default_hw[] = {
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 300,
.checker_name = RDAC,
@@ -306,7 +294,6 @@ static struct hwentry default_hw[] = {
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 300,
.checker_name = RDAC,
@@ -320,7 +307,6 @@ static struct hwentry default_hw[] = {
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 300,
.checker_name = RDAC,
@@ -333,7 +319,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -346,7 +331,6 @@ static struct hwentry default_hw[] = {
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -359,7 +343,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -372,7 +355,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -385,7 +367,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -398,7 +379,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -436,7 +416,6 @@ static struct hwentry default_hw[] = {
.product = "^1750500",
.features = "1 queue_if_no_path",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
},
@@ -455,7 +434,6 @@ static struct hwentry default_hw[] = {
.product = "^2145",
.features = "1 queue_if_no_path",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
},
@@ -488,7 +466,6 @@ static struct hwentry default_hw[] = {
.features = "1 queue_if_no_path",
.hwhandler = "1 alua",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
},
@@ -497,7 +474,6 @@ static struct hwentry default_hw[] = {
.vendor = "IBM",
.product = "1820N00",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.minio = 100,
@@ -524,7 +500,6 @@ static struct hwentry default_hw[] = {
.vendor = "AIX",
.product = "VDASD",
.pgpolicy = MULTIBUS,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = (300 / DEFAULT_CHECKINT),
},
@@ -532,7 +507,6 @@ static struct hwentry default_hw[] = {
/* IBM 3303 NVDISK */
.vendor = "IBM",
.product = "3303 NVDISK",
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = (300 / DEFAULT_CHECKINT),
},
@@ -542,7 +516,6 @@ static struct hwentry default_hw[] = {
.product = "NVDISK",
.hwhandler = "1 alua",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = (300 / DEFAULT_CHECKINT),
.prio_name = PRIO_ALUA,
@@ -558,7 +531,6 @@ static struct hwentry default_hw[] = {
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -572,7 +544,6 @@ static struct hwentry default_hw[] = {
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -586,7 +557,6 @@ static struct hwentry default_hw[] = {
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -603,7 +573,6 @@ static struct hwentry default_hw[] = {
.product = "LUN.*",
.features = "3 queue_if_no_path pg_init_retries 50",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.flush_on_last_del = FLUSH_ENABLED,
.rr_weight = RR_WEIGHT_NONE,
.minio = 128,
@@ -616,7 +585,6 @@ static struct hwentry default_hw[] = {
.product = "Nseries.*",
.features = "1 queue_if_no_path",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.minio = 128,
.prio_name = PRIO_ONTAP,
@@ -632,7 +600,6 @@ static struct hwentry default_hw[] = {
.product = "COMSTAR",
.features = "1 queue_if_no_path",
.pgpolicy = GROUP_BY_SERIAL,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 30,
.minio = 128,
@@ -667,7 +634,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -680,7 +646,6 @@ static struct hwentry default_hw[] = {
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -695,7 +660,6 @@ static struct hwentry default_hw[] = {
.product = "DISK ARRAY",
.hwhandler = "1 alua",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
},
@@ -708,7 +672,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.checker_name = RDAC,
.prio_name = PRIO_RDAC,
@@ -729,7 +692,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.checker_name = RDAC,
.prio_name = PRIO_RDAC,
@@ -762,7 +724,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -775,7 +736,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -788,7 +748,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -806,7 +765,6 @@ static struct hwentry default_hw[] = {
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 30,
.checker_name = RDAC,
@@ -818,7 +776,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -829,7 +786,6 @@ static struct hwentry default_hw[] = {
.product = "Multi-Flex",
.hwhandler = "1 alua",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.prio_name = PRIO_ALUA,
@@ -839,7 +795,6 @@ static struct hwentry default_hw[] = {
.product = "RBD",
.hwhandler = "1 alua",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
.minio = 100,
@@ -849,7 +804,6 @@ static struct hwentry default_hw[] = {
.vendor = "DataCore",
.product = "SANmelody",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.prio_name = PRIO_ALUA,
@@ -858,7 +812,6 @@ static struct hwentry default_hw[] = {
.vendor = "DataCore",
.product = "Virtual Disk",
.pgpolicy = GROUP_BY_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.prio_name = PRIO_ALUA,
@@ -868,7 +821,6 @@ static struct hwentry default_hw[] = {
.product = "FlashArray",
.selector = "queue-length 0",
.pgpolicy = MULTIBUS,
- .pgfailback = -FAILBACK_IMMEDIATE,
.fast_io_fail = 10,
.no_path_retry = 0,
.dev_loss = 60,
@@ -877,7 +829,6 @@ static struct hwentry default_hw[] = {
.vendor = "HUAWEI",
.product = "XSG1",
.pgpolicy = MULTIBUS,
- .pgfailback = -FAILBACK_IMMEDIATE,
},
/*
* Violin Memory
@@ -890,7 +841,6 @@ static struct hwentry default_hw[] = {
.prio_name = PRIO_ALUA,
.minio = 100,
.rr_weight = RR_WEIGHT_PRIO,
- .pgfailback = -FAILBACK_IMMEDIATE,
.features = "1 queue_if_no_path",
.no_path_retry = 300,
},
diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index 1da2de1..204955c 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -385,7 +385,7 @@ another node requested the failover.
.I values > 0
Deferred failback (time to defer in seconds).
.TP
-Default value is: \fBmanual\fR
+Default value is: \fBimmediate\fR
.RE
.TP
.B rr_min_io
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH 2/2] multipath-tools: change default path_grouping_policy from failover to group_by_prio
2016-07-11 21:12 [PATCH 1/2] multipath-tools: change default failback from manual to immediate Xose Vazquez Perez
@ 2016-07-11 21:12 ` Xose Vazquez Perez
2016-07-28 14:06 ` Hannes Reinecke
2016-07-28 14:03 ` [PATCH 1/2] multipath-tools: change default failback from manual to immediate Hannes Reinecke
1 sibling, 1 reply; 6+ messages in thread
From: Xose Vazquez Perez @ 2016-07-11 21:12 UTC (permalink / raw)
Cc: device-mapper development, Xose Vazquez Perez
Default value is: failover
5 .pgpolicy = GROUP_BY_SERIAL,
23 .pgpolicy = MULTIBUS,
48 .pgpolicy = GROUP_BY_PRIO,
failover is only used by 1 device:
IBM/3303 NVDISK
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/defaults.h | 2 +-
libmultipath/hwtable.c | 49 +---------------------------------------------
multipath/multipath.conf.5 | 2 +-
3 files changed, 3 insertions(+), 50 deletions(-)
diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
index d7d7dcb..9de5914 100644
--- a/libmultipath/defaults.h
+++ b/libmultipath/defaults.h
@@ -7,7 +7,7 @@
#define DEFAULT_HWHANDLER "0"
#define DEFAULT_MINIO 1000
#define DEFAULT_MINIO_RQ 1
-#define DEFAULT_PGPOLICY FAILOVER
+#define DEFAULT_PGPOLICY GROUP_BY_PRIO
#define DEFAULT_FAILBACK -FAILBACK_IMMEDIATE
#define DEFAULT_RR_WEIGHT RR_WEIGHT_NONE
#define DEFAULT_NO_PATH_RETRY NO_PATH_RETRY_UNDEF
diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
index dcf413d..8013b69 100644
--- a/libmultipath/hwtable.c
+++ b/libmultipath/hwtable.c
@@ -60,7 +60,6 @@ static struct hwentry default_hw[] = {
.product = "HSG80",
.features = "1 queue_if_no_path",
.hwhandler = "1 hp_sw",
- .pgpolicy = GROUP_BY_PRIO,
.pgfailback = FAILBACK_UNDEF,
.rr_weight = RR_WEIGHT_NONE,
.checker_name = HP_SW,
@@ -80,7 +79,6 @@ static struct hwentry default_hw[] = {
.product = "(MSA|HSV)1.0.*",
.features = "1 queue_if_no_path",
.hwhandler = "1 hp_sw",
- .pgpolicy = GROUP_BY_PRIO,
.pgfailback = FAILBACK_UNDEF,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
@@ -92,7 +90,6 @@ static struct hwentry default_hw[] = {
/* MSA 1000/1500 with new firmware */
.vendor = "(COMPAQ|HP)",
.product = "MSA VOLUME",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
.minio = 100,
@@ -102,7 +99,6 @@ static struct hwentry default_hw[] = {
/* EVA 3000/5000 with new firmware, EVA 4000/6000/8000 */
.vendor = "(COMPAQ|HP)",
.product = "HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
.minio = 100,
@@ -121,7 +117,6 @@ static struct hwentry default_hw[] = {
/* HP MSA2000 family with new firmware */
.vendor = "HP",
.product = "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 18,
.minio = 100,
@@ -131,7 +126,6 @@ static struct hwentry default_hw[] = {
/* HP MSA 1040/2040 family */
.vendor = "HP",
.product = "MSA (1|2)040 SA(N|S)",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 18,
.minio = 100,
@@ -142,7 +136,6 @@ static struct hwentry default_hw[] = {
.vendor = "HP",
.product = "HSVX700",
.hwhandler = "1 alua",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
.minio = 100,
@@ -161,7 +154,6 @@ static struct hwentry default_hw[] = {
/* HP P2000 family */
.vendor = "HP",
.product = "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 18,
.minio = 100,
@@ -198,7 +190,6 @@ static struct hwentry default_hw[] = {
.bl_product = "LUNZ",
.features = "1 queue_if_no_path",
.hwhandler = "1 emc",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = (300 / DEFAULT_CHECKINT),
.checker_name = EMC_CLARIION,
@@ -234,7 +225,6 @@ static struct hwentry default_hw[] = {
.vendor = "FUJITSU",
.product = "ETERNUS_DX(H|L|M|400|8000)",
.features = "1 queue_if_no_path",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 10,
.prio_name = PRIO_ALUA,
@@ -256,7 +246,6 @@ static struct hwentry default_hw[] = {
.vendor = "HITACHI",
.product = "DF.*",
.features = "1 queue_if_no_path",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_HDS,
},
@@ -280,7 +269,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 300,
.checker_name = RDAC,
@@ -293,7 +281,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 300,
.checker_name = RDAC,
@@ -306,7 +293,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 300,
.checker_name = RDAC,
@@ -318,7 +304,6 @@ static struct hwentry default_hw[] = {
.product = "^1742",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -330,7 +315,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -342,7 +326,6 @@ static struct hwentry default_hw[] = {
.product = "^1814",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -354,7 +337,6 @@ static struct hwentry default_hw[] = {
.product = "^1815",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -366,7 +348,6 @@ static struct hwentry default_hw[] = {
.product = "^1818",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -378,7 +359,6 @@ static struct hwentry default_hw[] = {
.product = "^3526",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -415,7 +395,6 @@ static struct hwentry default_hw[] = {
.vendor = "IBM",
.product = "^1750500",
.features = "1 queue_if_no_path",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
},
@@ -433,7 +412,6 @@ static struct hwentry default_hw[] = {
.vendor = "IBM",
.product = "^2145",
.features = "1 queue_if_no_path",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
},
@@ -465,7 +443,6 @@ static struct hwentry default_hw[] = {
.product = "^IPR.*",
.features = "1 queue_if_no_path",
.hwhandler = "1 alua",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
},
@@ -473,7 +450,6 @@ static struct hwentry default_hw[] = {
/* IBM RSSM */
.vendor = "IBM",
.product = "1820N00",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.minio = 100,
@@ -509,13 +485,13 @@ static struct hwentry default_hw[] = {
.product = "3303 NVDISK",
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = (300 / DEFAULT_CHECKINT),
+ .pgpolicy = FAILOVER,
},
{
/* AIX NVDISK */
.vendor = "AIX",
.product = "NVDISK",
.hwhandler = "1 alua",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = (300 / DEFAULT_CHECKINT),
.prio_name = PRIO_ALUA,
@@ -530,7 +506,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -543,7 +518,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -556,7 +530,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -572,7 +545,6 @@ static struct hwentry default_hw[] = {
.vendor = "NETAPP",
.product = "LUN.*",
.features = "3 queue_if_no_path pg_init_retries 50",
- .pgpolicy = GROUP_BY_PRIO,
.flush_on_last_del = FLUSH_ENABLED,
.rr_weight = RR_WEIGHT_NONE,
.minio = 128,
@@ -584,7 +556,6 @@ static struct hwentry default_hw[] = {
.vendor = "IBM",
.product = "Nseries.*",
.features = "1 queue_if_no_path",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.minio = 128,
.prio_name = PRIO_ONTAP,
@@ -613,7 +584,6 @@ static struct hwentry default_hw[] = {
{
.vendor = "Pillar",
.product = "Axiom.*",
- .pgpolicy = GROUP_BY_PRIO,
.pgfailback = FAILBACK_UNDEF,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
@@ -633,7 +603,6 @@ static struct hwentry default_hw[] = {
.product = "TP9[45]00",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -645,7 +614,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 15,
.checker_name = RDAC,
@@ -659,7 +627,6 @@ static struct hwentry default_hw[] = {
.vendor = "NEC",
.product = "DISK ARRAY",
.hwhandler = "1 alua",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.prio_name = PRIO_ALUA,
},
@@ -671,7 +638,6 @@ static struct hwentry default_hw[] = {
.product = "OPENstorage D280",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.checker_name = RDAC,
.prio_name = PRIO_RDAC,
@@ -691,7 +657,6 @@ static struct hwentry default_hw[] = {
.product = "STK6580_6780",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.checker_name = RDAC,
.prio_name = PRIO_RDAC,
@@ -699,7 +664,6 @@ static struct hwentry default_hw[] = {
{
.vendor = "EUROLOGC",
.product = "FC2502",
- .pgpolicy = GROUP_BY_PRIO,
.pgfailback = FAILBACK_UNDEF,
.rr_weight = RR_WEIGHT_NONE,
},
@@ -723,7 +687,6 @@ static struct hwentry default_hw[] = {
.product = "CSM200_R",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -735,7 +698,6 @@ static struct hwentry default_hw[] = {
.product = "LCSM100_[IEFS]",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -747,7 +709,6 @@ static struct hwentry default_hw[] = {
.product = "SUN_6180",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -764,7 +725,6 @@ static struct hwentry default_hw[] = {
.bl_product = "Universal Xport",
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 30,
.checker_name = RDAC,
@@ -775,7 +735,6 @@ static struct hwentry default_hw[] = {
.product = "FLEXLINE 380",
.bl_product = "Universal Xport",
.hwhandler = "1 rdac",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.checker_name = RDAC,
@@ -785,7 +744,6 @@ static struct hwentry default_hw[] = {
.vendor = "Intel",
.product = "Multi-Flex",
.hwhandler = "1 alua",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.prio_name = PRIO_ALUA,
@@ -794,7 +752,6 @@ static struct hwentry default_hw[] = {
.vendor = "(LIO-ORG|SUSE)",
.product = "RBD",
.hwhandler = "1 alua",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = 12,
.minio = 100,
@@ -803,7 +760,6 @@ static struct hwentry default_hw[] = {
{
.vendor = "DataCore",
.product = "SANmelody",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.prio_name = PRIO_ALUA,
@@ -811,7 +767,6 @@ static struct hwentry default_hw[] = {
{
.vendor = "DataCore",
.product = "Virtual Disk",
- .pgpolicy = GROUP_BY_PRIO,
.rr_weight = RR_WEIGHT_NONE,
.no_path_retry = NO_PATH_RETRY_QUEUE,
.prio_name = PRIO_ALUA,
@@ -851,7 +806,6 @@ static struct hwentry default_hw[] = {
.vendor = "NFINIDAT",
.product = "InfiniBox.*",
.prio_name = PRIO_ALUA,
- .pgpolicy = GROUP_BY_PRIO,
.selector = "round-robin 0",
.pgfailback = 30,
.rr_weight = RR_WEIGHT_PRIO,
@@ -867,7 +821,6 @@ static struct hwentry default_hw[] = {
.product = "ZEBI-(FC|ISCSI)|INTELLIFLASH",
.hwhandler = "1 alua",
.selector = "round-robin 0",
- .pgpolicy = GROUP_BY_PRIO,
.no_path_retry = 10,
.dev_loss = 50,
.prio_name = PRIO_ALUA,
diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index 204955c..7e0cfd4 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -184,7 +184,7 @@ per-multipath option in the configuration file.
One priority group per target node name. Target node names are fetched
in \fI/sys/class/fc_transport/target*/node_name\fR.
.TP
-Default value is: \fBfailover\fR
+Default value is: \fBgroup_by_prio\fR
.RE
.TP
.B uid_attribute
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread* Re: [PATCH 2/2] multipath-tools: change default path_grouping_policy from failover to group_by_prio
2016-07-11 21:12 ` [PATCH 2/2] multipath-tools: change default path_grouping_policy from failover to group_by_prio Xose Vazquez Perez
@ 2016-07-28 14:06 ` Hannes Reinecke
2016-08-01 1:34 ` Xose Vazquez Perez
0 siblings, 1 reply; 6+ messages in thread
From: Hannes Reinecke @ 2016-07-28 14:06 UTC (permalink / raw)
To: Xose Vazquez Perez; +Cc: device-mapper development
On 07/11/2016 11:12 PM, Xose Vazquez Perez wrote:
> Default value is: failover
> 5 .pgpolicy = GROUP_BY_SERIAL,
> 23 .pgpolicy = MULTIBUS,
> 48 .pgpolicy = GROUP_BY_PRIO,
>
> failover is only used by 1 device:
> IBM/3303 NVDISK
>
> 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/defaults.h | 2 +-
> libmultipath/hwtable.c | 49 +---------------------------------------------
> multipath/multipath.conf.5 | 2 +-
> 3 files changed, 3 insertions(+), 50 deletions(-)
>
Please reconsider.
'group_by_prio' requires a working prioritizer, which we cannot assume
for an unknown device.
To handle this situation properly we should be using 'group_by_prio' as
the default is a prioritizer is found and switch to 'failover' for all
other cases.
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] 6+ messages in thread
* Re: [PATCH 2/2] multipath-tools: change default path_grouping_policy from failover to group_by_prio
2016-07-28 14:06 ` Hannes Reinecke
@ 2016-08-01 1:34 ` Xose Vazquez Perez
0 siblings, 0 replies; 6+ messages in thread
From: Xose Vazquez Perez @ 2016-08-01 1:34 UTC (permalink / raw)
To: Hannes Reinecke, Christophe Varoqui; +Cc: device-mapper development
On 07/28/2016 04:06 PM, Hannes Reinecke wrote:
> On 07/11/2016 11:12 PM, Xose Vazquez Perez wrote:
>> Default value is: failover
>> 5 .pgpolicy = GROUP_BY_SERIAL,
>> 23 .pgpolicy = MULTIBUS,
>> 48 .pgpolicy = GROUP_BY_PRIO,
>>
>> failover is only used by 1 device:
>> IBM/3303 NVDISK
>>
>> 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/defaults.h | 2 +-
>> libmultipath/hwtable.c | 49 +---------------------------------------------
>> multipath/multipath.conf.5 | 2 +-
>> 3 files changed, 3 insertions(+), 50 deletions(-)
>>
> Please reconsider.
It was done to minimize the number of options in hwtable.c
Also the output of the multipathd configuration is clearer, and it makes
easier to find misconfigured devices and attributes with weird values.
> 'group_by_prio' requires a working prioritizer, which we cannot assume
> for an unknown device.
I don't think that anyone can expect that a minimal config could work
automagically for the first time, with something like this:
devices {
device {
vendor = "AUTOMATIC"
product = "FORTHEPEOPLE"
}
}
I do prefer a minimal set of options than a false automagical config.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] multipath-tools: change default failback from manual to immediate
2016-07-11 21:12 [PATCH 1/2] multipath-tools: change default failback from manual to immediate Xose Vazquez Perez
2016-07-11 21:12 ` [PATCH 2/2] multipath-tools: change default path_grouping_policy from failover to group_by_prio Xose Vazquez Perez
@ 2016-07-28 14:03 ` Hannes Reinecke
2016-08-01 1:58 ` Xose Vazquez Perez
1 sibling, 1 reply; 6+ messages in thread
From: Hannes Reinecke @ 2016-07-28 14:03 UTC (permalink / raw)
To: Xose Vazquez Perez; +Cc: device-mapper development
On 07/11/2016 11:12 PM, Xose Vazquez Perez wrote:
> Default value is: manual
> 1 .pgfailback = 15,
> 2 .pgfailback = 30,
> 24 .pgfailback = FAILBACK_UNDEF,
> 50 .pgfailback = -FAILBACK_IMMEDIATE,
>
> manual is not used by any device.
>
> 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/defaults.h | 2 +-
> libmultipath/hwtable.c | 50 ----------------------------------------------
> multipath/multipath.conf.5 | 2 +-
> 3 files changed, 2 insertions(+), 52 deletions(-)
>
Please revert.
'immediate' fallback only makes sense if the device has a working
prioritizer _and_ supports a 'preferred path'.
None of which can be assumed for an unknown device, so this patch
will break automatic configuration.
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] 6+ messages in thread
* Re: [PATCH 1/2] multipath-tools: change default failback from manual to immediate
2016-07-28 14:03 ` [PATCH 1/2] multipath-tools: change default failback from manual to immediate Hannes Reinecke
@ 2016-08-01 1:58 ` Xose Vazquez Perez
0 siblings, 0 replies; 6+ messages in thread
From: Xose Vazquez Perez @ 2016-08-01 1:58 UTC (permalink / raw)
To: Hannes Reinecke, Christophe Varoqui, Benjamin Marzinski
Cc: device-mapper development
On 07/28/2016 04:03 PM, Hannes Reinecke wrote:
> On 07/11/2016 11:12 PM, Xose Vazquez Perez wrote:
>> Default value is: manual
>> 1 .pgfailback = 15,
>> 2 .pgfailback = 30,
>> 24 .pgfailback = FAILBACK_UNDEF,
>> 50 .pgfailback = -FAILBACK_IMMEDIATE,
>>
>> manual is not used by any device.
>>
>> 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/defaults.h | 2 +-
>> libmultipath/hwtable.c | 50 ----------------------------------------------
>> multipath/multipath.conf.5 | 2 +-
>> 3 files changed, 2 insertions(+), 52 deletions(-)
>>
> 'immediate' fallback only makes sense if the device has a working
> prioritizer _and_ supports a 'preferred path'.
Then there are, at least, seven misconfigured devices.
What devices have support for referred_path?
Based on: guess???
PRIO_ALUA - YES
PRIO_CONST - NO
PRIO_EMC - YES
PRIO_HDS - YES
PRIO_HP_SW - NO
PRIO_ONTAP - YES
PRIO_RDAC - YES
Is there a hint anywhere?
> None of which can be assumed for an unknown device, so this patch
> will break automatic configuration.
As I said in my previous e-mail I don't believe in magic.
But this is up to you(plural: Christophe, Hannes, Benjamin, ...)
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-08-01 1:58 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-11 21:12 [PATCH 1/2] multipath-tools: change default failback from manual to immediate Xose Vazquez Perez
2016-07-11 21:12 ` [PATCH 2/2] multipath-tools: change default path_grouping_policy from failover to group_by_prio Xose Vazquez Perez
2016-07-28 14:06 ` Hannes Reinecke
2016-08-01 1:34 ` Xose Vazquez Perez
2016-07-28 14:03 ` [PATCH 1/2] multipath-tools: change default failback from manual to immediate Hannes Reinecke
2016-08-01 1:58 ` Xose Vazquez Perez
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).