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 .no_path_retry = NO_PATH_RETRY_FAIL,
548 .pgpolicy = MULTIBUS,
553 .product = "^(DCS9900|2851)",
554 .pgpolicy = GROUP_BY_PRIO,
555 .pgfailback = -FAILBACK_IMMEDIATE,
556 .prio_name = PRIO_ALUA,
560 * IBM Power Virtual SCSI Devices
562 * Maintainer : Brian King
563 * Mail : brking@linux.vnet.ibm.com
568 .pgpolicy = MULTIBUS,
569 .no_path_retry = (300 / DEFAULT_CHECKINT),
574 .product = "3303[ ]+NVDISK",
575 .no_path_retry = (300 / DEFAULT_CHECKINT),
580 .hwhandler = "1 alua",
581 .pgpolicy = GROUP_BY_PRIO,
582 .pgfailback = -FAILBACK_IMMEDIATE,
583 .no_path_retry = (300 / DEFAULT_CHECKINT),
584 .prio_name = PRIO_ALUA,
593 * Maintainer : Martin George
594 * Mail : marting@netapp.com
598 .features = "2 pg_init_retries 50",
599 .no_path_retry = NO_PATH_RETRY_QUEUE,
600 .pgpolicy = GROUP_BY_PRIO,
601 .pgfailback = -FAILBACK_IMMEDIATE,
602 .flush_on_last_del = FLUSH_ENABLED,
603 .dev_loss = MAX_DEV_LOSS_TMO,
604 .prio_name = PRIO_ONTAP,
608 * SANtricity(RDAC) family
610 * Maintainer : Sean Stewart
611 * Mail : sean.stewart@netapp.com
613 .vendor = "(NETAPP|LSI|ENGENIO)",
614 .product = "INF-01-00",
615 .bl_product = "Universal Xport",
616 .pgpolicy = GROUP_BY_PRIO,
617 .checker_name = RDAC,
618 .features = "2 pg_init_retries 50",
619 .hwhandler = "1 rdac",
620 .prio_name = PRIO_RDAC,
621 .pgfailback = -FAILBACK_IMMEDIATE,
628 * Maintainer : PJ Waskiewicz
629 * Mail : pj.waskiewicz@netapp.com
631 .vendor = "SolidFir",
632 .product = "SSD SAN",
633 .pgpolicy = MULTIBUS,
639 * Maintainer : Yacine Kheddache
640 * Mail : yacine@alyseo.com
644 .product = "COMSTAR",
645 .pgpolicy = GROUP_BY_SERIAL,
654 .pgpolicy = MULTIBUS,
657 /* Total Performance family */
659 .product = "TP9[3457]00",
660 .bl_product = "Universal Xport",
661 .pgpolicy = GROUP_BY_PRIO,
662 .checker_name = RDAC,
663 .features = "2 pg_init_retries 50",
664 .hwhandler = "1 rdac",
665 .prio_name = PRIO_RDAC,
666 .pgfailback = -FAILBACK_IMMEDIATE,
670 /* InfiniteStorage family */
673 .bl_product = "Universal Xport",
674 .pgpolicy = GROUP_BY_PRIO,
675 .checker_name = RDAC,
676 .features = "2 pg_init_retries 50",
677 .hwhandler = "1 rdac",
678 .prio_name = PRIO_RDAC,
679 .pgfailback = -FAILBACK_IMMEDIATE,
685 .product = "^DD[46]A-",
686 .pgpolicy = GROUP_BY_PRIO,
687 .pgfailback = -FAILBACK_IMMEDIATE,
688 .prio_name = PRIO_ALUA,
697 .product = "DISK ARRAY",
698 .hwhandler = "1 alua",
699 .pgpolicy = GROUP_BY_PRIO,
700 .pgfailback = -FAILBACK_IMMEDIATE,
701 .prio_name = PRIO_ALUA,
707 * Pillar Data / Oracle FS
709 * Maintainer : Srinivasan Ramani
710 * Mail : srinivas.ramani@oracle.com
715 .pgpolicy = GROUP_BY_PRIO,
716 .pgfailback = -FAILBACK_IMMEDIATE,
717 .prio_name = PRIO_ALUA,
721 .product = "^Oracle FS",
722 .pgpolicy = GROUP_BY_PRIO,
723 .pgfailback = -FAILBACK_IMMEDIATE,
724 .prio_name = PRIO_ALUA,
726 /* Sun - StorageTek */
728 /* B210, B220, B240 and B280 */
730 .product = "BladeCtlr",
731 .bl_product = "Universal Xport",
732 .pgpolicy = GROUP_BY_PRIO,
733 .checker_name = RDAC,
734 .features = "2 pg_init_retries 50",
735 .hwhandler = "1 rdac",
736 .prio_name = PRIO_RDAC,
737 .pgfailback = -FAILBACK_IMMEDIATE,
741 /* 9176, D173, D178, D210, D220, D240 and D280 */
743 .product = "OPENstorage",
744 .bl_product = "Universal Xport",
745 .pgpolicy = GROUP_BY_PRIO,
746 .checker_name = RDAC,
747 .features = "2 pg_init_retries 50",
748 .hwhandler = "1 rdac",
749 .prio_name = PRIO_RDAC,
750 .pgfailback = -FAILBACK_IMMEDIATE,
756 .product = "FLEXLINE 380",
757 .bl_product = "Universal Xport",
758 .pgpolicy = GROUP_BY_PRIO,
759 .checker_name = RDAC,
760 .features = "2 pg_init_retries 50",
761 .hwhandler = "1 rdac",
762 .prio_name = PRIO_RDAC,
763 .pgfailback = -FAILBACK_IMMEDIATE,
767 /* 3510 / 6020 and 6120 */
769 .product = "(StorEdge 3510|T4)",
770 .pgpolicy = MULTIBUS,
774 .product = "STK6580_6780",
775 .bl_product = "Universal Xport",
776 .pgpolicy = GROUP_BY_PRIO,
777 .checker_name = RDAC,
778 .features = "2 pg_init_retries 50",
779 .hwhandler = "1 rdac",
780 .prio_name = PRIO_RDAC,
781 .pgfailback = -FAILBACK_IMMEDIATE,
787 .product = "CSM[12]00_R",
788 .bl_product = "Universal Xport",
789 .pgpolicy = GROUP_BY_PRIO,
790 .checker_name = RDAC,
791 .features = "2 pg_init_retries 50",
792 .hwhandler = "1 rdac",
793 .prio_name = PRIO_RDAC,
794 .pgfailback = -FAILBACK_IMMEDIATE,
798 /* 2500 / 2510 / 2530 / 2540 */
800 .product = "LCSM100_[IEFS]",
801 .bl_product = "Universal Xport",
802 .pgpolicy = GROUP_BY_PRIO,
803 .checker_name = RDAC,
804 .features = "2 pg_init_retries 50",
805 .hwhandler = "1 rdac",
806 .prio_name = PRIO_RDAC,
807 .pgfailback = -FAILBACK_IMMEDIATE,
812 .product = "SUN_6180",
813 .bl_product = "Universal Xport",
814 .pgpolicy = GROUP_BY_PRIO,
815 .checker_name = RDAC,
816 .features = "2 pg_init_retries 50",
817 .hwhandler = "1 rdac",
818 .prio_name = PRIO_RDAC,
819 .pgfailback = -FAILBACK_IMMEDIATE,
823 /* ZFS Storage Appliances */
825 .product = "(Sun Storage|ZFS Storage|COMSTAR)",
826 .pgpolicy = GROUP_BY_PRIO,
827 .pgfailback = -FAILBACK_IMMEDIATE,
828 .prio_name = PRIO_ALUA,
834 * Maintainer : Bart Brooks
835 * Mail : bartb@pivot3.com
839 .product = "RAIGE VOLUME",
840 .no_path_retry = NO_PATH_RETRY_QUEUE,
841 .pgpolicy = MULTIBUS,
844 .vendor = "(NexGen|Pivot3)",
845 .product = "(TierStore|vSTAC)",
846 .pgpolicy = GROUP_BY_PRIO,
847 .pgfailback = -FAILBACK_IMMEDIATE,
848 .prio_name = PRIO_ALUA,
849 .no_path_retry = NO_PATH_RETRY_QUEUE,
855 .vendor = "(Intel|INTEL)",
856 .product = "Multi-Flex",
857 .bl_product = "VTrak V-LUN",
858 .hwhandler = "1 alua",
859 .pgpolicy = GROUP_BY_PRIO,
860 .pgfailback = -FAILBACK_IMMEDIATE,
861 .no_path_retry = NO_PATH_RETRY_QUEUE,
862 .prio_name = PRIO_ALUA,
868 .vendor = "(LIO-ORG|SUSE)",
870 .hwhandler = "1 alua",
871 .pgpolicy = GROUP_BY_PRIO,
872 .pgfailback = -FAILBACK_IMMEDIATE,
874 .prio_name = PRIO_ALUA,
880 .vendor = "DataCore",
881 .product = "SANmelody",
882 .pgpolicy = GROUP_BY_PRIO,
883 .pgfailback = -FAILBACK_IMMEDIATE,
884 .no_path_retry = NO_PATH_RETRY_QUEUE,
885 .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,
910 .vendor = "(HUAWEI|HUASY)",
912 .pgpolicy = MULTIBUS,
917 * Maintainer: Mike Christie
918 * Mail: mchristi@redhat.com
923 .no_path_retry = NO_PATH_RETRY_FAIL,
925 .deferred_remove = DEFERRED_REMOVE_ON,
933 .pgpolicy = MULTIBUS,
939 .vendor = "NFINIDAT",
940 .product = "InfiniBox",
941 .pgpolicy = GROUP_BY_PRIO,
942 .pgfailback = -FAILBACK_IMMEDIATE,
943 .prio_name = PRIO_ALUA,
951 .hwhandler = "1 alua",
952 .pgpolicy = GROUP_BY_PRIO,
953 .pgfailback = -FAILBACK_IMMEDIATE,
954 .prio_name = PRIO_ALUA,
955 .no_path_retry = NO_PATH_RETRY_QUEUE,
963 .pgpolicy = MULTIBUS,
970 .product = "(ZEBI-(FC|ISCSI)|INTELLIFLASH)",
971 .hwhandler = "1 alua",
972 .pgpolicy = GROUP_BY_PRIO,
973 .pgfailback = -FAILBACK_IMMEDIATE,
974 .prio_name = PRIO_ALUA,
984 .pgpolicy = GROUP_BY_PRIO,
985 .pgfailback = -FAILBACK_IMMEDIATE,
986 .prio_name = PRIO_ALUA,
990 /* SATABeast / SATABoy */
993 .pgpolicy = GROUP_BY_PRIO,
994 .pgfailback = -FAILBACK_IMMEDIATE,
995 .prio_name = PRIO_ALUA,
1002 /* Intelligent Storage Elements family */
1003 .vendor = "(XIOTECH|XIOtech)",
1005 .pgpolicy = MULTIBUS,
1006 .no_path_retry = 12,
1012 /* 3000 / 6000 Series */
1014 .product = "SAN ARRAY$",
1015 .pgpolicy = GROUP_BY_SERIAL,
1016 .no_path_retry = 30,
1020 .product = "SAN ARRAY ALUA",
1021 .hwhandler = "1 alua",
1022 .pgpolicy = GROUP_BY_PRIO,
1023 .pgfailback = -FAILBACK_IMMEDIATE,
1024 .prio_name = PRIO_ALUA,
1025 .no_path_retry = 30,
1028 /* FSP 7000 family */
1030 .product = "CONCERTO ARRAY",
1031 .pgpolicy = MULTIBUS,
1032 .no_path_retry = 30,
1035 * Promise Technology
1038 .vendor = "Promise",
1040 .bl_product = "VTrak V-LUN",
1041 .pgpolicy = MULTIBUS,
1042 .no_path_retry = 30,
1045 * Infortrend Technology
1048 /* EonStor / ESVA */
1051 .pgpolicy = GROUP_BY_PRIO,
1052 .pgfailback = -FAILBACK_IMMEDIATE,
1053 .prio_name = PRIO_ALUA,
1054 .no_path_retry = 30,
1058 * Copy this TEMPLATE to add new hardware.
1060 * Keep only mandatory(.vendor and .product) and modified attributes.
1061 * Attributes with default values must be removed.
1062 * .vendor, .product, .revision and .bl_product are POSIX Extended regex.
1070 /* If product-ID is different from marketing name add a comment */
1072 .product = "PRODUCT",
1073 .revision = "REVISION",
1074 .bl_product = "BL_PRODUCT",
1075 .pgpolicy = FAILOVER,
1076 .uid_attribute = "ID_SERIAL",
1077 .selector = "service-time 0",
1078 .checker_name = TUR,
1079 .alias_prefix = "mpath",
1082 .prio_name = PRIO_CONST,
1084 .pgfailback = -FAILBACK_MANUAL,
1085 .rr_weight = RR_WEIGHT_NONE,
1086 .no_path_retry = NO_PATH_RETRY_UNDEF,
1089 .flush_on_last_del = FLUSH_DISABLED,
1090 .user_friendly_names = USER_FRIENDLY_NAMES_OFF,
1093 .retain_hwhandler = RETAIN_HWHANDLER_ON,
1094 .detect_prio = DETECT_PRIO_ON,
1095 .deferred_remove = DEFERRED_REMOVE_OFF,
1096 .delay_watch_checks = DELAY_CHECKS_OFF,
1097 .delay_wait_checks = DELAY_CHECKS_OFF,
1110 setup_default_hwtable (vector hw)
1113 struct hwentry * hwe = default_hw;
1115 while (hwe->vendor) {
1116 r += store_hwe(hw, hwe);