diff mbox

[1/2] multipath-tools: change default failback from manual to immediate

Message ID 1468271522-3052-1-git-send-email-xose.vazquez@gmail.com (mailing list archive)
State Accepted, archived
Headers show

Commit Message

Xose Vazquez Perez July 11, 2016, 9:12 p.m. UTC
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(-)

Comments

Hannes Reinecke July 28, 2016, 2:03 p.m. UTC | #1
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
Xose Vazquez Perez Aug. 1, 2016, 1:58 a.m. UTC | #2
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, ...)

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

Patch

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