From mboxrd@z Thu Jan 1 00:00:00 1970 From: Martin Wilck Subject: Re: [PATCH RFC] multipath-tools: *untested* use sysfs prio also for arrays with dual implicit/explicit alua support Date: Wed, 05 Aug 2020 23:12:49 +0200 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: dm-devel-bounces@redhat.com Errors-To: dm-devel-bounces@redhat.com To: Xose Vazquez Perez , Benjamin Marzinski , Hannes Reinecke , DM-DEVEL ML Cc: "Schremmer, Steven" List-Id: dm-devel.ids 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 > Cc: Benjamin Marzinski > Cc: Hannes Reinecke > Cc: DM-DEVEL ML > Signed-off-by: Xose Vazquez Perez > --- > 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 >