On Thu, Feb 2, 2017 at 10:53 PM, Benjamin Marzinski <bmarzins@redhat.com> wrote:

> > I'm trying to mitigate inserting a timeout for my SAN devices but I'm not
> > sure of its effectiveness as CentOS 7 behavior  of "multipathd -k" and then
> > "show config" seems different from CentOS 6.x
> > In fact my attempt for multipath.conf is this

There was a significant change in how multipath deals with merging
device configurations between RHEL6 and RHEL7.  The short answer is, as
long as you copy the entire existing configuration, and just change what
you want changed (like you did), you can ignore the change.  Also,
multipath doesn't care if you quote numbers.

If you want to verify that no_path_retry is being set as intented, you
can run:

# multipath -r -v3 | grep no_path_retry

Hi Benjamin,
thank you very much for the explanations, especially the long one ;-)
I tried and confirmed that I has no_path_retry = 4 as expected

The regex matching is only for merge, correct?
So in your example if in RH EL 7 I put this

        device {
                vendor "IBM"
                product "^1814"
                no_path_retry 12
        }

It would not match for merging, but it would match for applying to my device (because it is put at the end of config read backwards).
And it would apply only the no_path_retry setting, while all other ones would not be picked from builtin configuration for device, but from defaults in general.
So for example it would set path_checker not this way:
path_checker "rdac"

but this way:
path_checker "directio"
that is default..

correct?