All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] multipathd: update defaults
@ 2016-06-03  7:14 Hannes Reinecke
  2016-06-03  7:27 ` Christophe Varoqui
  2016-06-07 20:48 ` Benjamin Marzinski
  0 siblings, 2 replies; 4+ messages in thread
From: Hannes Reinecke @ 2016-06-03  7:14 UTC (permalink / raw)
  To: Christophe Varoqui; +Cc: dm-devel

For years I've been telling our customers to use the 'tur' checker
as the current default 'directio' will cause spurious path failures
under high load.

And for several versions (years, even) the linux kernel has the ability
to correctly detect the device handler, so we should be making
'retain_hw_handler' the default.
And if we do this we also want to enable 'detect_prio', to ensure
we pick the correct prioritizer.

So this patch updates the default setting to always enable
'retain_hw_handler' and 'detect_prio' and switch to 'tur'
as the default path checker.

Signed-off-by: Hannes Reinecke <hare@suse.de>
---
 libmultipath/checkers.h    | 2 +-
 libmultipath/defaults.h    | 4 ++--
 multipath/multipath.conf.5 | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/libmultipath/checkers.h b/libmultipath/checkers.h
index a935b3f..374c826 100644
--- a/libmultipath/checkers.h
+++ b/libmultipath/checkers.h
@@ -85,7 +85,7 @@ enum path_check_state {
 #define READSECTOR0  "readsector0"
 #define CCISS_TUR    "cciss_tur"
 
-#define DEFAULT_CHECKER DIRECTIO
+#define DEFAULT_CHECKER TUR
 
 #define ASYNC_TIMEOUT_SEC	30
 
diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
index 96f5a2c..4948271 100644
--- a/libmultipath/defaults.h
+++ b/libmultipath/defaults.h
@@ -16,8 +16,8 @@
 #define DEFAULT_FIND_MULTIPATHS	0
 #define DEFAULT_FAST_IO_FAIL	5
 #define DEFAULT_DEV_LOSS_TMO   600
-#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_OFF
-#define DEFAULT_DETECT_PRIO DETECT_PRIO_OFF
+#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_ON
+#define DEFAULT_DETECT_PRIO DETECT_PRIO_ON
 #define DEFAULT_DEFERRED_REMOVE DEFERRED_REMOVE_OFF
 #define DEFAULT_DELAY_CHECKS DELAY_CHECKS_OFF
 #define DEFAULT_UEVENT_STACKSIZE 256
diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
index aaaa01b..20a2304 100644
--- a/multipath/multipath.conf.5
+++ b/multipath/multipath.conf.5
@@ -295,7 +295,7 @@ Check the path state for LSI/Engenio/NetApp E-Series RDAC storage controller.
 .B directio
 Read the first sector with direct I/O.
 .TP
-Default value is \fIdirectio\fR.
+Default value is \fItur\fR.
 .RE
 .TP
 .B failback
@@ -463,7 +463,7 @@ are supported, or the
 prioritizer if not. If set to
 .I no
 , the prioritizer will be selected as usual. Default is
-.I no
+.I yes
 .TP
 .B force_sync
 If set to
-- 
2.6.6

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

* Re: [PATCH] multipathd: update defaults
  2016-06-03  7:14 [PATCH] multipathd: update defaults Hannes Reinecke
@ 2016-06-03  7:27 ` Christophe Varoqui
  2016-06-07 20:48 ` Benjamin Marzinski
  1 sibling, 0 replies; 4+ messages in thread
From: Christophe Varoqui @ 2016-06-03  7:27 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: device-mapper development


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

Agreed.
Waiting for Ben's ack before merging.

On Fri, Jun 3, 2016 at 9:14 AM, Hannes Reinecke <hare@suse.de> wrote:

> For years I've been telling our customers to use the 'tur' checker
> as the current default 'directio' will cause spurious path failures
> under high load.
>
> And for several versions (years, even) the linux kernel has the ability
> to correctly detect the device handler, so we should be making
> 'retain_hw_handler' the default.
> And if we do this we also want to enable 'detect_prio', to ensure
> we pick the correct prioritizer.
>
> So this patch updates the default setting to always enable
> 'retain_hw_handler' and 'detect_prio' and switch to 'tur'
> as the default path checker.
>
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
>  libmultipath/checkers.h    | 2 +-
>  libmultipath/defaults.h    | 4 ++--
>  multipath/multipath.conf.5 | 4 ++--
>  3 files changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/libmultipath/checkers.h b/libmultipath/checkers.h
> index a935b3f..374c826 100644
> --- a/libmultipath/checkers.h
> +++ b/libmultipath/checkers.h
> @@ -85,7 +85,7 @@ enum path_check_state {
>  #define READSECTOR0  "readsector0"
>  #define CCISS_TUR    "cciss_tur"
>
> -#define DEFAULT_CHECKER DIRECTIO
> +#define DEFAULT_CHECKER TUR
>
>  #define ASYNC_TIMEOUT_SEC      30
>
> diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
> index 96f5a2c..4948271 100644
> --- a/libmultipath/defaults.h
> +++ b/libmultipath/defaults.h
> @@ -16,8 +16,8 @@
>  #define DEFAULT_FIND_MULTIPATHS        0
>  #define DEFAULT_FAST_IO_FAIL   5
>  #define DEFAULT_DEV_LOSS_TMO   600
> -#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_OFF
> -#define DEFAULT_DETECT_PRIO DETECT_PRIO_OFF
> +#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_ON
> +#define DEFAULT_DETECT_PRIO DETECT_PRIO_ON
>  #define DEFAULT_DEFERRED_REMOVE DEFERRED_REMOVE_OFF
>  #define DEFAULT_DELAY_CHECKS DELAY_CHECKS_OFF
>  #define DEFAULT_UEVENT_STACKSIZE 256
> diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
> index aaaa01b..20a2304 100644
> --- a/multipath/multipath.conf.5
> +++ b/multipath/multipath.conf.5
> @@ -295,7 +295,7 @@ Check the path state for LSI/Engenio/NetApp E-Series
> RDAC storage controller.
>  .B directio
>  Read the first sector with direct I/O.
>  .TP
> -Default value is \fIdirectio\fR.
> +Default value is \fItur\fR.
>  .RE
>  .TP
>  .B failback
> @@ -463,7 +463,7 @@ are supported, or the
>  prioritizer if not. If set to
>  .I no
>  , the prioritizer will be selected as usual. Default is
> -.I no
> +.I yes
>  .TP
>  .B force_sync
>  If set to
> --
> 2.6.6
>
>

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

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



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

* Re: [PATCH] multipathd: update defaults
  2016-06-03  7:14 [PATCH] multipathd: update defaults Hannes Reinecke
  2016-06-03  7:27 ` Christophe Varoqui
@ 2016-06-07 20:48 ` Benjamin Marzinski
  1 sibling, 0 replies; 4+ messages in thread
From: Benjamin Marzinski @ 2016-06-07 20:48 UTC (permalink / raw)
  To: Hannes Reinecke; +Cc: dm-devel, Christophe Varoqui

On Fri, Jun 03, 2016 at 09:14:32AM +0200, Hannes Reinecke wrote:
> For years I've been telling our customers to use the 'tur' checker
> as the current default 'directio' will cause spurious path failures
> under high load.
> 
> And for several versions (years, even) the linux kernel has the ability
> to correctly detect the device handler, so we should be making
> 'retain_hw_handler' the default.
> And if we do this we also want to enable 'detect_prio', to ensure
> we pick the correct prioritizer.
> 
> So this patch updates the default setting to always enable
> 'retain_hw_handler' and 'detect_prio' and switch to 'tur'
> as the default path checker.

ACK

-Ben

> 
> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
>  libmultipath/checkers.h    | 2 +-
>  libmultipath/defaults.h    | 4 ++--
>  multipath/multipath.conf.5 | 4 ++--
>  3 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/libmultipath/checkers.h b/libmultipath/checkers.h
> index a935b3f..374c826 100644
> --- a/libmultipath/checkers.h
> +++ b/libmultipath/checkers.h
> @@ -85,7 +85,7 @@ enum path_check_state {
>  #define READSECTOR0  "readsector0"
>  #define CCISS_TUR    "cciss_tur"
>  
> -#define DEFAULT_CHECKER DIRECTIO
> +#define DEFAULT_CHECKER TUR
>  
>  #define ASYNC_TIMEOUT_SEC	30
>  
> diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
> index 96f5a2c..4948271 100644
> --- a/libmultipath/defaults.h
> +++ b/libmultipath/defaults.h
> @@ -16,8 +16,8 @@
>  #define DEFAULT_FIND_MULTIPATHS	0
>  #define DEFAULT_FAST_IO_FAIL	5
>  #define DEFAULT_DEV_LOSS_TMO   600
> -#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_OFF
> -#define DEFAULT_DETECT_PRIO DETECT_PRIO_OFF
> +#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_ON
> +#define DEFAULT_DETECT_PRIO DETECT_PRIO_ON
>  #define DEFAULT_DEFERRED_REMOVE DEFERRED_REMOVE_OFF
>  #define DEFAULT_DELAY_CHECKS DELAY_CHECKS_OFF
>  #define DEFAULT_UEVENT_STACKSIZE 256
> diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
> index aaaa01b..20a2304 100644
> --- a/multipath/multipath.conf.5
> +++ b/multipath/multipath.conf.5
> @@ -295,7 +295,7 @@ Check the path state for LSI/Engenio/NetApp E-Series RDAC storage controller.
>  .B directio
>  Read the first sector with direct I/O.
>  .TP
> -Default value is \fIdirectio\fR.
> +Default value is \fItur\fR.
>  .RE
>  .TP
>  .B failback
> @@ -463,7 +463,7 @@ are supported, or the
>  prioritizer if not. If set to
>  .I no
>  , the prioritizer will be selected as usual. Default is
> -.I no
> +.I yes
>  .TP
>  .B force_sync
>  If set to
> -- 
> 2.6.6
> 
> --
> dm-devel mailing list
> dm-devel@redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel

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

* Re: [PATCH] multipathd: update defaults
@ 2016-06-05 18:24 Xose Vazquez Perez
  0 siblings, 0 replies; 4+ messages in thread
From: Xose Vazquez Perez @ 2016-06-05 18:24 UTC (permalink / raw)
  To: Hannes Reinecke, Benjamin Marzinski, Sebastian Herbszt,
	Christophe Varoqui, device-mapper development
  Cc: matthias.rudolph, sramani, jim.lester, yacine, g.shyamsundar,
	sean.stewart, davidw, brking, bartb, egoggin

Hannes Reinecke wrote:

> For years I've been telling our customers to use the 'tur' checker
> as the current default 'directio' will cause spurious path failures
> under high load.

If directio is unreliable, it must be _fixed_ or *removed* .
And this text in multipath.conf.5 needs to be replaced:
"readsector0 (Deprecated) Read the first sector of the device.
This checker is being deprecated, please use directio instead"

There are 11 devices with path_checker=directio as default option,
what to do with them ?

> And for several versions (years, even) the linux kernel has the ability
> to correctly detect the device handler, so we should be making
> 'retain_hw_handler' the default.
> And if we do this we also want to enable 'detect_prio', to ensure
> we pick the correct prioritizer.

I do really like both features, it makes the multipath setup almost
a completely unattended task. And neat for live_cd, installers of
distributions, rescue environments and anywhere with a ro /etc.

There are a handful of devices with prio=alua as default option,
and they should be revoked to their "original" configuration.

> So this patch updates the default setting to always enable
> 'retain_hw_handler' and 'detect_prio' and switch to 'tur'
> as the default path checker.

The patch should be split in two: directio->tur and autodetect_alua.

CCed: All controllers maintainers, let's see what they think.

> Signed-off-by: Hannes Reinecke <hare@suse.de>
> ---
>  libmultipath/checkers.h    | 2 +-
>  libmultipath/defaults.h    | 4 ++--
>  multipath/multipath.conf.5 | 4 ++--
>  3 files changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/libmultipath/checkers.h b/libmultipath/checkers.h
> index a935b3f..374c826 100644
> --- a/libmultipath/checkers.h
> +++ b/libmultipath/checkers.h
> @@ -85,7 +85,7 @@ enum path_check_state {
>  #define READSECTOR0  "readsector0"
>  #define CCISS_TUR    "cciss_tur"
>  
> -#define DEFAULT_CHECKER DIRECTIO
> +#define DEFAULT_CHECKER TUR
>  
>  #define ASYNC_TIMEOUT_SEC	30
>  
> diff --git a/libmultipath/defaults.h b/libmultipath/defaults.h
> index 96f5a2c..4948271 100644
> --- a/libmultipath/defaults.h
> +++ b/libmultipath/defaults.h
> @@ -16,8 +16,8 @@
>  #define DEFAULT_FIND_MULTIPATHS	0
>  #define DEFAULT_FAST_IO_FAIL	5
>  #define DEFAULT_DEV_LOSS_TMO   600
> -#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_OFF
> -#define DEFAULT_DETECT_PRIO DETECT_PRIO_OFF
> +#define DEFAULT_RETAIN_HWHANDLER RETAIN_HWHANDLER_ON
> +#define DEFAULT_DETECT_PRIO DETECT_PRIO_ON
>  #define DEFAULT_DEFERRED_REMOVE DEFERRED_REMOVE_OFF
>  #define DEFAULT_DELAY_CHECKS DELAY_CHECKS_OFF
>  #define DEFAULT_UEVENT_STACKSIZE 256
> diff --git a/multipath/multipath.conf.5 b/multipath/multipath.conf.5
> index aaaa01b..20a2304 100644
> --- a/multipath/multipath.conf.5
> +++ b/multipath/multipath.conf.5
> @@ -295,7 +295,7 @@ Check the path state for LSI/Engenio/NetApp E-Series RDAC storage controller.
>  .B directio
>  Read the first sector with direct I/O.
>  .TP
> -Default value is \fIdirectio\fR.
> +Default value is \fItur\fR.
>  .RE
>  .TP
>  .B failback
> @@ -463,7 +463,7 @@ are supported, or the
>  prioritizer if not. If set to
>  .I no
>  , the prioritizer will be selected as usual. Default is
> -.I no
> +.I yes
>  .TP
>  .B force_sync
>  If set to
> -- 
> 2.6.6

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

end of thread, other threads:[~2016-06-07 20:48 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-03  7:14 [PATCH] multipathd: update defaults Hannes Reinecke
2016-06-03  7:27 ` Christophe Varoqui
2016-06-07 20:48 ` Benjamin Marzinski
2016-06-05 18:24 Xose Vazquez Perez

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.