Re: [PATCH 1/2] libmultipath: hwtable: new defaults for NVMe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2022-06-07 at 17:31 -0500, Benjamin Marzinski wrote:
> On Wed, Jun 01, 2022 at 10:26:27PM +0200, mwilck@xxxxxxxx wrote:
> > From: Martin Wilck <mwilck@xxxxxxxx>
> > 
> > So far we were using the general defaults (pgpolicy = FAILOVER,
> > pgfailback = -FAILBACK_MANUAL). Xosé's late patches were setting
> > this to
> > either MULTIBUS or ANA, and -FAILBACK_IMMEDIATE, respectively
> > for most specific arrays. At the same time, some vendors don't like
> > seeing their NVMe arrays listed specifically in the multipath-tools
> > hwtable.
> > 
> > IMO it makes sense to change the general defaults.
> > 
> > detect_prio is the default, and we probe for ANA support. Thus prio
> > will be "ana" for arrays that support it, and "const" otherwise.
> > With "const", GROUP_BY_PRIO degenerates to MULTIBUS, and pgfailback
> > won't happen anyway. This way, our defaults match most Xosé's new
> > entries. The
> > only devices for which this patch changes behavior (from FAILOVER
> > to MULTIBUS)
> > are those generic devices that aren't listed, and don't support
> > ANA.
> > 
> > I considered changing the default for no_path_retry, too, but
> > decided against
> > it. The default is "fail", and users who dislike that will need to
> > change it.
> > no_path_retry is more a policy setting than a hardware property,
> > anyway.
> 
> I agree that these new defaults are sensible, but this patch will
> cause
> some user's arrays to change configuration when they update.  I'm not
> against doing this at all, but this is one of those patches that
> distributions need to take some care with, so that they can make this
> change at a sensible time.
> 
> So, unless there are other objections, I'm O.k. with this patch set,
> I
> just wanted to point this out.

Understood. I believe everyone understands that Linux distributions
may, and will, sometimes use device defaults that are different from
upstream, especially in cases where backward compatibility matters more
than anything else.

The main motivation behind this patch was to avoid mentioning certain
NVMe devices explicitly in the _upstream_ hwtable. Simplification, and
a slight improvement of the actual defaults, is a side effect.

If you don't mind, I'd appreciated a Reviewed-by ;-)

Martin


> 
> -Ben
> 
> > ---
> >  libmultipath/hwtable.c | 3 ++-
> >  1 file changed, 2 insertions(+), 1 deletion(-)
> > 
> > diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c
> > index 39daadc..e0dce84 100644
> > --- a/libmultipath/hwtable.c
> > +++ b/libmultipath/hwtable.c
> > @@ -90,7 +90,8 @@ static struct hwentry default_hw[] = {
> >                 .product       = ".*",
> >                 .uid_attribute = DEFAULT_NVME_UID_ATTRIBUTE,
> >                 .checker_name  = NONE,
> > -               .retain_hwhandler = RETAIN_HWHANDLER_OFF,
> > +               .pgpolicy      = GROUP_BY_PRIO,
> > +               .pgfailback    = -FAILBACK_IMMEDIATE,
> >         },
> >         /*
> >          * Apple
> > -- 
> > 2.36.1
> 

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://listman.redhat.com/mailman/listinfo/dm-devel





[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux