Re: [PATCH RFC] multipath-tools: *untested* use sysfs prio also for arrays with dual implicit/explicit alua support

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

 



An RDAC array configured to run with Linux DM-MP should never report that it supports implicit and explicit ALUA support. If the array is configured to run with scsi_dh_rdac then it reports TPGS=0 (none) and should use rdac prio. The more modern configuration is to report TPGS=01b (implicit) and use scsi_dh_alua and alua prio.

Thanks,
Steve

> From: Martin Wilck <mwilck@xxxxxxxx>
> Sent: Wednesday, August 5, 2020 4:13 PM
> To: Xose Vazquez Perez <xose.vazquez@xxxxxxxxx>; Benjamin Marzinski <bmarzins@xxxxxxxxxx>; Hannes Reinecke <hare@xxxxxxx>;
> DM-DEVEL ML <dm-devel@xxxxxxxxxx>
> Cc: Schremmer, Steven <Steve.Schremmer@xxxxxxxxxx>
> Subject: Re: [PATCH RFC] multipath-tools: *untested* use sysfs prio also for arrays with dual implicit/explicit alua support
> 
> Hi Xose,
> 
> do you have a specific use case where this helps / changes matters?
> 
> The idea of the current code is to use PRIO_SYSFS always, except for
> RDAC arrays with implicit ALUA, where periodic RTPGs are necessary (see
> 7e2f46d). This patch would change matters only for RDAC arrays which
> advertise both explicit and implicit ALUA support.
> 
> Maybe Steven can clarify if such RDAC arrays exist, and whether we
> should use PRIO_SYSFS or PRIO_ALUA for them.
> 
> Martin
> 
> 
> On Sat, 2020-07-25 at 00:34 +0200, Xose Vazquez Perez wrote:
> > Cc: Martin Wilck <mwilck@xxxxxxxx>
> > Cc: Benjamin Marzinski <bmarzins@xxxxxxxxxx>
> > Cc: Hannes Reinecke <hare@xxxxxxx>
> > Cc: DM-DEVEL ML <dm-devel@xxxxxxxxxx>
> > Signed-off-by: Xose Vazquez Perez <xose.vazquez@xxxxxxxxx>
> > ---
> > diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c
> > index 897e48ca..5a82234f 100644
> > --- a/libmultipath/propsel.c
> > +++ b/libmultipath/propsel.c
> > @@ -595,7 +595,7 @@ detect_prio(struct config *conf, struct path *
> > pp)
> >               tpgs = path_get_tpgs(pp);
> >               if (tpgs == TPGS_NONE)
> >                       return;
> > -             if ((tpgs == TPGS_EXPLICIT || !check_rdac(pp)) &&
> > +             if ((tpgs == TPGS_EXPLICIT || tpgs == TPGS_BOTH ||
> > !check_rdac(pp)) &&
> >                   sysfs_get_asymmetric_access_state(pp, buff, 512) >=
> > 0)
> >                       default_prio = PRIO_SYSFS;
> >               else
> >
> > In short:
> >
> > diff --git a/libmultipath/propsel.c b/libmultipath/propsel.c
> > index 897e48ca..a9609a01 100644
> > --- a/libmultipath/propsel.c
> > +++ b/libmultipath/propsel.c
> > @@ -595,7 +595,7 @@ detect_prio(struct config *conf, struct path *
> > pp)
> >               tpgs = path_get_tpgs(pp);
> >               if (tpgs == TPGS_NONE)
> >                       return;
> > -             if ((tpgs == TPGS_EXPLICIT || !check_rdac(pp)) &&
> > +             if ((tpgs != TPGS_IMPLICIT || !check_rdac(pp)) &&
> >                   sysfs_get_asymmetric_access_state(pp, buff, 512) >=
> > 0)
> >                       default_prio = PRIO_SYSFS;
> >               else
> >
> 


--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.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