Message ID | 1471543096-11441-3-git-send-email-xose.vazquez@gmail.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | christophe varoqui |
Headers | show |
Wouldn't it be nicer to keep manual as the default and remove all FAILBACK_UNDEF from the hwtable ? In the current code base, FAILBACK_UNDEF causes need_switch_pathgroup() to refresh each path prio and mpp->bestpg, and return to the caller it should switch pathgroup. But the caller (check_path()) won't switch anyway. As I read it FAILBACK_UNDEF never fails back automatically, like FAILBACK_MANUAL, but causes unecessary work. Hannes, Ben, do you confirm I read correctly ? Would you ack to removal of FAILBACK_UNDEF from the hwtable ? Regards, Christophe Varoqui OpenSVC On Thu, Aug 18, 2016 at 7:58 PM, Xose Vazquez Perez <xose.vazquez@gmail.com> wrote: > Default value is: manual > 30 .pgfailback = FAILBACK_UNDEF, > 45 .pgfailback = -FAILBACK_IMMEDIATE, > manual is not used by any device. > > I hope it's reasonable. If someone disagrees, drop it. > > 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/defaults.h | 2 +- > libmultipath/hwtable.c | 32 +------------------------------- > multipath/multipath.conf.5 | 8 +++++++- > 3 files changed, 9 insertions(+), 33 deletions(-) > > diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h > index 9bf27d6..a7c74fe 100644 > --- a/libmultipath/defaults.h > +++ b/libmultipath/defaults.h > @@ -12,7 +12,7 @@ > #define DEFAULT_MINIO 1000 > #define DEFAULT_MINIO_RQ 1 > #define DEFAULT_PGPOLICY FAILOVER > -#define DEFAULT_FAILBACK -FAILBACK_MANUAL > +#define DEFAULT_FAILBACK FAILBACK_UNDEF > #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 72b5e1d..c4037d5 100644 > --- a/libmultipath/hwtable.c > +++ b/libmultipath/hwtable.c > @@ -37,7 +37,6 @@ static struct hwentry default_hw[] = { > .vendor = "APPLE", > .product = "Xserve RAID", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > /* > * HPE > @@ -58,7 +57,6 @@ static struct hwentry default_hw[] = { > .no_path_retry = NO_PATH_RETRY_QUEUE, > .hwhandler = "1 hp_sw", > .pgpolicy = GROUP_BY_PRIO, > - .pgfailback = FAILBACK_UNDEF, > .checker_name = HP_SW, > .prio_name = PRIO_HP_SW, > }, > @@ -67,7 +65,6 @@ static struct hwentry default_hw[] = { > .vendor = "HP", > .product = "A6189A", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = 12, > }, > { > @@ -76,7 +73,6 @@ static struct hwentry default_hw[] = { > .product = "(MSA|HSV)1[01]0", > .hwhandler = "1 hp_sw", > .pgpolicy = GROUP_BY_PRIO, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = 12, > .checker_name = HP_SW, > .prio_name = PRIO_HP_SW, > @@ -104,7 +100,6 @@ static struct hwentry default_hw[] = { > .vendor = "HP", > .product = "(MSA2[02]12fc|MSA2012i)", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = 18, > }, > { > @@ -140,7 +135,6 @@ static struct hwentry default_hw[] = { > .vendor = "HP", > .product = "LOGICAL VOLUME", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = 12, > }, > { > @@ -159,7 +153,6 @@ static struct hwentry default_hw[] = { > .vendor = "DDN", > .product = "SAN DataDirector", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > /* > * EMC > @@ -169,7 +162,6 @@ static struct hwentry default_hw[] = { > .vendor = "EMC", > .product = "SYMMETRIX", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = 6, > }, > { > @@ -190,14 +182,12 @@ static struct hwentry default_hw[] = { > .product = "Invista", > .bl_product = "LUNZ", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = 5, > }, > { > .vendor = "XtremIO", > .product = "XtremApp", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > /* > * DELL > @@ -212,7 +202,6 @@ static struct hwentry default_hw[] = { > .vendor = "COMPELNT", > .product = "Compellent Vol", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = NO_PATH_RETRY_QUEUE, > }, > { > @@ -258,7 +247,6 @@ static struct hwentry default_hw[] = { > .vendor = "FSC", > .product = "CentricStor", > .pgpolicy = GROUP_BY_SERIAL, > - .pgfailback = FAILBACK_UNDEF, > }, > { > .vendor = "FUJITSU", > @@ -273,7 +261,6 @@ static struct hwentry default_hw[] = { > .vendor = "(EUROLOGC|EuroLogc)", > .product = "FC2502", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > /* > * Hitachi > @@ -286,7 +273,6 @@ static struct hwentry default_hw[] = { > .vendor = "(HITACHI|HP)", > .product = "^OPEN-", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > /* AMS 2000 and HUS 100 families */ > @@ -307,7 +293,6 @@ static struct hwentry default_hw[] = { > .vendor = "IBM", > .product = "ProFibre 4000R", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > /* DS4300 / FAStT600 */ > @@ -444,7 +429,6 @@ static struct hwentry default_hw[] = { > .vendor = "IBM", > .product = "^3542", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > /* Enterprise Storage Server / Shark family */ > @@ -452,7 +436,6 @@ static struct hwentry default_hw[] = { > .product = "^2105", > .no_path_retry = NO_PATH_RETRY_QUEUE, > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > /* DS6000 */ > @@ -469,7 +452,6 @@ static struct hwentry default_hw[] = { > .product = "^2107900", > .no_path_retry = NO_PATH_RETRY_QUEUE, > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > /* Storwize family / SAN Volume Controller / Flex System > V7000 */ > @@ -487,7 +469,6 @@ static struct hwentry default_hw[] = { > .uid_attribute = "ID_UID", > .no_path_retry = NO_PATH_RETRY_QUEUE, > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > .vendor = "IBM", > @@ -496,7 +477,6 @@ static struct hwentry default_hw[] = { > .uid_attribute = "ID_UID", > .no_path_retry = NO_PATH_RETRY_QUEUE, > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > /* Power RAID */ > @@ -523,7 +503,6 @@ static struct hwentry default_hw[] = { > .product = "2810XIV", > .no_path_retry = NO_PATH_RETRY_QUEUE, > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > /* > * IBM Power Virtual SCSI Devices > @@ -535,14 +514,12 @@ static struct hwentry default_hw[] = { > .vendor = "AIX", > .product = "VDASD", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = (300 / DEFAULT_CHECKINT), > }, > { > /* 3303 NVDISK */ > .vendor = "IBM", > .product = "3303[ ]+NVDISK", > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = (300 / DEFAULT_CHECKINT), > }, > { > @@ -602,7 +579,6 @@ static struct hwentry default_hw[] = { > .vendor = "NEXENTA", > .product = "COMSTAR", > .pgpolicy = GROUP_BY_SERIAL, > - .pgfailback = FAILBACK_UNDEF, > .no_path_retry = 30, > }, > /* > @@ -612,7 +588,6 @@ static struct hwentry default_hw[] = { > .vendor = "SGI", > .product = "TP9100", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > .vendor = "SGI", > @@ -703,7 +678,6 @@ static struct hwentry default_hw[] = { > .vendor = "SUN", > .product = "(StorEdge 3510|T4)", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > { > .vendor = "SUN", > @@ -766,7 +740,6 @@ static struct hwentry default_hw[] = { > .product = "RAIGE VOLUME", > .no_path_retry = NO_PATH_RETRY_QUEUE, > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > /* > * Intel > @@ -818,7 +791,6 @@ static struct hwentry default_hw[] = { > .vendor = "PURE", > .product = "FlashArray", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > .fast_io_fail = 10, > .dev_loss = 60, > }, > @@ -830,7 +802,6 @@ static struct hwentry default_hw[] = { > .vendor = "(HUAWEI|HUASY)", > .product = "XSG1", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > /* > * Red Hat > @@ -852,7 +823,6 @@ static struct hwentry default_hw[] = { > .vendor = "KOVE", > .product = "XPD", > .pgpolicy = MULTIBUS, > - .pgfailback = FAILBACK_UNDEF, > }, > #if 0 > /* > @@ -882,7 +852,7 @@ static struct hwentry default_hw[] = { > .hwhandler = "0", > .prio_name = "const", > .prio_args = "", > - .pgfailback = -FAILBACK_MANUAL, > + .pgfailback = FAILBACK_UNDEF, > .rr_weight = RR_WEIGHT_NONE, > .no_path_retry = NO_PATH_RETRY_UNDEF, > .minio = 1000, > diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5 > index 40df315..466ad94 100644 > --- a/multipath/multipath.conf.5 > +++ b/multipath/multipath.conf.5 > @@ -422,6 +422,8 @@ Default value is: \fBmpath\fR > .TP > .B failback > Tell multipathd how to manage path group failback. > +To select \fIimmediate\fR or a \fIvalue\fR, it's mandatory that the device > +has support for a working prioritizer and a 'preferred path'. > .RS > .TP 12 > .I immediate > @@ -440,7 +442,11 @@ another node requested the failover. > .I values > 0 > Deferred failback (time to defer in seconds). > .TP > -Default value is: \fBmanual\fR > +.\" XXX > +.I <unset> > +??? Undefined. > +.TP > +Default value is: \fB<unset>\fR > .RE > . > . > -- > 2.7.4 > > -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
On 10/03/2016 01:29 PM, Christophe Varoqui wrote: > Wouldn't it be nicer to keep manual as the default and remove all > FAILBACK_UNDEF from the hwtable ? > > In the current code base, FAILBACK_UNDEF causes need_switch_pathgroup() > to refresh each path prio and mpp->bestpg, and return to the caller it > should switch pathgroup. But the caller (check_path()) won't switch anyway. > > As I read it FAILBACK_UNDEF never fails back automatically, like > FAILBACK_MANUAL, but causes unecessary work. > > Hannes, Ben, do you confirm I read correctly ? Would you ack to removal > of FAILBACK_UNDEF from the hwtable ? > Yes, please. FAILBACK_UNDEF always was kinda pointless, as and we're now using defaults more aggressively I'm all for dropping FAILBACK_UNDEF and use FAILBACK_MANUAL as the default. Cheers, Hannes
Patch pushed. On Mon, Oct 3, 2016 at 1:56 PM, Hannes Reinecke <hare@suse.de> wrote: > On 10/03/2016 01:29 PM, Christophe Varoqui wrote: > > Wouldn't it be nicer to keep manual as the default and remove all > > FAILBACK_UNDEF from the hwtable ? > > > > In the current code base, FAILBACK_UNDEF causes need_switch_pathgroup() > > to refresh each path prio and mpp->bestpg, and return to the caller it > > should switch pathgroup. But the caller (check_path()) won't switch > anyway. > > > > As I read it FAILBACK_UNDEF never fails back automatically, like > > FAILBACK_MANUAL, but causes unecessary work. > > > > Hannes, Ben, do you confirm I read correctly ? Would you ack to removal > > of FAILBACK_UNDEF from the hwtable ? > > > Yes, please. > FAILBACK_UNDEF always was kinda pointless, as and we're now using > defaults more aggressively I'm all for dropping FAILBACK_UNDEF and use > FAILBACK_MANUAL as the default. > > Cheers, > > Hannes > -- > Dr. Hannes Reinecke zSeries & Storage > hare@suse.de +49 911 74053 688 > SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg > GF: J. Hawn, J. Guild, F. Imendörffer, HRB 16746 (AG Nürnberg) > -- dm-devel mailing list dm-devel@redhat.com https://www.redhat.com/mailman/listinfo/dm-devel
diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h index 9bf27d6..a7c74fe 100644 --- a/libmultipath/defaults.h +++ b/libmultipath/defaults.h @@ -12,7 +12,7 @@ #define DEFAULT_MINIO 1000 #define DEFAULT_MINIO_RQ 1 #define DEFAULT_PGPOLICY FAILOVER -#define DEFAULT_FAILBACK -FAILBACK_MANUAL +#define DEFAULT_FAILBACK FAILBACK_UNDEF #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 72b5e1d..c4037d5 100644 --- a/libmultipath/hwtable.c +++ b/libmultipath/hwtable.c @@ -37,7 +37,6 @@ static struct hwentry default_hw[] = { .vendor = "APPLE", .product = "Xserve RAID", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, /* * HPE @@ -58,7 +57,6 @@ static struct hwentry default_hw[] = { .no_path_retry = NO_PATH_RETRY_QUEUE, .hwhandler = "1 hp_sw", .pgpolicy = GROUP_BY_PRIO, - .pgfailback = FAILBACK_UNDEF, .checker_name = HP_SW, .prio_name = PRIO_HP_SW, }, @@ -67,7 +65,6 @@ static struct hwentry default_hw[] = { .vendor = "HP", .product = "A6189A", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = 12, }, { @@ -76,7 +73,6 @@ static struct hwentry default_hw[] = { .product = "(MSA|HSV)1[01]0", .hwhandler = "1 hp_sw", .pgpolicy = GROUP_BY_PRIO, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = 12, .checker_name = HP_SW, .prio_name = PRIO_HP_SW, @@ -104,7 +100,6 @@ static struct hwentry default_hw[] = { .vendor = "HP", .product = "(MSA2[02]12fc|MSA2012i)", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = 18, }, { @@ -140,7 +135,6 @@ static struct hwentry default_hw[] = { .vendor = "HP", .product = "LOGICAL VOLUME", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = 12, }, { @@ -159,7 +153,6 @@ static struct hwentry default_hw[] = { .vendor = "DDN", .product = "SAN DataDirector", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, /* * EMC @@ -169,7 +162,6 @@ static struct hwentry default_hw[] = { .vendor = "EMC", .product = "SYMMETRIX", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = 6, }, { @@ -190,14 +182,12 @@ static struct hwentry default_hw[] = { .product = "Invista", .bl_product = "LUNZ", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = 5, }, { .vendor = "XtremIO", .product = "XtremApp", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, /* * DELL @@ -212,7 +202,6 @@ static struct hwentry default_hw[] = { .vendor = "COMPELNT", .product = "Compellent Vol", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = NO_PATH_RETRY_QUEUE, }, { @@ -258,7 +247,6 @@ static struct hwentry default_hw[] = { .vendor = "FSC", .product = "CentricStor", .pgpolicy = GROUP_BY_SERIAL, - .pgfailback = FAILBACK_UNDEF, }, { .vendor = "FUJITSU", @@ -273,7 +261,6 @@ static struct hwentry default_hw[] = { .vendor = "(EUROLOGC|EuroLogc)", .product = "FC2502", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, /* * Hitachi @@ -286,7 +273,6 @@ static struct hwentry default_hw[] = { .vendor = "(HITACHI|HP)", .product = "^OPEN-", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { /* AMS 2000 and HUS 100 families */ @@ -307,7 +293,6 @@ static struct hwentry default_hw[] = { .vendor = "IBM", .product = "ProFibre 4000R", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { /* DS4300 / FAStT600 */ @@ -444,7 +429,6 @@ static struct hwentry default_hw[] = { .vendor = "IBM", .product = "^3542", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { /* Enterprise Storage Server / Shark family */ @@ -452,7 +436,6 @@ static struct hwentry default_hw[] = { .product = "^2105", .no_path_retry = NO_PATH_RETRY_QUEUE, .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { /* DS6000 */ @@ -469,7 +452,6 @@ static struct hwentry default_hw[] = { .product = "^2107900", .no_path_retry = NO_PATH_RETRY_QUEUE, .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { /* Storwize family / SAN Volume Controller / Flex System V7000 */ @@ -487,7 +469,6 @@ static struct hwentry default_hw[] = { .uid_attribute = "ID_UID", .no_path_retry = NO_PATH_RETRY_QUEUE, .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { .vendor = "IBM", @@ -496,7 +477,6 @@ static struct hwentry default_hw[] = { .uid_attribute = "ID_UID", .no_path_retry = NO_PATH_RETRY_QUEUE, .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { /* Power RAID */ @@ -523,7 +503,6 @@ static struct hwentry default_hw[] = { .product = "2810XIV", .no_path_retry = NO_PATH_RETRY_QUEUE, .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, /* * IBM Power Virtual SCSI Devices @@ -535,14 +514,12 @@ static struct hwentry default_hw[] = { .vendor = "AIX", .product = "VDASD", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = (300 / DEFAULT_CHECKINT), }, { /* 3303 NVDISK */ .vendor = "IBM", .product = "3303[ ]+NVDISK", - .pgfailback = FAILBACK_UNDEF, .no_path_retry = (300 / DEFAULT_CHECKINT), }, { @@ -602,7 +579,6 @@ static struct hwentry default_hw[] = { .vendor = "NEXENTA", .product = "COMSTAR", .pgpolicy = GROUP_BY_SERIAL, - .pgfailback = FAILBACK_UNDEF, .no_path_retry = 30, }, /* @@ -612,7 +588,6 @@ static struct hwentry default_hw[] = { .vendor = "SGI", .product = "TP9100", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { .vendor = "SGI", @@ -703,7 +678,6 @@ static struct hwentry default_hw[] = { .vendor = "SUN", .product = "(StorEdge 3510|T4)", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, { .vendor = "SUN", @@ -766,7 +740,6 @@ static struct hwentry default_hw[] = { .product = "RAIGE VOLUME", .no_path_retry = NO_PATH_RETRY_QUEUE, .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, /* * Intel @@ -818,7 +791,6 @@ static struct hwentry default_hw[] = { .vendor = "PURE", .product = "FlashArray", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, .fast_io_fail = 10, .dev_loss = 60, }, @@ -830,7 +802,6 @@ static struct hwentry default_hw[] = { .vendor = "(HUAWEI|HUASY)", .product = "XSG1", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, /* * Red Hat @@ -852,7 +823,6 @@ static struct hwentry default_hw[] = { .vendor = "KOVE", .product = "XPD", .pgpolicy = MULTIBUS, - .pgfailback = FAILBACK_UNDEF, }, #if 0 /* @@ -882,7 +852,7 @@ static struct hwentry default_hw[] = { .hwhandler = "0", .prio_name = "const", .prio_args = "", - .pgfailback = -FAILBACK_MANUAL, + .pgfailback = FAILBACK_UNDEF, .rr_weight = RR_WEIGHT_NONE, .no_path_retry = NO_PATH_RETRY_UNDEF, .minio = 1000, diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5 index 40df315..466ad94 100644 --- a/multipath/multipath.conf.5 +++ b/multipath/multipath.conf.5 @@ -422,6 +422,8 @@ Default value is: \fBmpath\fR .TP .B failback Tell multipathd how to manage path group failback. +To select \fIimmediate\fR or a \fIvalue\fR, it's mandatory that the device +has support for a working prioritizer and a 'preferred path'. .RS .TP 12 .I immediate @@ -440,7 +442,11 @@ another node requested the failover. .I values > 0 Deferred failback (time to defer in seconds). .TP -Default value is: \fBmanual\fR +.\" XXX +.I <unset> +??? Undefined. +.TP +Default value is: \fB<unset>\fR .RE . .
Default value is: manual 30 .pgfailback = FAILBACK_UNDEF, 45 .pgfailback = -FAILBACK_IMMEDIATE, manual is not used by any device. I hope it's reasonable. If someone disagrees, drop it. 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/defaults.h | 2 +- libmultipath/hwtable.c | 32 +------------------------------- multipath/multipath.conf.5 | 8 +++++++- 3 files changed, 9 insertions(+), 33 deletions(-)