<div dir="ltr">The "change default failback from manual to immediate" patch is reverted, as requested by Hannes.<div><br></div><div>I rebased and merged your patches 1 to 4 of this set.</div><div><br></div><div>Can you rebase this 5-5 patch and resubmit ?</div><div><br></div><div>Thanks.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Jul 23, 2016 at 2:29 AM, Xose Vazquez Perez <span dir="ltr"><<a href="mailto:xose.vazquez@gmail.com" target="_blank">xose.vazquez@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Mainly: arrange some families, clean redundant labels, detail IBM devices,<br>
add remaining attributes to last member(NULL) and add missing vendor labels.<br>
<br>
Cc: Christophe Varoqui <<a href="mailto:christophe.varoqui@opensvc.com">christophe.varoqui@opensvc.com</a>><br>
Cc: device-mapper development <<a href="mailto:dm-devel@redhat.com">dm-devel@redhat.com</a>><br>
Signed-off-by: Xose Vazquez Perez <<a href="mailto:xose.vazquez@gmail.com">xose.vazquez@gmail.com</a>><br>
---<br>
libmultipath/hwtable.c | 299 +++++++++++++++++++++++++++----------------------<br>
1 file changed, 162 insertions(+), 137 deletions(-)<br>
<br>
diff --git a/libmultipath/hwtable.c b/libmultipath/hwtable.c<br>
index 44fc309..1efaeee 100644<br>
--- a/libmultipath/hwtable.c<br>
+++ b/libmultipath/hwtable.c<br>
@@ -25,15 +25,6 @@<br>
*/<br>
static struct hwentry default_hw[] = {<br>
/*<br>
- * Compellent Technologies/DELL<br>
- */<br>
- {<br>
- .vendor = "COMPELNT",<br>
- .product = "Compellent Vol",<br>
- .pgpolicy = MULTIBUS,<br>
- .no_path_retry = NO_PATH_RETRY_QUEUE,<br>
- },<br>
- /*<br>
* Apple<br>
*<br>
* Maintainer : Shyam Sundar<br>
@@ -46,7 +37,7 @@ static struct hwentry default_hw[] = {<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
/*<br>
- * StorageWorks/HPE<br>
+ * HPE<br>
*/<br>
{<br>
.vendor = "3PARdata",<br>
@@ -99,7 +90,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
{<br>
- /* HP MSA2000 family with old firmware */<br>
+ /* MSA2000 family with old firmware */<br>
.vendor = "HP",<br>
.product = "(MSA2[02]12fc|MSA2012i)",<br>
.pgpolicy = MULTIBUS,<br>
@@ -107,7 +98,7 @@ static struct hwentry default_hw[] = {<br>
.minio = 100,<br>
},<br>
{<br>
- /* HP MSA2000 family with new firmware */<br>
+ /* MSA2000 family with new firmware */<br>
.vendor = "HP",<br>
.product = "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)",<br>
.no_path_retry = 18,<br>
@@ -115,7 +106,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
{<br>
- /* HP MSA 1040/2040 family */<br>
+ /* MSA 1040/2040 family */<br>
.vendor = "HP",<br>
.product = "MSA (1|2)040 SA(N|S)",<br>
.no_path_retry = 18,<br>
@@ -123,7 +114,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
{<br>
- /* HP SVSP */<br>
+ /* SVSP */<br>
.vendor = "HP",<br>
.product = "HSVX700",<br>
.hwhandler = "1 alua",<br>
@@ -132,7 +123,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
{<br>
- /* HP Smart Array */<br>
+ /* Smart Array */<br>
.vendor = "HP",<br>
.product = "LOGICAL VOLUME.*",<br>
.pgpolicy = MULTIBUS,<br>
@@ -140,7 +131,7 @@ static struct hwentry default_hw[] = {<br>
.no_path_retry = 12,<br>
},<br>
{<br>
- /* HP P2000 family */<br>
+ /* P2000 family */<br>
.vendor = "HP",<br>
.product = "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)",<br>
.no_path_retry = 18,<br>
@@ -148,7 +139,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
/*<br>
- * DDN<br>
+ * DataDirect Networks<br>
*/<br>
{<br>
.vendor = "DDN",<br>
@@ -196,6 +187,49 @@ static struct hwentry default_hw[] = {<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
/*<br>
+ * DELL<br>
+ */<br>
+ {<br>
+ /* Compellent family */<br>
+ .vendor = "COMPELNT",<br>
+ .product = "Compellent Vol",<br>
+ .pgpolicy = MULTIBUS,<br>
+ .no_path_retry = NO_PATH_RETRY_QUEUE,<br>
+ },<br>
+ {<br>
+ /* MD3000 */<br>
+ .vendor = "DELL",<br>
+ .product = "MD3000",<br>
+ .bl_product = "Universal Xport",<br>
+ .features = "2 pg_init_retries 50",<br>
+ .hwhandler = "1 rdac",<br>
+ .no_path_retry = 15,<br>
+ .checker_name = RDAC,<br>
+ .prio_name = PRIO_RDAC,<br>
+ },<br>
+ {<br>
+ /* MD32xx/MD36xx */<br>
+ .vendor = "DELL",<br>
+ .product = "(MD32xx|MD36xx)",<br>
+ .bl_product = "Universal Xport",<br>
+ .features = "2 pg_init_retries 50",<br>
+ .hwhandler = "1 rdac",<br>
+ .no_path_retry = 15,<br>
+ .checker_name = RDAC,<br>
+ .prio_name = PRIO_RDAC,<br>
+ },<br>
+ {<br>
+ /* MD34xx/MD38xx */<br>
+ .vendor = "DELL",<br>
+ .product = "(MD34xx|MD38xx)",<br>
+ .bl_product = "Universal Xport",<br>
+ .features = "2 pg_init_retries 50",<br>
+ .hwhandler = "1 rdac",<br>
+ .no_path_retry = 15,<br>
+ .checker_name = RDAC,<br>
+ .prio_name = PRIO_RDAC,<br>
+ },<br>
+ /*<br>
* Fujitsu<br>
*/<br>
{<br>
@@ -211,6 +245,12 @@ static struct hwentry default_hw[] = {<br>
.no_path_retry = 10,<br>
.prio_name = PRIO_ALUA,<br>
},<br>
+ /* FibreCAT S80 */<br>
+ {<br>
+ .vendor = "EUROLOGC",<br>
+ .product = "FC2502",<br>
+ .pgfailback = FAILBACK_UNDEF,<br>
+ },<br>
/*<br>
* Hitachi<br>
*<br>
@@ -242,7 +282,7 @@ static struct hwentry default_hw[] = {<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
{<br>
- /* IBM FAStT 1722-600 */<br>
+ /* DS4300 / FAStT600 */<br>
.vendor = "IBM",<br>
.product = "^1722-600",<br>
.bl_product = "Universal Xport",<br>
@@ -253,7 +293,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- /* IBM DS4100 */<br>
+ /* DS4100 / FAStT100 */<br>
.vendor = "IBM",<br>
.product = "^1724",<br>
.bl_product = "Universal Xport",<br>
@@ -264,7 +304,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- /* IBM DS3200 / DS3300 / DS3400 */<br>
+ /* DS3200 / DS3300 / DS3400 / Boot DS */<br>
.vendor = "IBM",<br>
.product = "^1726",<br>
.bl_product = "Universal Xport",<br>
@@ -275,7 +315,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- /* IBM DS4400 / DS4500 / FAStT700 */<br>
+ /* DS4400 / DS4500 / FAStT700 / FAStT900 */<br>
.vendor = "IBM",<br>
.product = "^1742",<br>
.bl_product = "Universal Xport",<br>
@@ -285,6 +325,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
+ /* DS3500 / DS3512 / DS3524 */<br>
.vendor = "IBM",<br>
.product = "^(1745|1746)",<br>
.bl_product = "Universal Xport",<br>
@@ -295,7 +336,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- /* IBM DS4700 */<br>
+ /* DS3950 / DS4200 / DS4700 / DS5020 */<br>
.vendor = "IBM",<br>
.product = "^1814",<br>
.bl_product = "Universal Xport",<br>
@@ -305,7 +346,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- /* IBM DS4800 */<br>
+ /* DS4800 */<br>
.vendor = "IBM",<br>
.product = "^1815",<br>
.bl_product = "Universal Xport",<br>
@@ -315,7 +356,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- /* IBM DS5000 */<br>
+ /* DS5000 / DS5100 / DS5300 / DCS3700 */<br>
.vendor = "IBM",<br>
.product = "^1818",<br>
.bl_product = "Universal Xport",<br>
@@ -325,7 +366,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- /* IBM Netfinity Fibre Channel RAID Controller Unit */<br>
+ /* Netfinity Fibre Channel RAID Controller Unit */<br>
.vendor = "IBM",<br>
.product = "^3526",<br>
.bl_product = "Universal Xport",<br>
@@ -335,14 +376,14 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- /* IBM DS4200 / FAStT200 */<br>
+ /* DS4200 / FAStT200 */<br>
.vendor = "IBM",<br>
.product = "^3542",<br>
.pgpolicy = GROUP_BY_SERIAL,<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
{<br>
- /* IBM ESS F20 aka Shark */<br>
+ /* Enterprise Storage Server / Shark 800 */<br>
.vendor = "IBM",<br>
.product = "^2105800",<br>
.features = "1 queue_if_no_path",<br>
@@ -350,7 +391,7 @@ static struct hwentry default_hw[] = {<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
{<br>
- /* IBM ESS F20 aka Shark */<br>
+ /* Enterprise Storage Server / Shark F20 */<br>
.vendor = "IBM",<br>
.product = "^2105F20",<br>
.features = "1 queue_if_no_path",<br>
@@ -358,14 +399,14 @@ static struct hwentry default_hw[] = {<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
{<br>
- /* IBM DS6000 */<br>
+ /* DS6000 */<br>
.vendor = "IBM",<br>
.product = "^1750500",<br>
.features = "1 queue_if_no_path",<br>
.prio_name = PRIO_ALUA,<br>
},<br>
{<br>
- /* IBM DS8000 */<br>
+ /* DS8000 */<br>
.vendor = "IBM",<br>
.product = "^2107900",<br>
.features = "1 queue_if_no_path",<br>
@@ -373,14 +414,14 @@ static struct hwentry default_hw[] = {<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
{<br>
- /* IBM SAN Volume Controller */<br>
+ /* SAN Volume Controller / Storwize */<br>
.vendor = "IBM",<br>
.product = "^2145",<br>
.features = "1 queue_if_no_path",<br>
.prio_name = PRIO_ALUA,<br>
},<br>
{<br>
- /* IBM S/390 ECKD DASD */<br>
+ /* S/390 ECKD DASD */<br>
.vendor = "IBM",<br>
.product = "S/390 DASD ECKD",<br>
.bl_product = "S/390.*",<br>
@@ -390,7 +431,7 @@ static struct hwentry default_hw[] = {<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
{<br>
- /* IBM S/390 FBA DASD */<br>
+ /* S/390 FBA DASD */<br>
.vendor = "IBM",<br>
.product = "S/390 DASD FBA",<br>
.bl_product = "S/390.*",<br>
@@ -400,7 +441,7 @@ static struct hwentry default_hw[] = {<br>
.pgfailback = FAILBACK_UNDEF,<br>
},<br>
{<br>
- /* IBM IPR */<br>
+ /* Power RAID (IPR) */<br>
.vendor = "IBM",<br>
.product = "^IPR.*",<br>
.features = "1 queue_if_no_path",<br>
@@ -408,7 +449,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
{<br>
- /* IBM RSSM */<br>
+ /* SAS RAID Controller Module (RSSM) */<br>
.vendor = "IBM",<br>
.product = "1820N00",<br>
.no_path_retry = NO_PATH_RETRY_QUEUE,<br>
@@ -416,7 +457,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
{<br>
- /* IBM XIV Storage System */<br>
+ /* XIV Storage System */<br>
.vendor = "IBM",<br>
.product = "2810XIV",<br>
.features = "1 queue_if_no_path",<br>
@@ -438,7 +479,7 @@ static struct hwentry default_hw[] = {<br>
.no_path_retry = (300 / DEFAULT_CHECKINT),<br>
},<br>
{<br>
- /* IBM 3303 NVDISK */<br>
+ /* 3303 NVDISK */<br>
.vendor = "IBM",<br>
.product = "3303 NVDISK",<br>
.no_path_retry = (300 / DEFAULT_CHECKINT),<br>
@@ -453,43 +494,7 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
/*<br>
- * DELL<br>
- */<br>
- {<br>
- /* DELL MD3000 */<br>
- .vendor = "DELL",<br>
- .product = "MD3000",<br>
- .bl_product = "Universal Xport",<br>
- .features = "2 pg_init_retries 50",<br>
- .hwhandler = "1 rdac",<br>
- .no_path_retry = 15,<br>
- .checker_name = RDAC,<br>
- .prio_name = PRIO_RDAC,<br>
- },<br>
- {<br>
- /* DELL MD32xx/MD36xx */<br>
- .vendor = "DELL",<br>
- .product = "(MD32xx|MD36xx)",<br>
- .bl_product = "Universal Xport",<br>
- .features = "2 pg_init_retries 50",<br>
- .hwhandler = "1 rdac",<br>
- .no_path_retry = 15,<br>
- .checker_name = RDAC,<br>
- .prio_name = PRIO_RDAC,<br>
- },<br>
- {<br>
- /* DELL MD34xx/MD38xx */<br>
- .vendor = "DELL",<br>
- .product = "(MD34xx|MD38xx)",<br>
- .bl_product = "Universal Xport",<br>
- .features = "2 pg_init_retries 50",<br>
- .hwhandler = "1 rdac",<br>
- .no_path_retry = 15,<br>
- .checker_name = RDAC,<br>
- .prio_name = PRIO_RDAC,<br>
- },<br>
- /*<br>
- * NETAPP ONTAP family<br>
+ * NetApp ONTAP family<br>
*<br>
* Maintainer : Martin George<br>
* Mail : <a href="mailto:marting@netapp.com">marting@netapp.com</a><br>
@@ -511,8 +516,23 @@ static struct hwentry default_hw[] = {<br>
.minio = 128,<br>
.prio_name = PRIO_ONTAP,<br>
},<br>
+ /* LSI/Engenio/NetApp RDAC family<br>
+ *<br>
+ * Maintainer : Sean Stewart<br>
+ * Mail : <a href="mailto:sean.stewart@netapp.com">sean.stewart@netapp.com</a><br>
+ */<br>
+ {<br>
+ .vendor = "(NETAPP|LSI|ENGENIO)",<br>
+ .product = "INF-01-00",<br>
+ .bl_product = "Universal Xport",<br>
+ .features = "2 pg_init_retries 50",<br>
+ .hwhandler = "1 rdac",<br>
+ .no_path_retry = 30,<br>
+ .checker_name = RDAC,<br>
+ .prio_name = PRIO_RDAC,<br>
+ },<br>
/*<br>
- * NEXENTA<br>
+ * Nexenta<br>
*<br>
* Maintainer : Yacine Kheddache<br>
* Mail : <a href="mailto:yacine@alyseo.com">yacine@alyseo.com</a><br>
@@ -526,18 +546,6 @@ static struct hwentry default_hw[] = {<br>
.minio = 128,<br>
},<br>
/*<br>
- * Pillar Data/Oracle<br>
- *<br>
- * Maintainer : Srinivasan Ramani<br>
- * Mail : <a href="mailto:srinivas.ramani@oracle.com">srinivas.ramani@oracle.com</a><br>
- */<br>
- {<br>
- .vendor = "Pillar",<br>
- .product = "Axiom.*",<br>
- .pgfailback = FAILBACK_UNDEF,<br>
- .prio_name = PRIO_ALUA,<br>
- },<br>
- /*<br>
* SGI<br>
*/<br>
{<br>
@@ -576,9 +584,22 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_ALUA,<br>
},<br>
/*<br>
- * STK/Oracle<br>
+ * Oracle<br>
*/<br>
{<br>
+ /*<br>
+ * Pillar Data<br>
+ *<br>
+ * Maintainer : Srinivasan Ramani<br>
+ * Mail : <a href="mailto:srinivas.ramani@oracle.com">srinivas.ramani@oracle.com</a><br>
+ */<br>
+ .vendor = "Pillar",<br>
+ .product = "Axiom.*",<br>
+ .pgfailback = FAILBACK_UNDEF,<br>
+ .prio_name = PRIO_ALUA,<br>
+ },<br>
+ /* StorageTek */<br>
+ {<br>
.vendor = "STK",<br>
.product = "OPENstorage D280",<br>
.bl_product = "Universal Xport",<br>
@@ -586,9 +607,16 @@ static struct hwentry default_hw[] = {<br>
.checker_name = RDAC,<br>
.prio_name = PRIO_RDAC,<br>
},<br>
- /*<br>
- * SUN/Oracle<br>
- */<br>
+ {<br>
+ .vendor = "STK",<br>
+ .product = "FLEXLINE 380",<br>
+ .bl_product = "Universal Xport",<br>
+ .hwhandler = "1 rdac",<br>
+ .no_path_retry = NO_PATH_RETRY_QUEUE,<br>
+ .checker_name = RDAC,<br>
+ .prio_name = PRIO_RDAC,<br>
+ },<br>
+ /* SUN */<br>
{<br>
.vendor = "SUN",<br>
.product = "(StorEdge 3510|T4)",<br>
@@ -604,25 +632,6 @@ static struct hwentry default_hw[] = {<br>
.prio_name = PRIO_RDAC,<br>
},<br>
{<br>
- .vendor = "EUROLOGC",<br>
- .product = "FC2502",<br>
- .pgfailback = FAILBACK_UNDEF,<br>
- },<br>
- /*<br>
- * Pivot3<br>
- *<br>
- * Maintainer : Bart Brooks, Pivot3<br>
- * Mail : <a href="mailto:bartb@pivot3.com">bartb@pivot3.com</a><br>
- */<br>
- {<br>
- .vendor = "PIVOT3",<br>
- .product = "RAIGE VOLUME",<br>
- .features = "1 queue_if_no_path",<br>
- .pgpolicy = MULTIBUS,<br>
- .pgfailback = FAILBACK_UNDEF,<br>
- .minio = 100,<br>
- },<br>
- {<br>
.vendor = "SUN",<br>
.product = "CSM200_R",<br>
.bl_product = "Universal Xport",<br>
@@ -631,8 +640,8 @@ static struct hwentry default_hw[] = {<br>
.checker_name = RDAC,<br>
.prio_name = PRIO_RDAC,<br>
},<br>
- /* SUN/LSI 2510, 2540, 2530, 2540 */<br>
{<br>
+ /* 2510 / 2540 / 2530 / 2540 */<br>
.vendor = "SUN",<br>
.product = "LCSM100_[IEFS]",<br>
.bl_product = "Universal Xport",<br>
@@ -641,8 +650,8 @@ static struct hwentry default_hw[] = {<br>
.checker_name = RDAC,<br>
.prio_name = PRIO_RDAC,<br>
},<br>
- /* StorageTek 6180 */<br>
{<br>
+ /* StorageTek 6180 */<br>
.vendor = "SUN",<br>
.product = "SUN_6180",<br>
.bl_product = "Universal Xport",<br>
@@ -651,30 +660,23 @@ static struct hwentry default_hw[] = {<br>
.checker_name = RDAC,<br>
.prio_name = PRIO_RDAC,<br>
},<br>
- /* LSI/Engenio/NetApp RDAC<br>
+ /*<br>
+ * Pivot3<br>
*<br>
- * Maintainer : Sean Stewart<br>
- * Mail : <a href="mailto:sean.stewart@netapp.com">sean.stewart@netapp.com</a><br>
+ * Maintainer : Bart Brooks, Pivot3<br>
+ * Mail : <a href="mailto:bartb@pivot3.com">bartb@pivot3.com</a><br>
*/<br>
{<br>
- .vendor = "(NETAPP|LSI|ENGENIO)",<br>
- .product = "INF-01-00",<br>
- .bl_product = "Universal Xport",<br>
- .features = "2 pg_init_retries 50",<br>
- .hwhandler = "1 rdac",<br>
- .no_path_retry = 30,<br>
- .checker_name = RDAC,<br>
- .prio_name = PRIO_RDAC,<br>
- },<br>
- {<br>
- .vendor = "STK",<br>
- .product = "FLEXLINE 380",<br>
- .bl_product = "Universal Xport",<br>
- .hwhandler = "1 rdac",<br>
- .no_path_retry = NO_PATH_RETRY_QUEUE,<br>
- .checker_name = RDAC,<br>
- .prio_name = PRIO_RDAC,<br>
+ .vendor = "PIVOT3",<br>
+ .product = "RAIGE VOLUME",<br>
+ .features = "1 queue_if_no_path",<br>
+ .pgpolicy = MULTIBUS,<br>
+ .pgfailback = FAILBACK_UNDEF,<br>
+ .minio = 100,<br>
},<br>
+ /*<br>
+ * Intel<br>
+ */<br>
{<br>
.vendor = "Intel",<br>
.product = "Multi-Flex",<br>
@@ -682,6 +684,9 @@ static struct hwentry default_hw[] = {<br>
.no_path_retry = NO_PATH_RETRY_QUEUE,<br>
.prio_name = PRIO_ALUA,<br>
},<br>
+ /*<br>
+ * Linux-IO Target<br>
+ */<br>
{<br>
.vendor = "(LIO-ORG|SUSE)",<br>
.product = "RBD",<br>
@@ -690,6 +695,9 @@ static struct hwentry default_hw[] = {<br>
.minio = 100,<br>
.prio_name = PRIO_ALUA,<br>
},<br>
+ /*<br>
+ * DataCore<br>
+ */<br>
{<br>
.vendor = "DataCore",<br>
.product = "SANmelody",<br>
@@ -702,6 +710,9 @@ static struct hwentry default_hw[] = {<br>
.no_path_retry = NO_PATH_RETRY_QUEUE,<br>
.prio_name = PRIO_ALUA,<br>
},<br>
+ /*<br>
+ * Pure Storage<br>
+ */<br>
{<br>
.vendor = "PURE",<br>
.product = "FlashArray",<br>
@@ -710,6 +721,9 @@ static struct hwentry default_hw[] = {<br>
.fast_io_fail = 10,<br>
.dev_loss = 60,<br>
},<br>
+ /*<br>
+ * Huawei<br>
+ */<br>
{<br>
.vendor = "HUAWEI",<br>
.product = "XSG1",<br>
@@ -804,18 +818,29 @@ static struct hwentry default_hw[] = {<br>
{<br>
.vendor = NULL,<br>
.product = NULL,<br>
+ .revision = NULL,<br>
+ .bl_product = NULL,<br>
+ .pgpolicy = 0,<br>
+ .uid_attribute = NULL,<br>
+ .selector = NULL,<br>
+ .checker_name = NULL,<br>
.features = NULL,<br>
.hwhandler = NULL,<br>
- .selector = NULL,<br>
- .pgpolicy = 0,<br>
+ .prio_name = NULL,<br>
+ .prio_args = NULL,<br>
.pgfailback = 0,<br>
.rr_weight = 0,<br>
.no_path_retry = 0,<br>
.minio = 0,<br>
.minio_rq = 0,<br>
- .checker_name = NULL,<br>
- .prio_name = NULL,<br>
- .prio_args = NULL,<br>
+ .flush_on_last_del = 0,<br>
+ .fast_io_fail = 0,<br>
+ .dev_loss = 0,<br>
+ .retain_hwhandler = NULL,<br>
+ .detect_prio = NULL,<br>
+ .deferred_remove = NULL,<br>
+ .delay_watch_checks = 0,<br>
+ .delay_wait_checks = 0,<br>
},<br>
};<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
2.7.4<br>
<br>
</font></span></blockquote></div><br></div>