libmultipath: select ALUA prioritizer for RDAC arrays only
authorMartin Wilck <mwilck@suse.com>
Sat, 13 Jan 2018 21:19:26 +0000 (22:19 +0100)
committerChristophe Varoqui <christophe.varoqui@opensvc.com>
Wed, 7 Mar 2018 08:28:03 +0000 (09:28 +0100)
Since commit 7e2f46d3, multipathd with "detect_prio" setting (=default)
chooses ALUA prioritizer rather than sysfs prioritizer for arrays with
implicit TPGS. But the intention of that patch was to choose ALUA for
NetApp E-Series (RDAC) storage arrays *only*, not for every array
with implicit TPGS.

libmultipath/propsel.c

index 4db0913..58a6a42 100644 (file)
@@ -497,7 +497,7 @@ detect_prio(struct config *conf, struct path * pp)
 
        if (pp->tpgs <= 0)
                return;
 
        if (pp->tpgs <= 0)
                return;
-       if (pp->tpgs == 2 && !check_rdac(pp)) {
+       if (pp->tpgs == 2 || !check_rdac(pp)) {
                if (sysfs_get_asymmetric_access_state(pp, buff, 512) >= 0)
                        default_prio = PRIO_SYSFS;
        }
                if (sysfs_get_asymmetric_access_state(pp, buff, 512) >= 0)
                        default_prio = PRIO_SYSFS;
        }