8 #include "pgpolicies.h"
12 * Tuning suggestions on these parameters should go to
13 * dm-devel@redhat.com (subscribers-only, see README)
15 * You are welcome to claim maintainership over a controller
16 * family. Please mail the currently enlisted maintainer and
17 * the upstream package maintainer.
19 * Please, use the TEMPLATE below to add new hardware.
23 * Devices with a proprietary handler must also be included in
24 * the kernel side. Currently at drivers/scsi/scsi_dh.c
26 * Moreover, if a device needs a special treatment by the SCSI
27 * subsystem it should be included in drivers/scsi/scsi_devinfo.c
29 static struct hwentry default_hw[] = {
33 * Maintainer : Shyam Sundar
34 * Mail : g.shyamsundar@yahoo.co.in
38 .product = "Xserve RAID",
47 .pgpolicy = GROUP_BY_PRIO,
48 .pgfailback = -FAILBACK_IMMEDIATE,
49 .hwhandler = "1 alua",
50 .prio_name = PRIO_ALUA,
54 /* RA8000 / ESA12000 */
57 .no_path_retry = NO_PATH_RETRY_QUEUE,
58 .hwhandler = "1 hp_sw",
59 .pgpolicy = GROUP_BY_PRIO,
60 .checker_name = HP_SW,
61 .prio_name = PRIO_HP_SW,
64 /* VIRTUAL ARRAY 7400 */
71 /* MSA 1000/1500 and EVA 3000/5000, with old firmware */
72 .vendor = "(COMPAQ|HP)",
73 .product = "(MSA|HSV)1[01]0",
74 .hwhandler = "1 hp_sw",
75 .pgpolicy = GROUP_BY_PRIO,
77 .checker_name = HP_SW,
78 .prio_name = PRIO_HP_SW,
81 /* MSA 1000/1500 with new firmware */
82 .vendor = "(COMPAQ|HP)",
83 .product = "MSA VOLUME",
84 .pgpolicy = GROUP_BY_PRIO,
85 .pgfailback = -FAILBACK_IMMEDIATE,
87 .prio_name = PRIO_ALUA,
90 /* EVA 3000/5000 with new firmware, EVA 4000/6000/8000 */
91 .vendor = "(COMPAQ|HP)",
92 .product = "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)",
93 .pgpolicy = GROUP_BY_PRIO,
94 .pgfailback = -FAILBACK_IMMEDIATE,
96 .prio_name = PRIO_ALUA,
99 /* MSA2000 family with old firmware */
101 .product = "(MSA2[02]12fc|MSA2012i)",
102 .pgpolicy = MULTIBUS,
106 /* MSA2000 family with new firmware */
108 .product = "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)",
109 .pgpolicy = GROUP_BY_PRIO,
110 .pgfailback = -FAILBACK_IMMEDIATE,
112 .prio_name = PRIO_ALUA,
115 /* MSA 1040/2040 family */
117 .product = "MSA [12]040 SA[NS]",
118 .pgpolicy = GROUP_BY_PRIO,
119 .pgfailback = -FAILBACK_IMMEDIATE,
121 .prio_name = PRIO_ALUA,
124 /* SAN Virtualization Services Platform */
126 .product = "HSVX700",
127 .hwhandler = "1 alua",
128 .pgpolicy = GROUP_BY_PRIO,
129 .pgfailback = -FAILBACK_IMMEDIATE,
131 .prio_name = PRIO_ALUA,
136 .product = "LOGICAL VOLUME",
137 .pgpolicy = MULTIBUS,
143 .product = "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)",
144 .pgpolicy = GROUP_BY_PRIO,
145 .pgfailback = -FAILBACK_IMMEDIATE,
147 .prio_name = PRIO_ALUA,
150 /* StoreVirtual 4000 family */
151 .vendor = "LEFTHAND",
152 .product = "^(P4000|iSCSIDisk)",
153 .pgpolicy = GROUP_BY_PRIO,
154 .pgfailback = -FAILBACK_IMMEDIATE,
156 .prio_name = PRIO_ALUA,
159 * DataDirect Networks
163 .product = "SAN DataDirector",
164 .pgpolicy = MULTIBUS,
168 .product = "^EF3010",
169 .pgpolicy = MULTIBUS,
174 .product = "^(EF3015|S2A|SFA)",
175 .pgpolicy = GROUP_BY_PRIO,
176 .pgfailback = -FAILBACK_IMMEDIATE,
177 .prio_name = PRIO_ALUA,
184 /* Symmetrix / DMX / VMAX */
186 .product = "SYMMETRIX",
187 .pgpolicy = MULTIBUS,
191 /* DGC CLARiiON CX/AX / EMC VNX and Unity */
193 .product = "^(RAID|DISK|VRAID)",
194 .bl_product = "LUNZ",
195 .hwhandler = "1 emc",
196 .pgpolicy = GROUP_BY_PRIO,
197 .pgfailback = -FAILBACK_IMMEDIATE,
198 .no_path_retry = (300 / DEFAULT_CHECKINT),
199 .checker_name = EMC_CLARIION,
200 .prio_name = PRIO_EMC,
203 /* Invista / VPLEX */
205 .product = "Invista",
206 .bl_product = "LUNZ",
207 .pgpolicy = MULTIBUS,
212 .product = "XtremApp",
213 .pgpolicy = MULTIBUS,
217 * Dell SC Series, formerly Compellent
219 * Maintainer : Sean McGinnis
220 * Mail : sean_mcginnis@dell.com
222 .vendor = "COMPELNT",
223 .product = "Compellent Vol",
224 .pgpolicy = MULTIBUS,
225 .no_path_retry = NO_PATH_RETRY_QUEUE,
231 .bl_product = "Universal Xport",
232 .pgpolicy = GROUP_BY_PRIO,
233 .checker_name = RDAC,
234 .features = "2 pg_init_retries 50",
235 .hwhandler = "1 rdac",
236 .prio_name = PRIO_RDAC,
237 .pgfailback = -FAILBACK_IMMEDIATE,
242 .product = "(MD32xx|MD36xx)",
243 .bl_product = "Universal Xport",
244 .pgpolicy = GROUP_BY_PRIO,
245 .checker_name = RDAC,
246 .features = "2 pg_init_retries 50",
247 .hwhandler = "1 rdac",
248 .prio_name = PRIO_RDAC,
249 .pgfailback = -FAILBACK_IMMEDIATE,
254 .product = "(MD34xx|MD38xx)",
255 .bl_product = "Universal Xport",
256 .pgpolicy = GROUP_BY_PRIO,
257 .checker_name = RDAC,
258 .features = "2 pg_init_retries 50",
259 .hwhandler = "1 rdac",
260 .prio_name = PRIO_RDAC,
261 .pgfailback = -FAILBACK_IMMEDIATE,
269 .product = "CentricStor",
270 .pgpolicy = GROUP_BY_SERIAL,
274 .product = "ETERNUS_DX(H|L|M|400|8000)",
275 .pgpolicy = GROUP_BY_PRIO,
276 .pgfailback = -FAILBACK_IMMEDIATE,
278 .prio_name = PRIO_ALUA,
282 .vendor = "(EUROLOGC|EuroLogc)",
284 .pgpolicy = MULTIBUS,
288 .product = "E[248]000",
289 .pgpolicy = GROUP_BY_PRIO,
290 .pgfailback = -FAILBACK_IMMEDIATE,
292 .prio_name = PRIO_ALUA,
297 * Maintainer : Matthias Rudolph
298 * Mail : matthias.rudolph@hds.com
301 /* USP-V, HUS VM, VSP, VSP G1000 and VSP GX00 families */
302 .vendor = "(HITACHI|HP)",
304 .pgpolicy = MULTIBUS,
307 /* AMS 2000 and HUS 100 families */
308 .vendor = "(HITACHI|HP)",
310 .no_path_retry = NO_PATH_RETRY_QUEUE,
311 .pgpolicy = GROUP_BY_PRIO,
312 .pgfailback = -FAILBACK_IMMEDIATE,
313 .prio_name = PRIO_HDS,
318 * Maintainer : Hannes Reinecke
319 * Mail : hare@suse.de
323 .product = "ProFibre 4000R",
324 .pgpolicy = MULTIBUS,
327 /* DS4300 / FAStT600 */
329 .product = "^1722-600",
330 .bl_product = "Universal Xport",
331 .pgpolicy = GROUP_BY_PRIO,
332 .checker_name = RDAC,
333 .features = "2 pg_init_retries 50",
334 .hwhandler = "1 rdac",
335 .prio_name = PRIO_RDAC,
336 .pgfailback = -FAILBACK_IMMEDIATE,
340 /* DS4100 / FAStT100 */
343 .bl_product = "Universal Xport",
344 .pgpolicy = GROUP_BY_PRIO,
345 .checker_name = RDAC,
346 .features = "2 pg_init_retries 50",
347 .hwhandler = "1 rdac",
348 .prio_name = PRIO_RDAC,
349 .pgfailback = -FAILBACK_IMMEDIATE,
353 /* DS3000 / DS3200 / DS3300 / DS3400 / Boot DS */
356 .bl_product = "Universal Xport",
357 .pgpolicy = GROUP_BY_PRIO,
358 .checker_name = RDAC,
359 .features = "2 pg_init_retries 50",
360 .hwhandler = "1 rdac",
361 .prio_name = PRIO_RDAC,
362 .pgfailback = -FAILBACK_IMMEDIATE,
366 /* DS4400 / DS4500 / FAStT700 / FAStT900 */
369 .bl_product = "Universal Xport",
370 .pgpolicy = GROUP_BY_PRIO,
371 .checker_name = RDAC,
372 .features = "2 pg_init_retries 50",
373 .hwhandler = "1 rdac",
374 .prio_name = PRIO_RDAC,
375 .pgfailback = -FAILBACK_IMMEDIATE,
379 /* DS3500 / DS3512 / DS3524 */
382 .bl_product = "Universal Xport",
383 .pgpolicy = GROUP_BY_PRIO,
384 .checker_name = RDAC,
385 .features = "2 pg_init_retries 50",
386 .hwhandler = "1 rdac",
387 .prio_name = PRIO_RDAC,
388 .pgfailback = -FAILBACK_IMMEDIATE,
395 .bl_product = "Universal Xport",
396 .pgpolicy = GROUP_BY_PRIO,
397 .checker_name = RDAC,
398 .features = "2 pg_init_retries 50",
399 .hwhandler = "1 rdac",
400 .prio_name = PRIO_RDAC,
401 .pgfailback = -FAILBACK_IMMEDIATE,
405 /* DS3950 / DS4200 / DS4700 / DS5020 */
408 .bl_product = "Universal Xport",
409 .pgpolicy = GROUP_BY_PRIO,
410 .checker_name = RDAC,
411 .features = "2 pg_init_retries 50",
412 .hwhandler = "1 rdac",
413 .prio_name = PRIO_RDAC,
414 .pgfailback = -FAILBACK_IMMEDIATE,
421 .bl_product = "Universal Xport",
422 .pgpolicy = GROUP_BY_PRIO,
423 .checker_name = RDAC,
424 .features = "2 pg_init_retries 50",
425 .hwhandler = "1 rdac",
426 .prio_name = PRIO_RDAC,
427 .pgfailback = -FAILBACK_IMMEDIATE,
431 /* DS5000 / DS5100 / DS5300 / DCS3700 */
434 .bl_product = "Universal Xport",
435 .pgpolicy = GROUP_BY_PRIO,
436 .checker_name = RDAC,
437 .features = "2 pg_init_retries 50",
438 .hwhandler = "1 rdac",
439 .prio_name = PRIO_RDAC,
440 .pgfailback = -FAILBACK_IMMEDIATE,
444 /* Netfinity Fibre Channel RAID Controller Unit */
447 .bl_product = "Universal Xport",
448 .pgpolicy = GROUP_BY_PRIO,
449 .checker_name = RDAC,
450 .features = "2 pg_init_retries 50",
451 .hwhandler = "1 rdac",
452 .prio_name = PRIO_RDAC,
453 .pgfailback = -FAILBACK_IMMEDIATE,
457 /* FAStT200 and FAStT500 */
459 .product = "^(3542|3552)",
460 .bl_product = "Universal Xport",
461 .pgpolicy = GROUP_BY_PRIO,
462 .checker_name = RDAC,
463 .features = "2 pg_init_retries 50",
464 .hwhandler = "1 rdac",
465 .prio_name = PRIO_RDAC,
466 .pgfailback = -FAILBACK_IMMEDIATE,
470 /* Enterprise Storage Server / Shark family */
473 .no_path_retry = NO_PATH_RETRY_QUEUE,
474 .pgpolicy = MULTIBUS,
477 /* DS6000 / DS6800 */
479 .product = "^1750500",
480 .no_path_retry = NO_PATH_RETRY_QUEUE,
481 .pgpolicy = GROUP_BY_PRIO,
482 .pgfailback = -FAILBACK_IMMEDIATE,
483 .prio_name = PRIO_ALUA,
488 .product = "^2107900",
489 .no_path_retry = NO_PATH_RETRY_QUEUE,
490 .pgpolicy = MULTIBUS,
493 /* Storwize family / SAN Volume Controller / Flex System V7000 / FlashSystem V840/V9000 */
496 .no_path_retry = NO_PATH_RETRY_QUEUE,
497 .pgpolicy = GROUP_BY_PRIO,
498 .pgfailback = -FAILBACK_IMMEDIATE,
499 .prio_name = PRIO_ALUA,
503 .product = "S/390 DASD ECKD",
504 .bl_product = "S/390",
505 .uid_attribute = "ID_UID",
506 .no_path_retry = NO_PATH_RETRY_QUEUE,
507 .pgpolicy = MULTIBUS,
511 .product = "S/390 DASD FBA",
512 .bl_product = "S/390",
513 .uid_attribute = "ID_UID",
514 .no_path_retry = NO_PATH_RETRY_QUEUE,
515 .pgpolicy = MULTIBUS,
521 .no_path_retry = NO_PATH_RETRY_QUEUE,
522 .hwhandler = "1 alua",
523 .pgpolicy = GROUP_BY_PRIO,
524 .pgfailback = -FAILBACK_IMMEDIATE,
525 .prio_name = PRIO_ALUA,
528 /* SAS RAID Controller Module (RSSM) */
530 .product = "1820N00",
531 .pgpolicy = GROUP_BY_PRIO,
532 .pgfailback = -FAILBACK_IMMEDIATE,
533 .no_path_retry = NO_PATH_RETRY_QUEUE,
534 .prio_name = PRIO_ALUA,
537 /* XIV Storage System / FlashSystem A9000/A9000R */
539 .product = "2810XIV",
540 .no_path_retry = NO_PATH_RETRY_QUEUE,
541 .pgpolicy = MULTIBUS,
544 /* FlashSystem 710/720/810/820/840/900 */
546 .product = "FlashSystem",
547 .pgpolicy = MULTIBUS,
552 .product = "^(DCS9900|2851)",
553 .pgpolicy = GROUP_BY_PRIO,
554 .pgfailback = -FAILBACK_IMMEDIATE,
555 .prio_name = PRIO_ALUA,
559 * IBM Power Virtual SCSI Devices
561 * Maintainer : Brian King
562 * Mail : brking@linux.vnet.ibm.com
567 .pgpolicy = MULTIBUS,
568 .no_path_retry = (300 / DEFAULT_CHECKINT),
573 .product = "3303[ ]+NVDISK",
574 .no_path_retry = (300 / DEFAULT_CHECKINT),
579 .hwhandler = "1 alua",
580 .pgpolicy = GROUP_BY_PRIO,
581 .pgfailback = -FAILBACK_IMMEDIATE,
582 .no_path_retry = (300 / DEFAULT_CHECKINT),
583 .prio_name = PRIO_ALUA,
592 * Maintainer : Martin George
593 * Mail : marting@netapp.com
597 .features = "2 pg_init_retries 50",
598 .no_path_retry = NO_PATH_RETRY_QUEUE,
599 .pgpolicy = GROUP_BY_PRIO,
600 .pgfailback = -FAILBACK_IMMEDIATE,
601 .flush_on_last_del = FLUSH_ENABLED,
602 .dev_loss = MAX_DEV_LOSS_TMO,
603 .prio_name = PRIO_ONTAP,
607 * SANtricity(RDAC) family
609 * Maintainer : Sean Stewart
610 * Mail : sean.stewart@netapp.com
612 .vendor = "(NETAPP|LSI|ENGENIO)",
613 .product = "INF-01-00",
614 .bl_product = "Universal Xport",
615 .pgpolicy = GROUP_BY_PRIO,
616 .checker_name = RDAC,
617 .features = "2 pg_init_retries 50",
618 .hwhandler = "1 rdac",
619 .prio_name = PRIO_RDAC,
620 .pgfailback = -FAILBACK_IMMEDIATE,
627 * Maintainer : PJ Waskiewicz
628 * Mail : pj.waskiewicz@netapp.com
630 .vendor = "SolidFir",
631 .product = "SSD SAN",
632 .pgpolicy = MULTIBUS,
638 * Maintainer : Yacine Kheddache
639 * Mail : yacine@alyseo.com
643 .product = "COMSTAR",
644 .pgpolicy = GROUP_BY_SERIAL,
653 .pgpolicy = MULTIBUS,
656 /* Total Performance family */
658 .product = "TP9[3457]00",
659 .bl_product = "Universal Xport",
660 .pgpolicy = GROUP_BY_PRIO,
661 .checker_name = RDAC,
662 .features = "2 pg_init_retries 50",
663 .hwhandler = "1 rdac",
664 .prio_name = PRIO_RDAC,
665 .pgfailback = -FAILBACK_IMMEDIATE,
669 /* InfiniteStorage family */
672 .bl_product = "Universal Xport",
673 .pgpolicy = GROUP_BY_PRIO,
674 .checker_name = RDAC,
675 .features = "2 pg_init_retries 50",
676 .hwhandler = "1 rdac",
677 .prio_name = PRIO_RDAC,
678 .pgfailback = -FAILBACK_IMMEDIATE,
684 .product = "^DD[46]A-",
685 .pgpolicy = GROUP_BY_PRIO,
686 .pgfailback = -FAILBACK_IMMEDIATE,
687 .prio_name = PRIO_ALUA,
696 .product = "DISK ARRAY",
697 .hwhandler = "1 alua",
698 .pgpolicy = GROUP_BY_PRIO,
699 .pgfailback = -FAILBACK_IMMEDIATE,
700 .prio_name = PRIO_ALUA,
706 * Pillar Data / Oracle FS
708 * Maintainer : Srinivasan Ramani
709 * Mail : srinivas.ramani@oracle.com
714 .pgpolicy = GROUP_BY_PRIO,
715 .pgfailback = -FAILBACK_IMMEDIATE,
716 .prio_name = PRIO_ALUA,
720 .product = "^Oracle FS",
721 .pgpolicy = GROUP_BY_PRIO,
722 .pgfailback = -FAILBACK_IMMEDIATE,
723 .prio_name = PRIO_ALUA,
725 /* Sun - StorageTek */
727 /* B210, B220, B240 and B280 */
729 .product = "BladeCtlr",
730 .bl_product = "Universal Xport",
731 .pgpolicy = GROUP_BY_PRIO,
732 .checker_name = RDAC,
733 .features = "2 pg_init_retries 50",
734 .hwhandler = "1 rdac",
735 .prio_name = PRIO_RDAC,
736 .pgfailback = -FAILBACK_IMMEDIATE,
740 /* 9176, D173, D178, D210, D220, D240 and D280 */
742 .product = "OPENstorage",
743 .bl_product = "Universal Xport",
744 .pgpolicy = GROUP_BY_PRIO,
745 .checker_name = RDAC,
746 .features = "2 pg_init_retries 50",
747 .hwhandler = "1 rdac",
748 .prio_name = PRIO_RDAC,
749 .pgfailback = -FAILBACK_IMMEDIATE,
755 .product = "FLEXLINE 380",
756 .bl_product = "Universal Xport",
757 .pgpolicy = GROUP_BY_PRIO,
758 .checker_name = RDAC,
759 .features = "2 pg_init_retries 50",
760 .hwhandler = "1 rdac",
761 .prio_name = PRIO_RDAC,
762 .pgfailback = -FAILBACK_IMMEDIATE,
766 /* 3510 / 6020 and 6120 */
768 .product = "(StorEdge 3510|T4)",
769 .pgpolicy = MULTIBUS,
773 .product = "STK6580_6780",
774 .bl_product = "Universal Xport",
775 .pgpolicy = GROUP_BY_PRIO,
776 .checker_name = RDAC,
777 .features = "2 pg_init_retries 50",
778 .hwhandler = "1 rdac",
779 .prio_name = PRIO_RDAC,
780 .pgfailback = -FAILBACK_IMMEDIATE,
786 .product = "CSM[12]00_R",
787 .bl_product = "Universal Xport",
788 .pgpolicy = GROUP_BY_PRIO,
789 .checker_name = RDAC,
790 .features = "2 pg_init_retries 50",
791 .hwhandler = "1 rdac",
792 .prio_name = PRIO_RDAC,
793 .pgfailback = -FAILBACK_IMMEDIATE,
797 /* 2500 / 2510 / 2530 / 2540 */
799 .product = "LCSM100_[IEFS]",
800 .bl_product = "Universal Xport",
801 .pgpolicy = GROUP_BY_PRIO,
802 .checker_name = RDAC,
803 .features = "2 pg_init_retries 50",
804 .hwhandler = "1 rdac",
805 .prio_name = PRIO_RDAC,
806 .pgfailback = -FAILBACK_IMMEDIATE,
811 .product = "SUN_6180",
812 .bl_product = "Universal Xport",
813 .pgpolicy = GROUP_BY_PRIO,
814 .checker_name = RDAC,
815 .features = "2 pg_init_retries 50",
816 .hwhandler = "1 rdac",
817 .prio_name = PRIO_RDAC,
818 .pgfailback = -FAILBACK_IMMEDIATE,
822 /* ZFS Storage Appliances */
824 .product = "(Sun Storage|ZFS Storage|COMSTAR)",
825 .pgpolicy = GROUP_BY_PRIO,
826 .pgfailback = -FAILBACK_IMMEDIATE,
827 .prio_name = PRIO_ALUA,
833 * Maintainer : Bart Brooks
834 * Mail : bartb@pivot3.com
838 .product = "RAIGE VOLUME",
839 .no_path_retry = NO_PATH_RETRY_QUEUE,
840 .pgpolicy = MULTIBUS,
843 .vendor = "(NexGen|Pivot3)",
844 .product = "(TierStore|vSTAC)",
845 .pgpolicy = GROUP_BY_PRIO,
846 .pgfailback = -FAILBACK_IMMEDIATE,
847 .prio_name = PRIO_ALUA,
848 .no_path_retry = NO_PATH_RETRY_QUEUE,
854 .vendor = "(Intel|INTEL)",
855 .product = "Multi-Flex",
856 .bl_product = "VTrak V-LUN",
857 .hwhandler = "1 alua",
858 .pgpolicy = GROUP_BY_PRIO,
859 .pgfailback = -FAILBACK_IMMEDIATE,
860 .no_path_retry = NO_PATH_RETRY_QUEUE,
861 .prio_name = PRIO_ALUA,
867 .vendor = "(LIO-ORG|SUSE)",
869 .hwhandler = "1 alua",
870 .pgpolicy = GROUP_BY_PRIO,
871 .pgfailback = -FAILBACK_IMMEDIATE,
873 .prio_name = PRIO_ALUA,
879 .vendor = "DataCore",
880 .product = "SANmelody",
881 .pgpolicy = GROUP_BY_PRIO,
882 .pgfailback = -FAILBACK_IMMEDIATE,
883 .no_path_retry = NO_PATH_RETRY_QUEUE,
884 .prio_name = PRIO_ALUA,
888 .vendor = "DataCore",
889 .product = "Virtual Disk",
890 .pgpolicy = GROUP_BY_PRIO,
891 .pgfailback = -FAILBACK_IMMEDIATE,
892 .no_path_retry = NO_PATH_RETRY_QUEUE,
893 .prio_name = PRIO_ALUA,
900 .product = "FlashArray",
901 .pgpolicy = MULTIBUS,
908 .vendor = "(HUAWEI|HUASY)",
910 .pgpolicy = MULTIBUS,
915 * Maintainer: Mike Christie
916 * Mail: mchristi@redhat.com
922 .deferred_remove = DEFERRED_REMOVE_ON,
930 .pgpolicy = MULTIBUS,
936 .vendor = "NFINIDAT",
937 .product = "InfiniBox",
938 .pgpolicy = GROUP_BY_PRIO,
939 .pgfailback = -FAILBACK_IMMEDIATE,
940 .prio_name = PRIO_ALUA,
948 .hwhandler = "1 alua",
949 .pgpolicy = GROUP_BY_PRIO,
950 .pgfailback = -FAILBACK_IMMEDIATE,
951 .prio_name = PRIO_ALUA,
952 .no_path_retry = NO_PATH_RETRY_QUEUE,
960 .pgpolicy = MULTIBUS,
967 .product = "(ZEBI-(FC|ISCSI)|INTELLIFLASH)",
968 .hwhandler = "1 alua",
969 .pgpolicy = GROUP_BY_PRIO,
970 .pgfailback = -FAILBACK_IMMEDIATE,
971 .prio_name = PRIO_ALUA,
981 .pgpolicy = GROUP_BY_PRIO,
982 .pgfailback = -FAILBACK_IMMEDIATE,
983 .prio_name = PRIO_ALUA,
987 /* SATABeast / SATABoy */
990 .pgpolicy = GROUP_BY_PRIO,
991 .pgfailback = -FAILBACK_IMMEDIATE,
992 .prio_name = PRIO_ALUA,
998 .product = "(NestOS|NST5000)",
999 .hwhandler = "1 alua",
1000 .pgpolicy = GROUP_BY_PRIO,
1001 .pgfailback = -FAILBACK_IMMEDIATE,
1002 .prio_name = PRIO_ALUA,
1003 .no_path_retry = 30,
1009 /* Intelligent Storage Elements family */
1010 .vendor = "(XIOTECH|XIOtech)",
1012 .pgpolicy = MULTIBUS,
1013 .no_path_retry = 12,
1019 /* 3000 / 6000 Series */
1021 .product = "SAN ARRAY$",
1022 .pgpolicy = GROUP_BY_SERIAL,
1023 .no_path_retry = 30,
1027 .product = "SAN ARRAY ALUA",
1028 .hwhandler = "1 alua",
1029 .pgpolicy = GROUP_BY_PRIO,
1030 .pgfailback = -FAILBACK_IMMEDIATE,
1031 .prio_name = PRIO_ALUA,
1032 .no_path_retry = 30,
1035 /* FSP 7000 family */
1037 .product = "CONCERTO ARRAY",
1038 .pgpolicy = MULTIBUS,
1039 .no_path_retry = 30,
1042 * Promise Technology
1045 .vendor = "Promise",
1047 .bl_product = "VTrak V-LUN",
1048 .hwhandler = "1 alua",
1049 .pgpolicy = GROUP_BY_PRIO,
1050 .pgfailback = -FAILBACK_IMMEDIATE,
1051 .prio_name = PRIO_ALUA,
1052 .no_path_retry = 30,
1055 .vendor = "Promise",
1057 .bl_product = "Vess V-LUN",
1058 .hwhandler = "1 alua",
1059 .pgpolicy = GROUP_BY_PRIO,
1060 .pgfailback = -FAILBACK_IMMEDIATE,
1061 .prio_name = PRIO_ALUA,
1062 .no_path_retry = 30,
1065 * Infortrend Technology
1068 /* EonStor / ESVA */
1071 .pgpolicy = GROUP_BY_PRIO,
1072 .pgfailback = -FAILBACK_IMMEDIATE,
1073 .prio_name = PRIO_ALUA,
1074 .no_path_retry = 30,
1077 * Generic NVMe devices
1082 .uid_attribute = "ID_WWN",
1083 .checker_name = DIRECTIO,
1084 .retain_hwhandler = RETAIN_HWHANDLER_OFF,
1088 * Copy this TEMPLATE to add new hardware.
1090 * Keep only mandatory(.vendor and .product) and modified attributes.
1091 * Attributes with default values must be removed.
1092 * .vendor, .product, .revision and .bl_product are POSIX Extended regex.
1100 /* If product-ID is different from marketing name add a comment */
1102 .product = "PRODUCT",
1103 .revision = "REVISION",
1104 .bl_product = "BL_PRODUCT",
1105 .pgpolicy = FAILOVER,
1106 .uid_attribute = "ID_SERIAL",
1107 .selector = "service-time 0",
1108 .checker_name = TUR,
1109 .alias_prefix = "mpath",
1112 .prio_name = PRIO_CONST,
1114 .pgfailback = -FAILBACK_MANUAL,
1115 .rr_weight = RR_WEIGHT_NONE,
1116 .no_path_retry = NO_PATH_RETRY_UNDEF,
1119 .flush_on_last_del = FLUSH_DISABLED,
1120 .user_friendly_names = USER_FRIENDLY_NAMES_OFF,
1123 .retain_hwhandler = RETAIN_HWHANDLER_ON,
1124 .detect_prio = DETECT_PRIO_ON,
1125 .detect_checker = DETECT_CHECKER_ON,
1126 .deferred_remove = DEFERRED_REMOVE_OFF,
1127 .delay_watch_checks = DELAY_CHECKS_OFF,
1128 .delay_wait_checks = DELAY_CHECKS_OFF,
1129 .skip_kpartx = SKIP_KPARTX_OFF,
1130 .max_sectors_kb = MAX_SECTORS_KB_UNDEF,
1142 int setup_default_hwtable(vector hw)
1145 struct hwentry * hwe = default_hw;
1147 while (hwe->vendor) {
1148 r += store_hwe(hw, hwe);