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
32 * Copy this TEMPLATE to add new hardware.
34 * Keep only mandatory(.vendor and .product) and modified attributes.
35 * Attributes with default values must be removed.
36 * .vendor, .product, .revision and .bl_product are POSIX Extended regex.
44 /* If product-ID is different from marketing name add a comment */
47 .revision = "REVISION",
48 .bl_product = "BL_PRODUCT",
50 .uid_attribute = "ID_SERIAL",
51 .selector = "service-time 0",
53 .alias_prefix = "mpath",
56 .prio_name = PRIO_CONST,
58 .pgfailback = -FAILBACK_MANUAL,
59 .rr_weight = RR_WEIGHT_NONE,
60 .no_path_retry = NO_PATH_RETRY_UNDEF,
63 .flush_on_last_del = FLUSH_DISABLED,
64 .user_friendly_names = USER_FRIENDLY_NAMES_OFF,
67 .retain_hwhandler = RETAIN_HWHANDLER_ON,
68 .detect_prio = DETECT_PRIO_ON,
69 .detect_checker = DETECT_CHECKER_ON,
70 .deferred_remove = DEFERRED_REMOVE_OFF,
71 .delay_watch_checks = DELAY_CHECKS_OFF,
72 .delay_wait_checks = DELAY_CHECKS_OFF,
73 .skip_kpartx = SKIP_KPARTX_OFF,
74 .max_sectors_kb = MAX_SECTORS_KB_UNDEF,
75 .ghost_delay = GHOST_DELAY_OFF,
79 static struct hwentry default_hw[] = {
83 * Due to the parsing logic in find_hwe(), generic entries
84 * have to be put on top of this list, and more specific ones
90 .uid_attribute = "ID_WWN",
92 .retain_hwhandler = RETAIN_HWHANDLER_OFF,
97 * Maintainer : Shyam Sundar
98 * Mail : g.shyamsundar@yahoo.co.in
102 .product = "Xserve RAID",
103 .pgpolicy = MULTIBUS,
109 .vendor = "3PARdata",
111 .pgpolicy = GROUP_BY_PRIO,
112 .pgfailback = -FAILBACK_IMMEDIATE,
113 .hwhandler = "1 alua",
114 .prio_name = PRIO_ALUA,
117 .dev_loss = MAX_DEV_LOSS_TMO,
120 /* RA8000 / ESA12000 */
123 .no_path_retry = NO_PATH_RETRY_QUEUE,
124 .hwhandler = "1 hp_sw",
125 .pgpolicy = GROUP_BY_PRIO,
126 .checker_name = HP_SW,
127 .prio_name = PRIO_HP_SW,
130 /* VIRTUAL ARRAY 7400 */
133 .pgpolicy = MULTIBUS,
137 /* MSA 1000/1500 and EVA 3000/5000, with old firmware */
138 .vendor = "(COMPAQ|HP)",
139 .product = "(MSA|HSV)1[01]0",
140 .hwhandler = "1 hp_sw",
141 .pgpolicy = GROUP_BY_PRIO,
143 .checker_name = HP_SW,
144 .prio_name = PRIO_HP_SW,
147 /* MSA 1000/1500 with new firmware */
148 .vendor = "(COMPAQ|HP)",
149 .product = "MSA VOLUME",
150 .pgpolicy = GROUP_BY_PRIO,
151 .pgfailback = -FAILBACK_IMMEDIATE,
153 .prio_name = PRIO_ALUA,
156 /* EVA 3000/5000 with new firmware, EVA 4000/6000/8000 */
157 .vendor = "(COMPAQ|HP)",
158 .product = "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)",
159 .pgpolicy = GROUP_BY_PRIO,
160 .pgfailback = -FAILBACK_IMMEDIATE,
162 .prio_name = PRIO_ALUA,
165 /* MSA2000 family with old firmware */
167 .product = "(MSA2[02]12fc|MSA2012i)",
168 .pgpolicy = MULTIBUS,
172 /* MSA2000 family with new firmware */
174 .product = "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)",
175 .pgpolicy = GROUP_BY_PRIO,
176 .pgfailback = -FAILBACK_IMMEDIATE,
178 .prio_name = PRIO_ALUA,
181 /* MSA 1040, 1050, 2040 and 2050 families */
183 .product = "MSA [12]0[45]0 SA[NS]",
184 .pgpolicy = GROUP_BY_PRIO,
185 .pgfailback = -FAILBACK_IMMEDIATE,
187 .prio_name = PRIO_ALUA,
190 /* SAN Virtualization Services Platform */
192 .product = "HSVX700",
193 .hwhandler = "1 alua",
194 .pgpolicy = GROUP_BY_PRIO,
195 .pgfailback = -FAILBACK_IMMEDIATE,
197 .prio_name = PRIO_ALUA,
202 .product = "LOGICAL VOLUME",
203 .pgpolicy = MULTIBUS,
209 .product = "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)",
210 .pgpolicy = GROUP_BY_PRIO,
211 .pgfailback = -FAILBACK_IMMEDIATE,
213 .prio_name = PRIO_ALUA,
216 /* StoreVirtual 4000 and 3200 families */
217 .vendor = "LEFTHAND",
218 .product = "(P4000|iSCSIDisk|FCDISK)",
219 .pgpolicy = GROUP_BY_PRIO,
220 .pgfailback = -FAILBACK_IMMEDIATE,
222 .prio_name = PRIO_ALUA,
228 .hwhandler = "1 alua",
229 .pgpolicy = GROUP_BY_PRIO,
230 .pgfailback = -FAILBACK_IMMEDIATE,
231 .prio_name = PRIO_ALUA,
232 .no_path_retry = NO_PATH_RETRY_QUEUE,
238 .pgpolicy = MULTIBUS,
241 /* Total Performance family */
243 .product = "TP9[3457]00",
244 .bl_product = "Universal Xport",
245 .pgpolicy = GROUP_BY_PRIO,
246 .checker_name = RDAC,
247 .features = "2 pg_init_retries 50",
248 .hwhandler = "1 rdac",
249 .prio_name = PRIO_RDAC,
250 .pgfailback = -FAILBACK_IMMEDIATE,
254 /* InfiniteStorage family */
257 .bl_product = "Universal Xport",
258 .pgpolicy = GROUP_BY_PRIO,
259 .checker_name = RDAC,
260 .features = "2 pg_init_retries 50",
261 .hwhandler = "1 rdac",
262 .prio_name = PRIO_RDAC,
263 .pgfailback = -FAILBACK_IMMEDIATE,
269 .product = "^DD[46]A-",
270 .pgpolicy = GROUP_BY_PRIO,
271 .pgfailback = -FAILBACK_IMMEDIATE,
272 .prio_name = PRIO_ALUA,
276 * DataDirect Networks
280 .product = "SAN DataDirector",
281 .pgpolicy = MULTIBUS,
285 .product = "^EF3010",
286 .pgpolicy = MULTIBUS,
291 .product = "^(EF3015|S2A|SFA)",
292 .pgpolicy = GROUP_BY_PRIO,
293 .pgfailback = -FAILBACK_IMMEDIATE,
294 .prio_name = PRIO_ALUA,
301 /* Symmetrix / DMX / VMAX */
303 .product = "SYMMETRIX",
304 .pgpolicy = MULTIBUS,
308 /* DGC CLARiiON CX/AX / EMC VNX and Unity */
310 .product = "^(RAID|DISK|VRAID)",
311 .bl_product = "LUNZ",
312 .hwhandler = "1 emc",
313 .pgpolicy = GROUP_BY_PRIO,
314 .pgfailback = -FAILBACK_IMMEDIATE,
315 .no_path_retry = (300 / DEFAULT_CHECKINT),
316 .checker_name = EMC_CLARIION,
317 .prio_name = PRIO_EMC,
320 /* Invista / VPLEX */
322 .product = "Invista",
323 .bl_product = "LUNZ",
324 .pgpolicy = MULTIBUS,
329 .product = "XtremApp",
330 .pgpolicy = MULTIBUS,
334 * Dell SC Series, formerly Compellent
336 * Maintainer : Sean McGinnis
337 * Mail : sean_mcginnis@dell.com
339 .vendor = "COMPELNT",
340 .product = "Compellent Vol",
341 .pgpolicy = MULTIBUS,
342 .no_path_retry = NO_PATH_RETRY_QUEUE,
348 .bl_product = "Universal Xport",
349 .pgpolicy = GROUP_BY_PRIO,
350 .checker_name = RDAC,
351 .features = "2 pg_init_retries 50",
352 .hwhandler = "1 rdac",
353 .prio_name = PRIO_RDAC,
354 .pgfailback = -FAILBACK_IMMEDIATE,
362 .product = "CentricStor",
363 .pgpolicy = GROUP_BY_SERIAL,
367 .product = "ETERNUS_DX(H|L|M|400|8000)",
368 .pgpolicy = GROUP_BY_PRIO,
369 .pgfailback = -FAILBACK_IMMEDIATE,
371 .prio_name = PRIO_ALUA,
375 .vendor = "(EUROLOGC|EuroLogc)",
377 .pgpolicy = MULTIBUS,
381 .product = "E[234]000",
382 .pgpolicy = GROUP_BY_PRIO,
383 .pgfailback = -FAILBACK_IMMEDIATE,
385 .prio_name = PRIO_ALUA,
389 .product = "E[68]000",
390 .pgpolicy = MULTIBUS,
396 * Maintainer : Matthias Rudolph
397 * Mail : matthias.rudolph@hds.com
400 /* USP-V, HUS VM, VSP, VSP G1X00 and VSP GX00 families */
401 .vendor = "(HITACHI|HP)",
403 .pgpolicy = MULTIBUS,
406 /* AMS 2000 and HUS 100 families */
407 .vendor = "(HITACHI|HP)",
409 .no_path_retry = NO_PATH_RETRY_QUEUE,
410 .pgpolicy = GROUP_BY_PRIO,
411 .pgfailback = -FAILBACK_IMMEDIATE,
412 .prio_name = PRIO_HDS,
417 * Maintainer : Hannes Reinecke
418 * Mail : hare@suse.de
422 .product = "ProFibre 4000R",
423 .pgpolicy = MULTIBUS,
426 /* DS4300 / FAStT600 */
428 .product = "^1722-600",
429 .bl_product = "Universal Xport",
430 .pgpolicy = GROUP_BY_PRIO,
431 .checker_name = RDAC,
432 .features = "2 pg_init_retries 50",
433 .hwhandler = "1 rdac",
434 .prio_name = PRIO_RDAC,
435 .pgfailback = -FAILBACK_IMMEDIATE,
439 /* DS4100 / FAStT100 */
442 .bl_product = "Universal Xport",
443 .pgpolicy = GROUP_BY_PRIO,
444 .checker_name = RDAC,
445 .features = "2 pg_init_retries 50",
446 .hwhandler = "1 rdac",
447 .prio_name = PRIO_RDAC,
448 .pgfailback = -FAILBACK_IMMEDIATE,
452 /* DS3000 / DS3200 / DS3300 / DS3400 / Boot DS */
455 .bl_product = "Universal Xport",
456 .pgpolicy = GROUP_BY_PRIO,
457 .checker_name = RDAC,
458 .features = "2 pg_init_retries 50",
459 .hwhandler = "1 rdac",
460 .prio_name = PRIO_RDAC,
461 .pgfailback = -FAILBACK_IMMEDIATE,
465 /* DS4400 / DS4500 / FAStT700 / FAStT900 */
468 .bl_product = "Universal Xport",
469 .pgpolicy = GROUP_BY_PRIO,
470 .checker_name = RDAC,
471 .features = "2 pg_init_retries 50",
472 .hwhandler = "1 rdac",
473 .prio_name = PRIO_RDAC,
474 .pgfailback = -FAILBACK_IMMEDIATE,
478 /* DS3500 / DS3512 / DS3524 */
481 .bl_product = "Universal Xport",
482 .pgpolicy = GROUP_BY_PRIO,
483 .checker_name = RDAC,
484 .features = "2 pg_init_retries 50",
485 .hwhandler = "1 rdac",
486 .prio_name = PRIO_RDAC,
487 .pgfailback = -FAILBACK_IMMEDIATE,
494 .bl_product = "Universal Xport",
495 .pgpolicy = GROUP_BY_PRIO,
496 .checker_name = RDAC,
497 .features = "2 pg_init_retries 50",
498 .hwhandler = "1 rdac",
499 .prio_name = PRIO_RDAC,
500 .pgfailback = -FAILBACK_IMMEDIATE,
504 /* DS3950 / DS4200 / DS4700 / DS5020 */
507 .bl_product = "Universal Xport",
508 .pgpolicy = GROUP_BY_PRIO,
509 .checker_name = RDAC,
510 .features = "2 pg_init_retries 50",
511 .hwhandler = "1 rdac",
512 .prio_name = PRIO_RDAC,
513 .pgfailback = -FAILBACK_IMMEDIATE,
520 .bl_product = "Universal Xport",
521 .pgpolicy = GROUP_BY_PRIO,
522 .checker_name = RDAC,
523 .features = "2 pg_init_retries 50",
524 .hwhandler = "1 rdac",
525 .prio_name = PRIO_RDAC,
526 .pgfailback = -FAILBACK_IMMEDIATE,
530 /* DS5000 / DS5100 / DS5300 / DCS3700 */
533 .bl_product = "Universal Xport",
534 .pgpolicy = GROUP_BY_PRIO,
535 .checker_name = RDAC,
536 .features = "2 pg_init_retries 50",
537 .hwhandler = "1 rdac",
538 .prio_name = PRIO_RDAC,
539 .pgfailback = -FAILBACK_IMMEDIATE,
543 /* Netfinity Fibre Channel RAID Controller Unit */
546 .bl_product = "Universal Xport",
547 .pgpolicy = GROUP_BY_PRIO,
548 .checker_name = RDAC,
549 .features = "2 pg_init_retries 50",
550 .hwhandler = "1 rdac",
551 .prio_name = PRIO_RDAC,
552 .pgfailback = -FAILBACK_IMMEDIATE,
556 /* FAStT200 and FAStT500 */
558 .product = "^(3542|3552)",
559 .bl_product = "Universal Xport",
560 .pgpolicy = GROUP_BY_PRIO,
561 .checker_name = RDAC,
562 .features = "2 pg_init_retries 50",
563 .hwhandler = "1 rdac",
564 .prio_name = PRIO_RDAC,
565 .pgfailback = -FAILBACK_IMMEDIATE,
569 /* Enterprise Storage Server / Shark family */
572 .no_path_retry = NO_PATH_RETRY_QUEUE,
573 .pgpolicy = MULTIBUS,
576 /* DS6000 / DS6800 */
578 .product = "^1750500",
579 .no_path_retry = NO_PATH_RETRY_QUEUE,
580 .pgpolicy = GROUP_BY_PRIO,
581 .pgfailback = -FAILBACK_IMMEDIATE,
582 .prio_name = PRIO_ALUA,
587 .product = "^2107900",
588 .no_path_retry = NO_PATH_RETRY_QUEUE,
589 .pgpolicy = MULTIBUS,
592 /* Storwize family / SAN Volume Controller / Flex System V7000 / FlashSystem V840/V9000 */
595 .no_path_retry = NO_PATH_RETRY_QUEUE,
596 .pgpolicy = GROUP_BY_PRIO,
597 .pgfailback = -FAILBACK_IMMEDIATE,
598 .prio_name = PRIO_ALUA,
602 .product = "S/390 DASD ECKD",
603 .bl_product = "S/390",
604 .uid_attribute = "ID_UID",
605 .no_path_retry = NO_PATH_RETRY_QUEUE,
606 .pgpolicy = MULTIBUS,
610 .product = "S/390 DASD FBA",
611 .bl_product = "S/390",
612 .uid_attribute = "ID_UID",
613 .no_path_retry = NO_PATH_RETRY_QUEUE,
614 .pgpolicy = MULTIBUS,
620 .no_path_retry = NO_PATH_RETRY_QUEUE,
621 .hwhandler = "1 alua",
622 .pgpolicy = GROUP_BY_PRIO,
623 .pgfailback = -FAILBACK_IMMEDIATE,
624 .prio_name = PRIO_ALUA,
627 /* SAS RAID Controller Module (RSSM) */
629 .product = "1820N00",
630 .pgpolicy = GROUP_BY_PRIO,
631 .pgfailback = -FAILBACK_IMMEDIATE,
632 .no_path_retry = NO_PATH_RETRY_QUEUE,
633 .prio_name = PRIO_ALUA,
636 /* XIV Storage System / FlashSystem A9000/A9000R */
637 .vendor = "(XIV|IBM)",
638 .product = "(NEXTRA|2810XIV)",
639 .no_path_retry = NO_PATH_RETRY_QUEUE,
640 .pgpolicy = MULTIBUS,
643 /* TMS RamSan / FlashSystem 710/720/810/820/840/900 */
644 .vendor = "(TMS|IBM)",
645 .product = "(RamSan|FlashSystem)",
646 .pgpolicy = MULTIBUS,
649 /* (DDN) DCS9900, SONAS 2851-DR1 */
651 .product = "^(DCS9900|2851)",
652 .pgpolicy = GROUP_BY_PRIO,
653 .pgfailback = -FAILBACK_IMMEDIATE,
654 .prio_name = PRIO_ALUA,
658 * IBM Power Virtual SCSI Devices
660 * Maintainer : Brian King
661 * Mail : brking@linux.vnet.ibm.com
666 .pgpolicy = MULTIBUS,
667 .no_path_retry = (300 / DEFAULT_CHECKINT),
672 .product = "3303[ ]+NVDISK",
673 .no_path_retry = (300 / DEFAULT_CHECKINT),
678 .hwhandler = "1 alua",
679 .pgpolicy = GROUP_BY_PRIO,
680 .pgfailback = -FAILBACK_IMMEDIATE,
681 .no_path_retry = (300 / DEFAULT_CHECKINT),
682 .prio_name = PRIO_ALUA,
691 * Maintainer : Martin George
692 * Mail : marting@netapp.com
696 .features = "2 pg_init_retries 50",
697 .no_path_retry = NO_PATH_RETRY_QUEUE,
698 .pgpolicy = GROUP_BY_PRIO,
699 .pgfailback = -FAILBACK_IMMEDIATE,
700 .flush_on_last_del = FLUSH_ENABLED,
701 .dev_loss = MAX_DEV_LOSS_TMO,
702 .prio_name = PRIO_ONTAP,
706 * SANtricity(RDAC) family
708 * Maintainer : NetApp RDAC team
709 * Mail : ng-eseries-upstream-maintainers@netapp.com
711 .vendor = "(NETAPP|LSI|ENGENIO)",
712 .product = "INF-01-00",
713 .bl_product = "Universal Xport",
714 .pgpolicy = GROUP_BY_PRIO,
715 .checker_name = RDAC,
716 .features = "2 pg_init_retries 50",
717 .hwhandler = "1 rdac",
718 .prio_name = PRIO_RDAC,
719 .pgfailback = -FAILBACK_IMMEDIATE,
726 * Maintainer : PJ Waskiewicz
727 * Mail : pj.waskiewicz@netapp.com
729 .vendor = "SolidFir",
730 .product = "SSD SAN",
731 .pgpolicy = MULTIBUS,
736 * NVMe-FC namespace devices: MULTIBUS, queueing preferred
738 * The hwtable is searched backwards, so place this after "Generic NVMe"
741 .product = "^NetApp ONTAP Controller",
742 .uid_attribute = "ID_WWN",
743 .checker_name = NONE,
744 .pgpolicy = MULTIBUS,
745 .no_path_retry = NO_PATH_RETRY_QUEUE,
746 .retain_hwhandler = RETAIN_HWHANDLER_OFF,
751 * Maintainer : Yacine Kheddache
752 * Mail : yacine@alyseo.com
756 .product = "COMSTAR",
757 .pgpolicy = GROUP_BY_SERIAL,
766 .product = "DISK ARRAY",
767 .hwhandler = "1 alua",
768 .pgpolicy = GROUP_BY_PRIO,
769 .pgfailback = -FAILBACK_IMMEDIATE,
770 .prio_name = PRIO_ALUA,
776 * Pillar Data / Oracle FS
778 * Maintainer : Srinivasan Ramani
779 * Mail : srinivas.ramani@oracle.com
784 .pgpolicy = GROUP_BY_PRIO,
785 .pgfailback = -FAILBACK_IMMEDIATE,
786 .prio_name = PRIO_ALUA,
790 .product = "^Oracle FS",
791 .pgpolicy = GROUP_BY_PRIO,
792 .pgfailback = -FAILBACK_IMMEDIATE,
793 .prio_name = PRIO_ALUA,
795 /* Sun - StorageTek */
797 /* B210, B220, B240 and B280 */
799 .product = "BladeCtlr",
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,
810 /* 9176, D173, D178, D210, D220, D240 and D280 */
812 .product = "OPENstorage",
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,
825 .product = "FLEXLINE 380",
826 .bl_product = "Universal Xport",
827 .pgpolicy = GROUP_BY_PRIO,
828 .checker_name = RDAC,
829 .features = "2 pg_init_retries 50",
830 .hwhandler = "1 rdac",
831 .prio_name = PRIO_RDAC,
832 .pgfailback = -FAILBACK_IMMEDIATE,
836 /* (Dot Hill) 3310, 3320, 3510 and 3511 */
838 .product = "StorEdge 3",
839 .pgpolicy = MULTIBUS,
843 .product = "STK6580_6780",
844 .bl_product = "Universal Xport",
845 .pgpolicy = GROUP_BY_PRIO,
846 .checker_name = RDAC,
847 .features = "2 pg_init_retries 50",
848 .hwhandler = "1 rdac",
849 .prio_name = PRIO_RDAC,
850 .pgfailback = -FAILBACK_IMMEDIATE,
856 .product = "CSM[12]00_R",
857 .bl_product = "Universal Xport",
858 .pgpolicy = GROUP_BY_PRIO,
859 .checker_name = RDAC,
860 .features = "2 pg_init_retries 50",
861 .hwhandler = "1 rdac",
862 .prio_name = PRIO_RDAC,
863 .pgfailback = -FAILBACK_IMMEDIATE,
867 /* 2500 / 2510 / 2530 / 2540 */
869 .product = "LCSM100_[IEFS]",
870 .bl_product = "Universal Xport",
871 .pgpolicy = GROUP_BY_PRIO,
872 .checker_name = RDAC,
873 .features = "2 pg_init_retries 50",
874 .hwhandler = "1 rdac",
875 .prio_name = PRIO_RDAC,
876 .pgfailback = -FAILBACK_IMMEDIATE,
881 .product = "SUN_6180",
882 .bl_product = "Universal Xport",
883 .pgpolicy = GROUP_BY_PRIO,
884 .checker_name = RDAC,
885 .features = "2 pg_init_retries 50",
886 .hwhandler = "1 rdac",
887 .prio_name = PRIO_RDAC,
888 .pgfailback = -FAILBACK_IMMEDIATE,
892 /* ZFS Storage Appliances */
894 .product = "(Sun Storage|ZFS Storage|COMSTAR)",
895 .pgpolicy = GROUP_BY_PRIO,
896 .pgfailback = -FAILBACK_IMMEDIATE,
897 .prio_name = PRIO_ALUA,
903 * Maintainer : Bart Brooks
904 * Mail : bartb@pivot3.com
908 .product = "RAIGE VOLUME",
909 .no_path_retry = NO_PATH_RETRY_QUEUE,
910 .pgpolicy = MULTIBUS,
913 .vendor = "(NexGen|Pivot3)",
914 .product = "(TierStore|vSTAC)",
915 .pgpolicy = GROUP_BY_PRIO,
916 .pgfailback = -FAILBACK_IMMEDIATE,
917 .prio_name = PRIO_ALUA,
918 .no_path_retry = NO_PATH_RETRY_QUEUE,
924 .vendor = "(Intel|INTEL)",
925 .product = "Multi-Flex",
926 .bl_product = "VTrak V-LUN",
927 .hwhandler = "1 alua",
928 .pgpolicy = GROUP_BY_PRIO,
929 .pgfailback = -FAILBACK_IMMEDIATE,
930 .no_path_retry = NO_PATH_RETRY_QUEUE,
931 .prio_name = PRIO_ALUA,
937 .vendor = "(LIO-ORG|SUSE)",
939 .hwhandler = "1 alua",
940 .pgpolicy = GROUP_BY_PRIO,
941 .pgfailback = -FAILBACK_IMMEDIATE,
943 .prio_name = PRIO_ALUA,
949 .vendor = "DataCore",
950 .product = "SANmelody",
951 .pgpolicy = GROUP_BY_PRIO,
952 .pgfailback = -FAILBACK_IMMEDIATE,
953 .no_path_retry = NO_PATH_RETRY_QUEUE,
954 .prio_name = PRIO_ALUA,
958 .vendor = "DataCore",
959 .product = "Virtual Disk",
960 .pgpolicy = GROUP_BY_PRIO,
961 .pgfailback = -FAILBACK_IMMEDIATE,
962 .no_path_retry = NO_PATH_RETRY_QUEUE,
963 .prio_name = PRIO_ALUA,
970 .product = "FlashArray",
971 .pgpolicy = MULTIBUS,
980 .pgpolicy = GROUP_BY_PRIO,
981 .prio_name = PRIO_ALUA,
986 * Maintainer: Mike Christie
987 * Mail: mchristi@redhat.com
993 .deferred_remove = DEFERRED_REMOVE_ON,
1001 .pgpolicy = MULTIBUS,
1006 * Maintainer: Arnon Yaari
1007 * Mail: arnony@infinidat.com
1010 .vendor = "NFINIDAT",
1011 .product = "InfiniBox",
1012 .pgpolicy = GROUP_BY_PRIO,
1014 .prio_name = PRIO_ALUA,
1015 .selector = "round-robin 0",
1016 .rr_weight = RR_WEIGHT_PRIO,
1017 .no_path_retry = NO_PATH_RETRY_FAIL,
1020 .flush_on_last_del = FLUSH_ENABLED,
1030 .pgpolicy = MULTIBUS,
1037 .product = "(ZEBI-(FC|ISCSI)|INTELLIFLASH)",
1038 .hwhandler = "1 alua",
1039 .pgpolicy = GROUP_BY_PRIO,
1040 .pgfailback = -FAILBACK_IMMEDIATE,
1041 .prio_name = PRIO_ALUA,
1042 .no_path_retry = 10,
1050 .product = "NXS-B0",
1051 .pgpolicy = GROUP_BY_PRIO,
1052 .pgfailback = -FAILBACK_IMMEDIATE,
1053 .prio_name = PRIO_ALUA,
1054 .no_path_retry = 15,
1057 /* SATABeast / SATABoy */
1060 .pgpolicy = GROUP_BY_PRIO,
1061 .pgfailback = -FAILBACK_IMMEDIATE,
1062 .prio_name = PRIO_ALUA,
1063 .no_path_retry = 15,
1068 .product = "(NestOS|NST5000)",
1069 .hwhandler = "1 alua",
1070 .pgpolicy = GROUP_BY_PRIO,
1071 .pgfailback = -FAILBACK_IMMEDIATE,
1072 .prio_name = PRIO_ALUA,
1073 .no_path_retry = 30,
1079 /* Intelligent Storage Elements family */
1080 .vendor = "(XIOTECH|XIOtech)",
1082 .pgpolicy = MULTIBUS,
1083 .no_path_retry = 12,
1086 /* iglu blaze family */
1087 .vendor = "(XIOTECH|XIOtech)",
1088 .product = "IGLU DISK",
1089 .pgpolicy = MULTIBUS,
1090 .no_path_retry = 30,
1093 /* Magnitude family */
1094 .vendor = "(XIOTECH|XIOtech)",
1095 .product = "Magnitude",
1096 .pgpolicy = MULTIBUS,
1097 .no_path_retry = 30,
1103 /* 3000 / 6000 Series */
1105 .product = "SAN ARRAY$",
1106 .pgpolicy = GROUP_BY_SERIAL,
1107 .no_path_retry = 30,
1111 .product = "SAN ARRAY ALUA",
1112 .hwhandler = "1 alua",
1113 .pgpolicy = GROUP_BY_PRIO,
1114 .pgfailback = -FAILBACK_IMMEDIATE,
1115 .prio_name = PRIO_ALUA,
1116 .no_path_retry = 30,
1119 /* FSP 7000 family */
1121 .product = "CONCERTO ARRAY",
1122 .pgpolicy = MULTIBUS,
1123 .no_path_retry = 30,
1126 * Promise Technology
1129 .vendor = "Promise",
1131 .bl_product = "VTrak V-LUN",
1132 .hwhandler = "1 alua",
1133 .pgpolicy = GROUP_BY_PRIO,
1134 .pgfailback = -FAILBACK_IMMEDIATE,
1135 .prio_name = PRIO_ALUA,
1136 .no_path_retry = 30,
1139 .vendor = "Promise",
1141 .bl_product = "Vess V-LUN",
1142 .hwhandler = "1 alua",
1143 .pgpolicy = GROUP_BY_PRIO,
1144 .pgfailback = -FAILBACK_IMMEDIATE,
1145 .prio_name = PRIO_ALUA,
1146 .no_path_retry = 30,
1149 * Infortrend Technology
1152 /* EonStor / ESVA */
1155 .pgpolicy = GROUP_BY_PRIO,
1156 .pgfailback = -FAILBACK_IMMEDIATE,
1157 .prio_name = PRIO_ALUA,
1158 .no_path_retry = 30,
1161 * Seagate Technology (Dot Hill Systems)
1165 .vendor = "DotHill",
1166 .product = "SANnet",
1167 .pgpolicy = MULTIBUS,
1168 .no_path_retry = 30,
1171 /* R/Evolution family */
1172 .vendor = "DotHill",
1174 .pgpolicy = GROUP_BY_PRIO,
1175 .pgfailback = -FAILBACK_IMMEDIATE,
1176 .prio_name = PRIO_ALUA,
1177 .no_path_retry = 30,
1180 /* AssuredSAN family */
1181 .vendor = "DotHill",
1183 .pgpolicy = GROUP_BY_PRIO,
1184 .pgfailback = -FAILBACK_IMMEDIATE,
1185 .prio_name = PRIO_ALUA,
1186 .no_path_retry = 30,
1194 .product = "NeoSapphire",
1195 .pgpolicy = MULTIBUS,
1196 .no_path_retry = 30,
1202 /* AS5300/AS5500 G2 */
1205 .pgpolicy = GROUP_BY_PRIO,
1206 .pgfailback = -FAILBACK_IMMEDIATE,
1207 .prio_name = PRIO_ALUA,
1218 int setup_default_hwtable(vector hw)
1221 struct hwentry * hwe = default_hw;
1223 while (hwe->vendor) {
1224 r += store_hwe(hw, hwe);