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