8 #include "pgpolicies.h"
13 * Tuning suggestions on these parameters should go to
14 * dm-devel@redhat.com (subscribers-only, see README)
16 * You are welcome to claim maintainership over a controller
17 * family. Please mail the currently enlisted maintainer and
18 * the upstream package maintainer.
20 * Please, use the TEMPLATE below to add new hardware.
24 * Devices with a proprietary handler must also be included in
25 * the kernel side. Currently at drivers/scsi/scsi_dh.c
27 * Moreover, if a device needs a special treatment by the SCSI
28 * subsystem it should be included in drivers/scsi/scsi_devinfo.c
33 * Copy this TEMPLATE to add new hardware.
35 * Keep only mandatory(.vendor and .product) and modified attributes.
36 * Attributes with default values must be removed.
37 * .vendor, .product, .revision and .bl_product are POSIX Extended regex.
45 /* If product-ID is different from marketing name add a comment */
48 .revision = "REVISION",
49 .bl_product = "BL_PRODUCT",
51 .uid_attribute = "ID_SERIAL",
52 .selector = "service-time 0",
54 .alias_prefix = "mpath",
57 .prio_name = PRIO_CONST,
59 .pgfailback = -FAILBACK_MANUAL,
60 .rr_weight = RR_WEIGHT_NONE,
61 .no_path_retry = NO_PATH_RETRY_UNDEF,
64 .flush_on_last_del = FLUSH_DISABLED,
65 .user_friendly_names = USER_FRIENDLY_NAMES_OFF,
68 .retain_hwhandler = RETAIN_HWHANDLER_ON,
69 .detect_prio = DETECT_PRIO_ON,
70 .detect_checker = DETECT_CHECKER_ON,
71 .deferred_remove = DEFERRED_REMOVE_OFF,
72 .delay_watch_checks = DELAY_CHECKS_OFF,
73 .delay_wait_checks = DELAY_CHECKS_OFF,
74 .skip_kpartx = SKIP_KPARTX_OFF,
75 .max_sectors_kb = MAX_SECTORS_KB_UNDEF,
76 .ghost_delay = GHOST_DELAY_OFF,
80 static struct hwentry default_hw[] = {
84 * Due to the parsing logic in find_hwe(), generic entries
85 * have to be put on top of this list, and more specific ones
91 .uid_attribute = "ID_WWN",
93 .retain_hwhandler = RETAIN_HWHANDLER_OFF,
98 * Maintainer : Shyam Sundar
99 * Mail : g.shyamsundar@yahoo.co.in
103 .product = "Xserve RAID",
104 .pgpolicy = MULTIBUS,
110 .vendor = "3PARdata",
112 .pgpolicy = GROUP_BY_PRIO,
113 .pgfailback = -FAILBACK_IMMEDIATE,
114 .hwhandler = "1 alua",
115 .prio_name = PRIO_ALUA,
118 .dev_loss = MAX_DEV_LOSS_TMO,
121 /* RA8000 / ESA12000 */
124 .no_path_retry = NO_PATH_RETRY_QUEUE,
125 .hwhandler = "1 hp_sw",
126 .pgpolicy = GROUP_BY_PRIO,
127 .checker_name = HP_SW,
128 .prio_name = PRIO_HP_SW,
131 /* VIRTUAL ARRAY 7400 */
134 .pgpolicy = MULTIBUS,
138 /* MSA 1000/1500 and EVA 3000/5000, with old firmware */
139 .vendor = "(COMPAQ|HP)",
140 .product = "(MSA|HSV)1[01]0",
141 .hwhandler = "1 hp_sw",
142 .pgpolicy = GROUP_BY_PRIO,
144 .checker_name = HP_SW,
145 .prio_name = PRIO_HP_SW,
148 /* MSA 1000/1500 with new firmware */
149 .vendor = "(COMPAQ|HP)",
150 .product = "MSA VOLUME",
151 .pgpolicy = GROUP_BY_PRIO,
152 .pgfailback = -FAILBACK_IMMEDIATE,
154 .prio_name = PRIO_ALUA,
157 /* EVA 3000/5000 with new firmware, EVA 4000/6000/8000 */
158 .vendor = "(COMPAQ|HP)",
159 .product = "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)",
160 .pgpolicy = GROUP_BY_PRIO,
161 .pgfailback = -FAILBACK_IMMEDIATE,
163 .prio_name = PRIO_ALUA,
166 /* MSA2000 family with old firmware */
168 .product = "(MSA2[02]12fc|MSA2012i)",
169 .pgpolicy = MULTIBUS,
173 /* MSA2000 family with new firmware */
175 .product = "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)",
176 .pgpolicy = GROUP_BY_PRIO,
177 .pgfailback = -FAILBACK_IMMEDIATE,
179 .prio_name = PRIO_ALUA,
182 /* MSA 1040, 1050, 2040 and 2050 families */
184 .product = "MSA [12]0[45]0 SA[NS]",
185 .pgpolicy = GROUP_BY_PRIO,
186 .pgfailback = -FAILBACK_IMMEDIATE,
188 .prio_name = PRIO_ALUA,
191 /* SAN Virtualization Services Platform */
193 .product = "HSVX700",
194 .hwhandler = "1 alua",
195 .pgpolicy = GROUP_BY_PRIO,
196 .pgfailback = -FAILBACK_IMMEDIATE,
198 .prio_name = PRIO_ALUA,
203 .product = "LOGICAL VOLUME",
204 .pgpolicy = MULTIBUS,
210 .product = "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)",
211 .pgpolicy = GROUP_BY_PRIO,
212 .pgfailback = -FAILBACK_IMMEDIATE,
214 .prio_name = PRIO_ALUA,
217 /* StoreVirtual 4000 and 3200 families */
218 .vendor = "LEFTHAND",
219 .product = "(P4000|iSCSIDisk|FCDISK)",
220 .pgpolicy = GROUP_BY_PRIO,
221 .pgfailback = -FAILBACK_IMMEDIATE,
223 .prio_name = PRIO_ALUA,
229 .hwhandler = "1 alua",
230 .pgpolicy = GROUP_BY_PRIO,
231 .pgfailback = -FAILBACK_IMMEDIATE,
232 .prio_name = PRIO_ALUA,
233 .no_path_retry = NO_PATH_RETRY_QUEUE,
239 .pgpolicy = MULTIBUS,
242 /* Total Performance family */
244 .product = "TP9[3457]00",
245 .bl_product = "Universal Xport",
246 .pgpolicy = GROUP_BY_PRIO,
247 .checker_name = RDAC,
248 .features = "2 pg_init_retries 50",
249 .hwhandler = "1 rdac",
250 .prio_name = PRIO_RDAC,
251 .pgfailback = -FAILBACK_IMMEDIATE,
255 /* InfiniteStorage family */
258 .bl_product = "Universal Xport",
259 .pgpolicy = GROUP_BY_PRIO,
260 .checker_name = RDAC,
261 .features = "2 pg_init_retries 50",
262 .hwhandler = "1 rdac",
263 .prio_name = PRIO_RDAC,
264 .pgfailback = -FAILBACK_IMMEDIATE,
270 .product = "^DD[46]A-",
271 .pgpolicy = GROUP_BY_PRIO,
272 .pgfailback = -FAILBACK_IMMEDIATE,
273 .prio_name = PRIO_ALUA,
277 * DataDirect Networks
281 .product = "SAN DataDirector",
282 .pgpolicy = MULTIBUS,
286 .product = "^EF3010",
287 .pgpolicy = MULTIBUS,
292 .product = "^(EF3015|S2A|SFA)",
293 .pgpolicy = GROUP_BY_PRIO,
294 .pgfailback = -FAILBACK_IMMEDIATE,
295 .prio_name = PRIO_ALUA,
302 /* Symmetrix / DMX / VMAX */
304 .product = "SYMMETRIX",
305 .pgpolicy = MULTIBUS,
309 /* DGC CLARiiON CX/AX / EMC VNX and Unity */
311 .product = "^(RAID|DISK|VRAID)",
312 .bl_product = "LUNZ",
313 .hwhandler = "1 emc",
314 .pgpolicy = GROUP_BY_PRIO,
315 .pgfailback = -FAILBACK_IMMEDIATE,
316 .no_path_retry = (300 / DEFAULT_CHECKINT),
317 .checker_name = EMC_CLARIION,
318 .prio_name = PRIO_EMC,
321 /* Invista / VPLEX */
323 .product = "Invista",
324 .bl_product = "LUNZ",
325 .pgpolicy = MULTIBUS,
330 .product = "XtremApp",
331 .pgpolicy = MULTIBUS,
335 * Dell SC Series, formerly Compellent
337 * Maintainer : Sean McGinnis
338 * Mail : sean_mcginnis@dell.com
340 .vendor = "COMPELNT",
341 .product = "Compellent Vol",
342 .pgpolicy = MULTIBUS,
343 .no_path_retry = NO_PATH_RETRY_QUEUE,
349 .bl_product = "Universal Xport",
350 .pgpolicy = GROUP_BY_PRIO,
351 .checker_name = RDAC,
352 .features = "2 pg_init_retries 50",
353 .hwhandler = "1 rdac",
354 .prio_name = PRIO_RDAC,
355 .pgfailback = -FAILBACK_IMMEDIATE,
363 .product = "CentricStor",
364 .pgpolicy = GROUP_BY_SERIAL,
368 .product = "ETERNUS_DX(H|L|M|400|8000)",
369 .pgpolicy = GROUP_BY_PRIO,
370 .pgfailback = -FAILBACK_IMMEDIATE,
372 .prio_name = PRIO_ALUA,
376 .vendor = "(EUROLOGC|EuroLogc)",
378 .pgpolicy = MULTIBUS,
382 .product = "E[234]000",
383 .pgpolicy = GROUP_BY_PRIO,
384 .pgfailback = -FAILBACK_IMMEDIATE,
386 .prio_name = PRIO_ALUA,
390 .product = "E[68]000",
391 .pgpolicy = MULTIBUS,
397 * Maintainer : Matthias Rudolph
398 * Mail : matthias.rudolph@hds.com
401 /* USP-V, HUS VM, VSP, VSP G1X00 and VSP GX00 families */
402 .vendor = "(HITACHI|HP)",
404 .pgpolicy = MULTIBUS,
407 /* AMS 2000 and HUS 100 families */
410 .no_path_retry = NO_PATH_RETRY_QUEUE,
411 .pgpolicy = GROUP_BY_PRIO,
412 .pgfailback = -FAILBACK_IMMEDIATE,
413 .prio_name = PRIO_HDS,
418 * Maintainer : Hannes Reinecke
419 * Mail : hare@suse.de
423 .product = "ProFibre 4000R",
424 .pgpolicy = MULTIBUS,
427 /* DS4300 / FAStT600 */
429 .product = "^1722-600",
430 .bl_product = "Universal Xport",
431 .pgpolicy = GROUP_BY_PRIO,
432 .checker_name = RDAC,
433 .features = "2 pg_init_retries 50",
434 .hwhandler = "1 rdac",
435 .prio_name = PRIO_RDAC,
436 .pgfailback = -FAILBACK_IMMEDIATE,
440 /* DS4100 / FAStT100 */
443 .bl_product = "Universal Xport",
444 .pgpolicy = GROUP_BY_PRIO,
445 .checker_name = RDAC,
446 .features = "2 pg_init_retries 50",
447 .hwhandler = "1 rdac",
448 .prio_name = PRIO_RDAC,
449 .pgfailback = -FAILBACK_IMMEDIATE,
453 /* DS3000 / DS3200 / DS3300 / DS3400 / Boot DS */
456 .bl_product = "Universal Xport",
457 .pgpolicy = GROUP_BY_PRIO,
458 .checker_name = RDAC,
459 .features = "2 pg_init_retries 50",
460 .hwhandler = "1 rdac",
461 .prio_name = PRIO_RDAC,
462 .pgfailback = -FAILBACK_IMMEDIATE,
466 /* DS4400 / DS4500 / FAStT700 / FAStT900 */
469 .bl_product = "Universal Xport",
470 .pgpolicy = GROUP_BY_PRIO,
471 .checker_name = RDAC,
472 .features = "2 pg_init_retries 50",
473 .hwhandler = "1 rdac",
474 .prio_name = PRIO_RDAC,
475 .pgfailback = -FAILBACK_IMMEDIATE,
479 /* DS3500 / DS3512 / DS3524 */
482 .bl_product = "Universal Xport",
483 .pgpolicy = GROUP_BY_PRIO,
484 .checker_name = RDAC,
485 .features = "2 pg_init_retries 50",
486 .hwhandler = "1 rdac",
487 .prio_name = PRIO_RDAC,
488 .pgfailback = -FAILBACK_IMMEDIATE,
495 .bl_product = "Universal Xport",
496 .pgpolicy = GROUP_BY_PRIO,
497 .checker_name = RDAC,
498 .features = "2 pg_init_retries 50",
499 .hwhandler = "1 rdac",
500 .prio_name = PRIO_RDAC,
501 .pgfailback = -FAILBACK_IMMEDIATE,
505 /* DS3950 / DS4200 / DS4700 / DS5020 */
508 .bl_product = "Universal Xport",
509 .pgpolicy = GROUP_BY_PRIO,
510 .checker_name = RDAC,
511 .features = "2 pg_init_retries 50",
512 .hwhandler = "1 rdac",
513 .prio_name = PRIO_RDAC,
514 .pgfailback = -FAILBACK_IMMEDIATE,
521 .bl_product = "Universal Xport",
522 .pgpolicy = GROUP_BY_PRIO,
523 .checker_name = RDAC,
524 .features = "2 pg_init_retries 50",
525 .hwhandler = "1 rdac",
526 .prio_name = PRIO_RDAC,
527 .pgfailback = -FAILBACK_IMMEDIATE,
531 /* DS5000 / DS5100 / DS5300 / DCS3700 */
534 .bl_product = "Universal Xport",
535 .pgpolicy = GROUP_BY_PRIO,
536 .checker_name = RDAC,
537 .features = "2 pg_init_retries 50",
538 .hwhandler = "1 rdac",
539 .prio_name = PRIO_RDAC,
540 .pgfailback = -FAILBACK_IMMEDIATE,
544 /* Netfinity Fibre Channel RAID Controller Unit */
547 .bl_product = "Universal Xport",
548 .pgpolicy = GROUP_BY_PRIO,
549 .checker_name = RDAC,
550 .features = "2 pg_init_retries 50",
551 .hwhandler = "1 rdac",
552 .prio_name = PRIO_RDAC,
553 .pgfailback = -FAILBACK_IMMEDIATE,
557 /* FAStT200 and FAStT500 */
559 .product = "^(3542|3552)",
560 .bl_product = "Universal Xport",
561 .pgpolicy = GROUP_BY_PRIO,
562 .checker_name = RDAC,
563 .features = "2 pg_init_retries 50",
564 .hwhandler = "1 rdac",
565 .prio_name = PRIO_RDAC,
566 .pgfailback = -FAILBACK_IMMEDIATE,
570 /* Enterprise Storage Server / Shark family */
573 .no_path_retry = NO_PATH_RETRY_QUEUE,
574 .pgpolicy = MULTIBUS,
577 /* DS6000 / DS6800 */
579 .product = "^1750500",
580 .no_path_retry = NO_PATH_RETRY_QUEUE,
581 .pgpolicy = GROUP_BY_PRIO,
582 .pgfailback = -FAILBACK_IMMEDIATE,
583 .prio_name = PRIO_ALUA,
588 .product = "^2107900",
589 .no_path_retry = NO_PATH_RETRY_QUEUE,
590 .pgpolicy = MULTIBUS,
593 /* Storwize family / SAN Volume Controller / Flex System V7000 / FlashSystem V840/V9000 */
596 .no_path_retry = NO_PATH_RETRY_QUEUE,
597 .pgpolicy = GROUP_BY_PRIO,
598 .pgfailback = -FAILBACK_IMMEDIATE,
599 .prio_name = PRIO_ALUA,
603 .product = "S/390 DASD ECKD",
604 .bl_product = "S/390",
605 .uid_attribute = "ID_UID",
606 .no_path_retry = NO_PATH_RETRY_QUEUE,
607 .pgpolicy = MULTIBUS,
611 .product = "S/390 DASD FBA",
612 .bl_product = "S/390",
613 .uid_attribute = "ID_UID",
614 .no_path_retry = NO_PATH_RETRY_QUEUE,
615 .pgpolicy = MULTIBUS,
621 .no_path_retry = NO_PATH_RETRY_QUEUE,
622 .hwhandler = "1 alua",
623 .pgpolicy = GROUP_BY_PRIO,
624 .pgfailback = -FAILBACK_IMMEDIATE,
625 .prio_name = PRIO_ALUA,
628 /* SAS RAID Controller Module (RSSM) */
630 .product = "1820N00",
631 .pgpolicy = GROUP_BY_PRIO,
632 .pgfailback = -FAILBACK_IMMEDIATE,
633 .no_path_retry = NO_PATH_RETRY_QUEUE,
634 .prio_name = PRIO_ALUA,
637 /* XIV Storage System / FlashSystem A9000/A9000R */
638 .vendor = "(XIV|IBM)",
639 .product = "(NEXTRA|2810XIV)",
640 .no_path_retry = NO_PATH_RETRY_QUEUE,
641 .pgpolicy = MULTIBUS,
644 /* TMS RamSan / FlashSystem 710/720/810/820/840/900 */
645 .vendor = "(TMS|IBM)",
646 .product = "(RamSan|FlashSystem)",
647 .pgpolicy = MULTIBUS,
650 /* (DDN) DCS9900, SONAS 2851-DR1 */
652 .product = "^(DCS9900|2851)",
653 .pgpolicy = GROUP_BY_PRIO,
654 .pgfailback = -FAILBACK_IMMEDIATE,
655 .prio_name = PRIO_ALUA,
659 * IBM Power Virtual SCSI Devices
661 * Maintainer : Brian King
662 * Mail : brking@linux.vnet.ibm.com
667 .pgpolicy = MULTIBUS,
668 .no_path_retry = (300 / DEFAULT_CHECKINT),
673 .product = "3303[ ]+NVDISK",
674 .no_path_retry = (300 / DEFAULT_CHECKINT),
679 .hwhandler = "1 alua",
680 .pgpolicy = GROUP_BY_PRIO,
681 .pgfailback = -FAILBACK_IMMEDIATE,
682 .no_path_retry = (300 / DEFAULT_CHECKINT),
683 .prio_name = PRIO_ALUA,
692 * Maintainer : Martin George
693 * Mail : marting@netapp.com
697 .features = "2 pg_init_retries 50",
698 .no_path_retry = NO_PATH_RETRY_QUEUE,
699 .pgpolicy = GROUP_BY_PRIO,
700 .pgfailback = -FAILBACK_IMMEDIATE,
701 .flush_on_last_del = FLUSH_ENABLED,
702 .dev_loss = MAX_DEV_LOSS_TMO,
703 .prio_name = PRIO_ONTAP,
707 * SANtricity(RDAC) family
709 * Maintainer : NetApp RDAC team
710 * Mail : ng-eseries-upstream-maintainers@netapp.com
712 .vendor = "(NETAPP|LSI|ENGENIO)",
713 .product = "INF-01-00",
714 .bl_product = "Universal Xport",
715 .pgpolicy = GROUP_BY_PRIO,
716 .checker_name = RDAC,
717 .features = "2 pg_init_retries 50",
718 .hwhandler = "1 rdac",
719 .prio_name = PRIO_RDAC,
720 .pgfailback = -FAILBACK_IMMEDIATE,
727 * Maintainer : PJ Waskiewicz
728 * Mail : pj.waskiewicz@netapp.com
730 .vendor = "SolidFir",
731 .product = "SSD SAN",
732 .pgpolicy = MULTIBUS,
737 * NVMe-FC namespace devices: MULTIBUS, queueing preferred
739 * The hwtable is searched backwards, so place this after "Generic NVMe"
742 .product = "^NetApp ONTAP Controller",
743 .uid_attribute = "ID_WWN",
744 .checker_name = NONE,
745 .pgpolicy = MULTIBUS,
746 .no_path_retry = NO_PATH_RETRY_QUEUE,
747 .retain_hwhandler = RETAIN_HWHANDLER_OFF,
752 * Maintainer : Yacine Kheddache
753 * Mail : yacine@alyseo.com
757 .product = "COMSTAR",
758 .pgpolicy = GROUP_BY_SERIAL,
767 .product = "DISK ARRAY",
768 .hwhandler = "1 alua",
769 .pgpolicy = GROUP_BY_PRIO,
770 .pgfailback = -FAILBACK_IMMEDIATE,
771 .prio_name = PRIO_ALUA,
777 * Pillar Data / Oracle FS
779 * Maintainer : Srinivasan Ramani
780 * Mail : srinivas.ramani@oracle.com
785 .pgpolicy = GROUP_BY_PRIO,
786 .pgfailback = -FAILBACK_IMMEDIATE,
787 .prio_name = PRIO_ALUA,
791 .product = "^Oracle FS",
792 .pgpolicy = GROUP_BY_PRIO,
793 .pgfailback = -FAILBACK_IMMEDIATE,
794 .prio_name = PRIO_ALUA,
796 /* Sun - StorageTek */
798 /* B210, B220, B240 and B280 */
800 .product = "BladeCtlr",
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,
811 /* 9176, D173, D178, D210, D220, D240 and D280 */
813 .product = "OPENstorage",
814 .bl_product = "Universal Xport",
815 .pgpolicy = GROUP_BY_PRIO,
816 .checker_name = RDAC,
817 .features = "2 pg_init_retries 50",
818 .hwhandler = "1 rdac",
819 .prio_name = PRIO_RDAC,
820 .pgfailback = -FAILBACK_IMMEDIATE,
826 .product = "FLEXLINE 380",
827 .bl_product = "Universal Xport",
828 .pgpolicy = GROUP_BY_PRIO,
829 .checker_name = RDAC,
830 .features = "2 pg_init_retries 50",
831 .hwhandler = "1 rdac",
832 .prio_name = PRIO_RDAC,
833 .pgfailback = -FAILBACK_IMMEDIATE,
837 /* (Dot Hill) 3310, 3320, 3510 and 3511 */
839 .product = "StorEdge 3",
840 .pgpolicy = MULTIBUS,
844 .product = "STK6580_6780",
845 .bl_product = "Universal Xport",
846 .pgpolicy = GROUP_BY_PRIO,
847 .checker_name = RDAC,
848 .features = "2 pg_init_retries 50",
849 .hwhandler = "1 rdac",
850 .prio_name = PRIO_RDAC,
851 .pgfailback = -FAILBACK_IMMEDIATE,
857 .product = "CSM[12]00_R",
858 .bl_product = "Universal Xport",
859 .pgpolicy = GROUP_BY_PRIO,
860 .checker_name = RDAC,
861 .features = "2 pg_init_retries 50",
862 .hwhandler = "1 rdac",
863 .prio_name = PRIO_RDAC,
864 .pgfailback = -FAILBACK_IMMEDIATE,
868 /* 2500 / 2510 / 2530 / 2540 */
870 .product = "LCSM100_[IEFS]",
871 .bl_product = "Universal Xport",
872 .pgpolicy = GROUP_BY_PRIO,
873 .checker_name = RDAC,
874 .features = "2 pg_init_retries 50",
875 .hwhandler = "1 rdac",
876 .prio_name = PRIO_RDAC,
877 .pgfailback = -FAILBACK_IMMEDIATE,
882 .product = "SUN_6180",
883 .bl_product = "Universal Xport",
884 .pgpolicy = GROUP_BY_PRIO,
885 .checker_name = RDAC,
886 .features = "2 pg_init_retries 50",
887 .hwhandler = "1 rdac",
888 .prio_name = PRIO_RDAC,
889 .pgfailback = -FAILBACK_IMMEDIATE,
894 .product = "ArrayStorage",
895 .bl_product = "Universal Xport",
896 .pgpolicy = GROUP_BY_PRIO,
897 .checker_name = RDAC,
898 .features = "2 pg_init_retries 50",
899 .hwhandler = "1 rdac",
900 .prio_name = PRIO_RDAC,
901 .pgfailback = -FAILBACK_IMMEDIATE,
905 /* ZFS Storage Appliances */
907 .product = "(Sun Storage|ZFS Storage|COMSTAR)",
908 .pgpolicy = GROUP_BY_PRIO,
909 .pgfailback = -FAILBACK_IMMEDIATE,
910 .prio_name = PRIO_ALUA,
916 * Maintainer : Bart Brooks
917 * Mail : bartb@pivot3.com
921 .product = "RAIGE VOLUME",
922 .no_path_retry = NO_PATH_RETRY_QUEUE,
923 .pgpolicy = MULTIBUS,
926 .vendor = "(NexGen|Pivot3)",
927 .product = "(TierStore|vSTAC)",
928 .pgpolicy = GROUP_BY_PRIO,
929 .pgfailback = -FAILBACK_IMMEDIATE,
930 .prio_name = PRIO_ALUA,
931 .no_path_retry = NO_PATH_RETRY_QUEUE,
937 .vendor = "(Intel|INTEL)",
938 .product = "Multi-Flex",
939 .bl_product = "VTrak V-LUN",
940 .hwhandler = "1 alua",
941 .pgpolicy = GROUP_BY_PRIO,
942 .pgfailback = -FAILBACK_IMMEDIATE,
943 .no_path_retry = NO_PATH_RETRY_QUEUE,
944 .prio_name = PRIO_ALUA,
950 .vendor = "(LIO-ORG|SUSE)",
952 .hwhandler = "1 alua",
953 .pgpolicy = GROUP_BY_PRIO,
954 .pgfailback = -FAILBACK_IMMEDIATE,
956 .prio_name = PRIO_ALUA,
962 .vendor = "DataCore",
963 .product = "SANmelody",
964 .pgpolicy = GROUP_BY_PRIO,
965 .pgfailback = -FAILBACK_IMMEDIATE,
966 .no_path_retry = NO_PATH_RETRY_QUEUE,
967 .prio_name = PRIO_ALUA,
971 .vendor = "DataCore",
972 .product = "Virtual Disk",
973 .pgpolicy = GROUP_BY_PRIO,
974 .pgfailback = -FAILBACK_IMMEDIATE,
975 .no_path_retry = NO_PATH_RETRY_QUEUE,
976 .prio_name = PRIO_ALUA,
983 .product = "FlashArray",
984 .pgpolicy = MULTIBUS,
993 .pgpolicy = GROUP_BY_PRIO,
994 .prio_name = PRIO_ALUA,
999 * Maintainer: Mike Christie
1000 * Mail: mchristi@redhat.com
1005 .checker_name = RBD,
1006 .deferred_remove = DEFERRED_REMOVE_ON,
1014 .pgpolicy = MULTIBUS,
1019 * Maintainer: Arnon Yaari
1020 * Mail: arnony@infinidat.com
1023 .vendor = "NFINIDAT",
1024 .product = "InfiniBox",
1025 .pgpolicy = GROUP_BY_PRIO,
1027 .prio_name = PRIO_ALUA,
1028 .selector = "round-robin 0",
1029 .rr_weight = RR_WEIGHT_PRIO,
1030 .no_path_retry = NO_PATH_RETRY_FAIL,
1033 .flush_on_last_del = FLUSH_ENABLED,
1043 .pgpolicy = MULTIBUS,
1050 .product = "(ZEBI-(FC|ISCSI)|INTELLIFLASH)",
1051 .hwhandler = "1 alua",
1052 .pgpolicy = GROUP_BY_PRIO,
1053 .pgfailback = -FAILBACK_IMMEDIATE,
1054 .prio_name = PRIO_ALUA,
1055 .no_path_retry = 10,
1063 .product = "NXS-B0",
1064 .pgpolicy = GROUP_BY_PRIO,
1065 .pgfailback = -FAILBACK_IMMEDIATE,
1066 .prio_name = PRIO_ALUA,
1067 .no_path_retry = 15,
1070 /* SATABeast / SATABoy */
1073 .pgpolicy = GROUP_BY_PRIO,
1074 .pgfailback = -FAILBACK_IMMEDIATE,
1075 .prio_name = PRIO_ALUA,
1076 .no_path_retry = 15,
1081 .product = "(NestOS|NST5000)",
1082 .hwhandler = "1 alua",
1083 .pgpolicy = GROUP_BY_PRIO,
1084 .pgfailback = -FAILBACK_IMMEDIATE,
1085 .prio_name = PRIO_ALUA,
1086 .no_path_retry = 30,
1092 /* Intelligent Storage Elements family */
1093 .vendor = "(XIOTECH|XIOtech)",
1095 .pgpolicy = MULTIBUS,
1096 .no_path_retry = 12,
1099 /* iglu blaze family */
1100 .vendor = "(XIOTECH|XIOtech)",
1101 .product = "IGLU DISK",
1102 .pgpolicy = MULTIBUS,
1103 .no_path_retry = 30,
1106 /* Magnitude family */
1107 .vendor = "(XIOTECH|XIOtech)",
1108 .product = "Magnitude",
1109 .pgpolicy = MULTIBUS,
1110 .no_path_retry = 30,
1116 /* 3000 / 6000 Series */
1118 .product = "SAN ARRAY$",
1119 .pgpolicy = GROUP_BY_SERIAL,
1120 .no_path_retry = 30,
1124 .product = "SAN ARRAY ALUA",
1125 .hwhandler = "1 alua",
1126 .pgpolicy = GROUP_BY_PRIO,
1127 .pgfailback = -FAILBACK_IMMEDIATE,
1128 .prio_name = PRIO_ALUA,
1129 .no_path_retry = 30,
1132 /* FSP 7000 family */
1134 .product = "CONCERTO ARRAY",
1135 .pgpolicy = MULTIBUS,
1136 .no_path_retry = 30,
1139 * Promise Technology
1142 .vendor = "Promise",
1144 .bl_product = "VTrak V-LUN",
1145 .hwhandler = "1 alua",
1146 .pgpolicy = GROUP_BY_PRIO,
1147 .pgfailback = -FAILBACK_IMMEDIATE,
1148 .prio_name = PRIO_ALUA,
1149 .no_path_retry = 30,
1152 .vendor = "Promise",
1154 .bl_product = "Vess V-LUN",
1155 .hwhandler = "1 alua",
1156 .pgpolicy = GROUP_BY_PRIO,
1157 .pgfailback = -FAILBACK_IMMEDIATE,
1158 .prio_name = PRIO_ALUA,
1159 .no_path_retry = 30,
1162 * Infortrend Technology
1165 /* EonStor / ESVA */
1168 .pgpolicy = GROUP_BY_PRIO,
1169 .pgfailback = -FAILBACK_IMMEDIATE,
1170 .prio_name = PRIO_ALUA,
1171 .no_path_retry = 30,
1174 * Seagate Technology (Dot Hill Systems)
1178 .vendor = "DotHill",
1179 .product = "SANnet",
1180 .pgpolicy = MULTIBUS,
1181 .no_path_retry = 30,
1184 /* R/Evolution family */
1185 .vendor = "DotHill",
1187 .pgpolicy = GROUP_BY_PRIO,
1188 .pgfailback = -FAILBACK_IMMEDIATE,
1189 .prio_name = PRIO_ALUA,
1190 .no_path_retry = 30,
1193 /* AssuredSAN family */
1194 .vendor = "DotHill",
1196 .pgpolicy = GROUP_BY_PRIO,
1197 .pgfailback = -FAILBACK_IMMEDIATE,
1198 .prio_name = PRIO_ALUA,
1199 .no_path_retry = 30,
1207 .product = "NeoSapphire",
1208 .pgpolicy = MULTIBUS,
1209 .no_path_retry = 30,
1215 /* AS5300/AS5500 G2 */
1218 .pgpolicy = GROUP_BY_PRIO,
1219 .pgfailback = -FAILBACK_IMMEDIATE,
1220 .prio_name = PRIO_ALUA,
1231 int setup_default_hwtable(vector hw)
1234 struct hwentry * hwe = default_hw;
1236 while (hwe->vendor) {
1237 r += store_hwe(hw, hwe);