Imported Upstream version 0.8.9
[platform/upstream/multipath-tools.git] / libmultipath / hwtable.c
index d1fcfdb..bd15710 100644 (file)
@@ -107,7 +107,7 @@ static struct hwentry default_hw[] = {
         * HPE
         */
        {
-               /* 3PAR / Primera */
+               /* 3PAR / Primera / Alletra 9000 */
                .vendor        = "3PARdata",
                .product       = "VV",
                .pgpolicy      = GROUP_BY_PRIO,
@@ -181,9 +181,9 @@ static struct hwentry default_hw[] = {
                .prio_name     = PRIO_ALUA,
        },
        {
-               /* MSA 1040, 1050, 2040 and 2050 families */
+               /* MSA 1040, 1050, 1060, 2040, 2050 and 2060 families */
                .vendor        = "HP",
-               .product       = "MSA [12]0[45]0 SA[NS]",
+               .product       = "MSA [12]0[456]0 SA[NS]",
                .pgpolicy      = GROUP_BY_PRIO,
                .pgfailback    = -FAILBACK_IMMEDIATE,
                .no_path_retry = 18,
@@ -225,7 +225,7 @@ static struct hwentry default_hw[] = {
                .prio_name     = PRIO_ALUA,
        },
        {
-               /* Nimble Storage */
+               /* Nimble Storage / HPE Alletra 6000 */
                .vendor        = "Nimble",
                .product       = "Server",
                .hwhandler     = "1 alua",
@@ -359,14 +359,11 @@ static struct hwentry default_hw[] = {
                .pgpolicy      = MULTIBUS,
        },
        {
-               /*
-                * SC Series, formerly Compellent
-                *
-                * Maintainer: Sean McGinnis <sean_mcginnis@dell.com>
-                */
+               /* SC Series, formerly Compellent */
                .vendor        = "COMPELNT",
                .product       = "Compellent Vol",
-               .pgpolicy      = MULTIBUS,
+               .pgpolicy      = GROUP_BY_PRIO,
+               .pgfailback    = -FAILBACK_IMMEDIATE,
                .no_path_retry = NO_PATH_RETRY_QUEUE,
        },
        {
@@ -388,6 +385,26 @@ static struct hwentry default_hw[] = {
                .product       = "^EMC PowerMax_",
                .pgpolicy      = MULTIBUS,
        },
+       {
+               /* PowerStore */
+               .vendor        = "DellEMC",
+               .product       = "PowerStore",
+               .pgpolicy      = GROUP_BY_PRIO,
+               .prio_name     = PRIO_ALUA,
+               .hwhandler     = "1 alua",
+               .pgfailback    = -FAILBACK_IMMEDIATE,
+               .no_path_retry = 3,
+               .fast_io_fail  = 15,
+       },
+       {
+               /* PowerVault ME4 */
+               .vendor        = "DellEMC",
+               .product       = "ME4",
+               .pgpolicy      = GROUP_BY_PRIO,
+               .prio_name     = PRIO_ALUA,
+               .hwhandler     = "1 alua",
+               .pgfailback    = -FAILBACK_IMMEDIATE,
+       },
        /*
         * Fujitsu
         */
@@ -428,6 +445,22 @@ static struct hwentry default_hw[] = {
                .pgpolicy      = MULTIBUS,
                .no_path_retry = 10,
        },
+       {
+               /*
+                * ETERNUS AB/HB
+                * Maintainer: NetApp RDAC team <ng-eseries-upstream-maintainers@netapp.com>
+                */
+               .vendor        = "FUJITSU",
+               .product       = "ETERNUS_AHB",
+               .bl_product    = "Universal Xport",
+               .pgpolicy      = GROUP_BY_PRIO,
+               .checker_name  = RDAC,
+               .features      = "2 pg_init_retries 50",
+               .hwhandler     = "1 rdac",
+               .prio_name     = PRIO_RDAC,
+               .pgfailback    = -FAILBACK_IMMEDIATE,
+               .no_path_retry = 30,
+       },
        /*
         * Hitachi Vantara
         *
@@ -456,8 +489,6 @@ static struct hwentry default_hw[] = {
        },
        /*
         * IBM
-        *
-        * Maintainer: Hannes Reinecke <hare@suse.de>
         */
        {
                /* ProFibre 4000R */
@@ -629,10 +660,12 @@ static struct hwentry default_hw[] = {
                .vendor        = "IBM",
                .product       = "^2107900",
                .no_path_retry = NO_PATH_RETRY_QUEUE,
-               .pgpolicy      = MULTIBUS,
+               .pgpolicy      = GROUP_BY_PRIO,
+               .pgfailback    = -FAILBACK_IMMEDIATE,
        },
        {
-               /* Storwize family / SAN Volume Controller / Flex System V7000 / FlashSystem V840/V9000/9100 */
+               // Storwize V5000 and V7000 lines / SAN Volume Controller (SVC) / Flex System V7000 /
+               // FlashSystem V840/V9000/5000/5100/5200/7200/9100/9200/9200R
                .vendor        = "IBM",
                .product       = "^2145",
                .no_path_retry = NO_PATH_RETRY_QUEUE,
@@ -684,7 +717,8 @@ static struct hwentry default_hw[] = {
                .vendor        = "(XIV|IBM)",
                .product       = "(NEXTRA|2810XIV)",
                .no_path_retry = NO_PATH_RETRY_QUEUE,
-               .pgpolicy      = MULTIBUS,
+               .pgpolicy      = GROUP_BY_PRIO,
+               .pgfailback    = 15,
        },
        {
                /* TMS RamSan / FlashSystem 710/720/810/820/840/900 */
@@ -729,26 +763,26 @@ static struct hwentry default_hw[] = {
                .no_path_retry = (300 / DEFAULT_CHECKINT),
                .prio_name     = PRIO_ALUA,
        },
-        /*
-         * Lenovo
-         */
-        {
-                /*
+       /*
+        * Lenovo
+        */
+       {
+               /*
                 * DE Series
                 *
                 * Maintainer: NetApp RDAC team <ng-eseries-upstream-maintainers@netapp.com>
                 */
-                .vendor        = "LENOVO",
-                .product       = "DE_Series",
-                .bl_product    = "Universal Xport",
-                .pgpolicy      = GROUP_BY_PRIO,
-                .checker_name  = RDAC,
-                .features      = "2 pg_init_retries 50",
-                .hwhandler     = "1 rdac",
-                .prio_name     = PRIO_RDAC,
-                .pgfailback    = -FAILBACK_IMMEDIATE,
-                .no_path_retry = 30,
-        },
+               .vendor        = "LENOVO",
+               .product       = "DE_Series",
+               .bl_product    = "Universal Xport",
+               .pgpolicy      = GROUP_BY_PRIO,
+               .checker_name  = RDAC,
+               .features      = "2 pg_init_retries 50",
+               .hwhandler     = "1 rdac",
+               .prio_name     = PRIO_RDAC,
+               .pgfailback    = -FAILBACK_IMMEDIATE,
+               .no_path_retry = 30,
+       },
        /*
         * NetApp
         */
@@ -803,7 +837,7 @@ static struct hwentry default_hw[] = {
                 *
                 * The hwtable is searched backwards, so place this after "Generic NVMe"
                 */
-               .vendor        = "NVME",
+               .vendor        = "NVME",
                .product       = "^NetApp ONTAP Controller",
                .pgpolicy      = MULTIBUS,
                .no_path_retry = NO_PATH_RETRY_QUEUE,
@@ -1005,7 +1039,7 @@ static struct hwentry default_hw[] = {
        {
                /* Linux-IO Target */
                .vendor        = "(LIO-ORG|SUSE)",
-               .product       = "RBD",
+               .product       = ".",
                .hwhandler     = "1 alua",
                .pgpolicy      = GROUP_BY_PRIO,
                .pgfailback    = -FAILBACK_IMMEDIATE,
@@ -1051,11 +1085,14 @@ static struct hwentry default_hw[] = {
         * Huawei
         */
        {
-               /* OceanStor V3 */
+               /* OceanStor V3-V6 */
+               // This config works with multibus and ALUA
+               // ALUA is required by HyperMetro
                .vendor        = "HUAWEI",
                .product       = "XSG1",
                .pgpolicy      = GROUP_BY_PRIO,
-               .prio_name     = PRIO_ALUA,
+               .pgfailback    = -FAILBACK_IMMEDIATE,
+               .no_path_retry = 15,
        },
        /*
         * Kove
@@ -1097,8 +1134,9 @@ static struct hwentry default_hw[] = {
                .pgpolicy      = MULTIBUS,
        },
        /*
-        * Imation/Nexsan
+        * StorCentric
         */
+               /* Nexsan */
        {
                /* E-Series */
                .vendor        = "NEXSAN",
@@ -1127,9 +1165,7 @@ static struct hwentry default_hw[] = {
                .prio_name     = PRIO_ALUA,
                .no_path_retry = 30,
        },
-       /*
-        * Violin Systems
-        */
+               /* Violin Systems */
        {
                /* 3000 / 6000 Series */
                .vendor        = "VIOLIN",
@@ -1176,6 +1212,14 @@ static struct hwentry default_hw[] = {
                .pgpolicy      = MULTIBUS,
                .no_path_retry = 30,
        },
+               /* Vexata */
+       {
+               /* VX */
+               .vendor        = "Vexata",
+               .product       = "VX",
+               .pgpolicy      = MULTIBUS,
+               .no_path_retry = 30,
+       },
        /*
         * Promise Technology
         */
@@ -1263,6 +1307,18 @@ static struct hwentry default_hw[] = {
                .prio_name     = PRIO_ALUA,
        },
        /*
+        * MacroSAN Technologies
+        */
+       {
+               /* MS family */
+               .vendor        = "MacroSAN",
+               .product       = "LU",
+               .pgpolicy      = GROUP_BY_PRIO,
+               .pgfailback    = -FAILBACK_IMMEDIATE,
+               .prio_name     = PRIO_ALUA,
+               .no_path_retry = 30,
+       },
+       /*
         * EOL
         */
        {