[dm-devel] [PATCH 1/2] multipath-tools: change default failback from manual to immediate
Xose Vazquez Perez
xose.vazquez at gmail.com
Mon Jul 11 21:12:01 UTC 2016
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 at opensvc.com>
Cc: device-mapper development <dm-devel at redhat.com>
Signed-off-by: Xose Vazquez Perez <xose.vazquez at 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
More information about the dm-devel
mailing list