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,
78 static struct hwentry default_hw[] = {
82 * Maintainer : Shyam Sundar
83 * Mail : g.shyamsundar@yahoo.co.in
87 .product = "Xserve RAID",
96 .pgpolicy = GROUP_BY_PRIO,
97 .pgfailback = -FAILBACK_IMMEDIATE,
98 .hwhandler = "1 alua",
99 .prio_name = PRIO_ALUA,
102 .dev_loss = MAX_DEV_LOSS_TMO,
105 /* RA8000 / ESA12000 */
108 .no_path_retry = NO_PATH_RETRY_QUEUE,
109 .hwhandler = "1 hp_sw",
110 .pgpolicy = GROUP_BY_PRIO,
111 .checker_name = HP_SW,
112 .prio_name = PRIO_HP_SW,
115 /* VIRTUAL ARRAY 7400 */
118 .pgpolicy = MULTIBUS,
122 /* MSA 1000/1500 and EVA 3000/5000, with old firmware */
123 .vendor = "(COMPAQ|HP)",
124 .product = "(MSA|HSV)1[01]0",
125 .hwhandler = "1 hp_sw",
126 .pgpolicy = GROUP_BY_PRIO,
128 .checker_name = HP_SW,
129 .prio_name = PRIO_HP_SW,
132 /* MSA 1000/1500 with new firmware */
133 .vendor = "(COMPAQ|HP)",
134 .product = "MSA VOLUME",
135 .pgpolicy = GROUP_BY_PRIO,
136 .pgfailback = -FAILBACK_IMMEDIATE,
138 .prio_name = PRIO_ALUA,
141 /* EVA 3000/5000 with new firmware, EVA 4000/6000/8000 */
142 .vendor = "(COMPAQ|HP)",
143 .product = "(HSV1[01]1|HSV2[01]0|HSV3[046]0|HSV4[05]0)",
144 .pgpolicy = GROUP_BY_PRIO,
145 .pgfailback = -FAILBACK_IMMEDIATE,
147 .prio_name = PRIO_ALUA,
150 /* MSA2000 family with old firmware */
152 .product = "(MSA2[02]12fc|MSA2012i)",
153 .pgpolicy = MULTIBUS,
157 /* MSA2000 family with new firmware */
159 .product = "(MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME)",
160 .pgpolicy = GROUP_BY_PRIO,
161 .pgfailback = -FAILBACK_IMMEDIATE,
163 .prio_name = PRIO_ALUA,
166 /* MSA 1040, 2040 and 2050 families */
168 .product = "MSA [12]0[45]0 SA[NS]",
169 .pgpolicy = GROUP_BY_PRIO,
170 .pgfailback = -FAILBACK_IMMEDIATE,
172 .prio_name = PRIO_ALUA,
175 /* SAN Virtualization Services Platform */
177 .product = "HSVX700",
178 .hwhandler = "1 alua",
179 .pgpolicy = GROUP_BY_PRIO,
180 .pgfailback = -FAILBACK_IMMEDIATE,
182 .prio_name = PRIO_ALUA,
187 .product = "LOGICAL VOLUME",
188 .pgpolicy = MULTIBUS,
194 .product = "(P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI)",
195 .pgpolicy = GROUP_BY_PRIO,
196 .pgfailback = -FAILBACK_IMMEDIATE,
198 .prio_name = PRIO_ALUA,
201 /* StoreVirtual 4000 and 3200 families */
202 .vendor = "LEFTHAND",
203 .product = "(P4000|iSCSIDisk|FCDISK)",
204 .pgpolicy = GROUP_BY_PRIO,
205 .pgfailback = -FAILBACK_IMMEDIATE,
207 .prio_name = PRIO_ALUA,
210 * DataDirect Networks
214 .product = "SAN DataDirector",
215 .pgpolicy = MULTIBUS,
219 .product = "^EF3010",
220 .pgpolicy = MULTIBUS,
225 .product = "^(EF3015|S2A|SFA)",
226 .pgpolicy = GROUP_BY_PRIO,
227 .pgfailback = -FAILBACK_IMMEDIATE,
228 .prio_name = PRIO_ALUA,
235 /* Symmetrix / DMX / VMAX */
237 .product = "SYMMETRIX",
238 .pgpolicy = MULTIBUS,
242 /* DGC CLARiiON CX/AX / EMC VNX and Unity */
244 .product = "^(RAID|DISK|VRAID)",
245 .bl_product = "LUNZ",
246 .hwhandler = "1 emc",
247 .pgpolicy = GROUP_BY_PRIO,
248 .pgfailback = -FAILBACK_IMMEDIATE,
249 .no_path_retry = (300 / DEFAULT_CHECKINT),
250 .checker_name = EMC_CLARIION,
251 .prio_name = PRIO_EMC,
254 /* Invista / VPLEX */
256 .product = "Invista",
257 .bl_product = "LUNZ",
258 .pgpolicy = MULTIBUS,
263 .product = "XtremApp",
264 .pgpolicy = MULTIBUS,
268 * Dell SC Series, formerly Compellent
270 * Maintainer : Sean McGinnis
271 * Mail : sean_mcginnis@dell.com
273 .vendor = "COMPELNT",
274 .product = "Compellent Vol",
275 .pgpolicy = MULTIBUS,
276 .no_path_retry = NO_PATH_RETRY_QUEUE,
282 .bl_product = "Universal Xport",
283 .pgpolicy = GROUP_BY_PRIO,
284 .checker_name = RDAC,
285 .features = "2 pg_init_retries 50",
286 .hwhandler = "1 rdac",
287 .prio_name = PRIO_RDAC,
288 .pgfailback = -FAILBACK_IMMEDIATE,
296 .product = "CentricStor",
297 .pgpolicy = GROUP_BY_SERIAL,
301 .product = "ETERNUS_DX(H|L|M|400|8000)",
302 .pgpolicy = GROUP_BY_PRIO,
303 .pgfailback = -FAILBACK_IMMEDIATE,
305 .prio_name = PRIO_ALUA,
309 .vendor = "(EUROLOGC|EuroLogc)",
311 .pgpolicy = MULTIBUS,
315 .product = "E[234]000",
316 .pgpolicy = GROUP_BY_PRIO,
317 .pgfailback = -FAILBACK_IMMEDIATE,
319 .prio_name = PRIO_ALUA,
323 .product = "E[68]000",
324 .pgpolicy = MULTIBUS,
330 * Maintainer : Matthias Rudolph
331 * Mail : matthias.rudolph@hds.com
334 /* USP-V, HUS VM, VSP, VSP G1000 and VSP GX00 families */
335 .vendor = "(HITACHI|HP)",
337 .pgpolicy = MULTIBUS,
340 /* AMS 2000 and HUS 100 families */
341 .vendor = "(HITACHI|HP)",
343 .no_path_retry = NO_PATH_RETRY_QUEUE,
344 .pgpolicy = GROUP_BY_PRIO,
345 .pgfailback = -FAILBACK_IMMEDIATE,
346 .prio_name = PRIO_HDS,
351 * Maintainer : Hannes Reinecke
352 * Mail : hare@suse.de
356 .product = "ProFibre 4000R",
357 .pgpolicy = MULTIBUS,
360 /* DS4300 / FAStT600 */
362 .product = "^1722-600",
363 .bl_product = "Universal Xport",
364 .pgpolicy = GROUP_BY_PRIO,
365 .checker_name = RDAC,
366 .features = "2 pg_init_retries 50",
367 .hwhandler = "1 rdac",
368 .prio_name = PRIO_RDAC,
369 .pgfailback = -FAILBACK_IMMEDIATE,
373 /* DS4100 / FAStT100 */
376 .bl_product = "Universal Xport",
377 .pgpolicy = GROUP_BY_PRIO,
378 .checker_name = RDAC,
379 .features = "2 pg_init_retries 50",
380 .hwhandler = "1 rdac",
381 .prio_name = PRIO_RDAC,
382 .pgfailback = -FAILBACK_IMMEDIATE,
386 /* DS3000 / DS3200 / DS3300 / DS3400 / Boot DS */
389 .bl_product = "Universal Xport",
390 .pgpolicy = GROUP_BY_PRIO,
391 .checker_name = RDAC,
392 .features = "2 pg_init_retries 50",
393 .hwhandler = "1 rdac",
394 .prio_name = PRIO_RDAC,
395 .pgfailback = -FAILBACK_IMMEDIATE,
399 /* DS4400 / DS4500 / FAStT700 / FAStT900 */
402 .bl_product = "Universal Xport",
403 .pgpolicy = GROUP_BY_PRIO,
404 .checker_name = RDAC,
405 .features = "2 pg_init_retries 50",
406 .hwhandler = "1 rdac",
407 .prio_name = PRIO_RDAC,
408 .pgfailback = -FAILBACK_IMMEDIATE,
412 /* DS3500 / DS3512 / DS3524 */
415 .bl_product = "Universal Xport",
416 .pgpolicy = GROUP_BY_PRIO,
417 .checker_name = RDAC,
418 .features = "2 pg_init_retries 50",
419 .hwhandler = "1 rdac",
420 .prio_name = PRIO_RDAC,
421 .pgfailback = -FAILBACK_IMMEDIATE,
428 .bl_product = "Universal Xport",
429 .pgpolicy = GROUP_BY_PRIO,
430 .checker_name = RDAC,
431 .features = "2 pg_init_retries 50",
432 .hwhandler = "1 rdac",
433 .prio_name = PRIO_RDAC,
434 .pgfailback = -FAILBACK_IMMEDIATE,
438 /* DS3950 / DS4200 / DS4700 / DS5020 */
441 .bl_product = "Universal Xport",
442 .pgpolicy = GROUP_BY_PRIO,
443 .checker_name = RDAC,
444 .features = "2 pg_init_retries 50",
445 .hwhandler = "1 rdac",
446 .prio_name = PRIO_RDAC,
447 .pgfailback = -FAILBACK_IMMEDIATE,
454 .bl_product = "Universal Xport",
455 .pgpolicy = GROUP_BY_PRIO,
456 .checker_name = RDAC,
457 .features = "2 pg_init_retries 50",
458 .hwhandler = "1 rdac",
459 .prio_name = PRIO_RDAC,
460 .pgfailback = -FAILBACK_IMMEDIATE,
464 /* DS5000 / DS5100 / DS5300 / DCS3700 */
467 .bl_product = "Universal Xport",
468 .pgpolicy = GROUP_BY_PRIO,
469 .checker_name = RDAC,
470 .features = "2 pg_init_retries 50",
471 .hwhandler = "1 rdac",
472 .prio_name = PRIO_RDAC,
473 .pgfailback = -FAILBACK_IMMEDIATE,
477 /* Netfinity Fibre Channel RAID Controller Unit */
480 .bl_product = "Universal Xport",
481 .pgpolicy = GROUP_BY_PRIO,
482 .checker_name = RDAC,
483 .features = "2 pg_init_retries 50",
484 .hwhandler = "1 rdac",
485 .prio_name = PRIO_RDAC,
486 .pgfailback = -FAILBACK_IMMEDIATE,
490 /* FAStT200 and FAStT500 */
492 .product = "^(3542|3552)",
493 .bl_product = "Universal Xport",
494 .pgpolicy = GROUP_BY_PRIO,
495 .checker_name = RDAC,
496 .features = "2 pg_init_retries 50",
497 .hwhandler = "1 rdac",
498 .prio_name = PRIO_RDAC,
499 .pgfailback = -FAILBACK_IMMEDIATE,
503 /* Enterprise Storage Server / Shark family */
506 .no_path_retry = NO_PATH_RETRY_QUEUE,
507 .pgpolicy = MULTIBUS,
510 /* DS6000 / DS6800 */
512 .product = "^1750500",
513 .no_path_retry = NO_PATH_RETRY_QUEUE,
514 .pgpolicy = GROUP_BY_PRIO,
515 .pgfailback = -FAILBACK_IMMEDIATE,
516 .prio_name = PRIO_ALUA,
521 .product = "^2107900",
522 .no_path_retry = NO_PATH_RETRY_QUEUE,
523 .pgpolicy = MULTIBUS,
526 /* Storwize family / SAN Volume Controller / Flex System V7000 / FlashSystem V840/V9000 */
529 .no_path_retry = NO_PATH_RETRY_QUEUE,
530 .pgpolicy = GROUP_BY_PRIO,
531 .pgfailback = -FAILBACK_IMMEDIATE,
532 .prio_name = PRIO_ALUA,
536 .product = "S/390 DASD ECKD",
537 .bl_product = "S/390",
538 .uid_attribute = "ID_UID",
539 .no_path_retry = NO_PATH_RETRY_QUEUE,
540 .pgpolicy = MULTIBUS,
544 .product = "S/390 DASD FBA",
545 .bl_product = "S/390",
546 .uid_attribute = "ID_UID",
547 .no_path_retry = NO_PATH_RETRY_QUEUE,
548 .pgpolicy = MULTIBUS,
554 .no_path_retry = NO_PATH_RETRY_QUEUE,
555 .hwhandler = "1 alua",
556 .pgpolicy = GROUP_BY_PRIO,
557 .pgfailback = -FAILBACK_IMMEDIATE,
558 .prio_name = PRIO_ALUA,
561 /* SAS RAID Controller Module (RSSM) */
563 .product = "1820N00",
564 .pgpolicy = GROUP_BY_PRIO,
565 .pgfailback = -FAILBACK_IMMEDIATE,
566 .no_path_retry = NO_PATH_RETRY_QUEUE,
567 .prio_name = PRIO_ALUA,
570 /* XIV Storage System / FlashSystem A9000/A9000R */
571 .vendor = "(XIV|IBM)",
572 .product = "(NEXTRA|2810XIV)",
573 .no_path_retry = NO_PATH_RETRY_QUEUE,
574 .pgpolicy = MULTIBUS,
577 /* TMS RamSan / FlashSystem 710/720/810/820/840/900 */
578 .vendor = "(TMS|IBM)",
579 .product = "(RamSan|FlashSystem)",
580 .pgpolicy = MULTIBUS,
585 .product = "^(DCS9900|2851)",
586 .pgpolicy = GROUP_BY_PRIO,
587 .pgfailback = -FAILBACK_IMMEDIATE,
588 .prio_name = PRIO_ALUA,
592 * IBM Power Virtual SCSI Devices
594 * Maintainer : Brian King
595 * Mail : brking@linux.vnet.ibm.com
600 .pgpolicy = MULTIBUS,
601 .no_path_retry = (300 / DEFAULT_CHECKINT),
606 .product = "3303[ ]+NVDISK",
607 .no_path_retry = (300 / DEFAULT_CHECKINT),
612 .hwhandler = "1 alua",
613 .pgpolicy = GROUP_BY_PRIO,
614 .pgfailback = -FAILBACK_IMMEDIATE,
615 .no_path_retry = (300 / DEFAULT_CHECKINT),
616 .prio_name = PRIO_ALUA,
625 * Maintainer : Martin George
626 * Mail : marting@netapp.com
630 .features = "2 pg_init_retries 50",
631 .no_path_retry = NO_PATH_RETRY_QUEUE,
632 .pgpolicy = GROUP_BY_PRIO,
633 .pgfailback = -FAILBACK_IMMEDIATE,
634 .flush_on_last_del = FLUSH_ENABLED,
635 .dev_loss = MAX_DEV_LOSS_TMO,
636 .prio_name = PRIO_ONTAP,
640 * SANtricity(RDAC) family
642 * Maintainer : Sean Stewart
643 * Mail : sean.stewart@netapp.com
645 .vendor = "(NETAPP|LSI|ENGENIO)",
646 .product = "INF-01-00",
647 .bl_product = "Universal Xport",
648 .pgpolicy = GROUP_BY_PRIO,
649 .checker_name = RDAC,
650 .features = "2 pg_init_retries 50",
651 .hwhandler = "1 rdac",
652 .prio_name = PRIO_RDAC,
653 .pgfailback = -FAILBACK_IMMEDIATE,
660 * Maintainer : PJ Waskiewicz
661 * Mail : pj.waskiewicz@netapp.com
663 .vendor = "SolidFir",
664 .product = "SSD SAN",
665 .pgpolicy = MULTIBUS,
671 * Maintainer : Yacine Kheddache
672 * Mail : yacine@alyseo.com
676 .product = "COMSTAR",
677 .pgpolicy = GROUP_BY_SERIAL,
686 .pgpolicy = MULTIBUS,
689 /* Total Performance family */
691 .product = "TP9[3457]00",
692 .bl_product = "Universal Xport",
693 .pgpolicy = GROUP_BY_PRIO,
694 .checker_name = RDAC,
695 .features = "2 pg_init_retries 50",
696 .hwhandler = "1 rdac",
697 .prio_name = PRIO_RDAC,
698 .pgfailback = -FAILBACK_IMMEDIATE,
702 /* InfiniteStorage family */
705 .bl_product = "Universal Xport",
706 .pgpolicy = GROUP_BY_PRIO,
707 .checker_name = RDAC,
708 .features = "2 pg_init_retries 50",
709 .hwhandler = "1 rdac",
710 .prio_name = PRIO_RDAC,
711 .pgfailback = -FAILBACK_IMMEDIATE,
717 .product = "^DD[46]A-",
718 .pgpolicy = GROUP_BY_PRIO,
719 .pgfailback = -FAILBACK_IMMEDIATE,
720 .prio_name = PRIO_ALUA,
729 .product = "DISK ARRAY",
730 .hwhandler = "1 alua",
731 .pgpolicy = GROUP_BY_PRIO,
732 .pgfailback = -FAILBACK_IMMEDIATE,
733 .prio_name = PRIO_ALUA,
739 * Pillar Data / Oracle FS
741 * Maintainer : Srinivasan Ramani
742 * Mail : srinivas.ramani@oracle.com
747 .pgpolicy = GROUP_BY_PRIO,
748 .pgfailback = -FAILBACK_IMMEDIATE,
749 .prio_name = PRIO_ALUA,
753 .product = "^Oracle FS",
754 .pgpolicy = GROUP_BY_PRIO,
755 .pgfailback = -FAILBACK_IMMEDIATE,
756 .prio_name = PRIO_ALUA,
758 /* Sun - StorageTek */
760 /* B210, B220, B240 and B280 */
762 .product = "BladeCtlr",
763 .bl_product = "Universal Xport",
764 .pgpolicy = GROUP_BY_PRIO,
765 .checker_name = RDAC,
766 .features = "2 pg_init_retries 50",
767 .hwhandler = "1 rdac",
768 .prio_name = PRIO_RDAC,
769 .pgfailback = -FAILBACK_IMMEDIATE,
773 /* 9176, D173, D178, D210, D220, D240 and D280 */
775 .product = "OPENstorage",
776 .bl_product = "Universal Xport",
777 .pgpolicy = GROUP_BY_PRIO,
778 .checker_name = RDAC,
779 .features = "2 pg_init_retries 50",
780 .hwhandler = "1 rdac",
781 .prio_name = PRIO_RDAC,
782 .pgfailback = -FAILBACK_IMMEDIATE,
788 .product = "FLEXLINE 380",
789 .bl_product = "Universal Xport",
790 .pgpolicy = GROUP_BY_PRIO,
791 .checker_name = RDAC,
792 .features = "2 pg_init_retries 50",
793 .hwhandler = "1 rdac",
794 .prio_name = PRIO_RDAC,
795 .pgfailback = -FAILBACK_IMMEDIATE,
799 /* (Dot Hill) 3310, 3320, 3510 and 3511 */
801 .product = "StorEdge 3",
802 .pgpolicy = MULTIBUS,
806 .product = "STK6580_6780",
807 .bl_product = "Universal Xport",
808 .pgpolicy = GROUP_BY_PRIO,
809 .checker_name = RDAC,
810 .features = "2 pg_init_retries 50",
811 .hwhandler = "1 rdac",
812 .prio_name = PRIO_RDAC,
813 .pgfailback = -FAILBACK_IMMEDIATE,
819 .product = "CSM[12]00_R",
820 .bl_product = "Universal Xport",
821 .pgpolicy = GROUP_BY_PRIO,
822 .checker_name = RDAC,
823 .features = "2 pg_init_retries 50",
824 .hwhandler = "1 rdac",
825 .prio_name = PRIO_RDAC,
826 .pgfailback = -FAILBACK_IMMEDIATE,
830 /* 2500 / 2510 / 2530 / 2540 */
832 .product = "LCSM100_[IEFS]",
833 .bl_product = "Universal Xport",
834 .pgpolicy = GROUP_BY_PRIO,
835 .checker_name = RDAC,
836 .features = "2 pg_init_retries 50",
837 .hwhandler = "1 rdac",
838 .prio_name = PRIO_RDAC,
839 .pgfailback = -FAILBACK_IMMEDIATE,
844 .product = "SUN_6180",
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,
855 /* ZFS Storage Appliances */
857 .product = "(Sun Storage|ZFS Storage|COMSTAR)",
858 .pgpolicy = GROUP_BY_PRIO,
859 .pgfailback = -FAILBACK_IMMEDIATE,
860 .prio_name = PRIO_ALUA,
866 * Maintainer : Bart Brooks
867 * Mail : bartb@pivot3.com
871 .product = "RAIGE VOLUME",
872 .no_path_retry = NO_PATH_RETRY_QUEUE,
873 .pgpolicy = MULTIBUS,
876 .vendor = "(NexGen|Pivot3)",
877 .product = "(TierStore|vSTAC)",
878 .pgpolicy = GROUP_BY_PRIO,
879 .pgfailback = -FAILBACK_IMMEDIATE,
880 .prio_name = PRIO_ALUA,
881 .no_path_retry = NO_PATH_RETRY_QUEUE,
887 .vendor = "(Intel|INTEL)",
888 .product = "Multi-Flex",
889 .bl_product = "VTrak V-LUN",
890 .hwhandler = "1 alua",
891 .pgpolicy = GROUP_BY_PRIO,
892 .pgfailback = -FAILBACK_IMMEDIATE,
893 .no_path_retry = NO_PATH_RETRY_QUEUE,
894 .prio_name = PRIO_ALUA,
900 .vendor = "(LIO-ORG|SUSE)",
902 .hwhandler = "1 alua",
903 .pgpolicy = GROUP_BY_PRIO,
904 .pgfailback = -FAILBACK_IMMEDIATE,
906 .prio_name = PRIO_ALUA,
912 .vendor = "DataCore",
913 .product = "SANmelody",
914 .pgpolicy = GROUP_BY_PRIO,
915 .pgfailback = -FAILBACK_IMMEDIATE,
916 .no_path_retry = NO_PATH_RETRY_QUEUE,
917 .prio_name = PRIO_ALUA,
921 .vendor = "DataCore",
922 .product = "Virtual Disk",
923 .pgpolicy = GROUP_BY_PRIO,
924 .pgfailback = -FAILBACK_IMMEDIATE,
925 .no_path_retry = NO_PATH_RETRY_QUEUE,
926 .prio_name = PRIO_ALUA,
933 .product = "FlashArray",
934 .pgpolicy = MULTIBUS,
943 .pgpolicy = GROUP_BY_PRIO,
944 .prio_name = PRIO_ALUA,
949 * Maintainer: Mike Christie
950 * Mail: mchristi@redhat.com
956 .deferred_remove = DEFERRED_REMOVE_ON,
964 .pgpolicy = MULTIBUS,
969 * Maintainer: Arnon Yaari
970 * Mail: arnony@infinidat.com
973 .vendor = "NFINIDAT",
974 .product = "InfiniBox",
975 .pgpolicy = GROUP_BY_PRIO,
977 .prio_name = PRIO_ALUA,
978 .selector = "round-robin 0",
979 .rr_weight = RR_WEIGHT_PRIO,
980 .no_path_retry = NO_PATH_RETRY_FAIL,
983 .flush_on_last_del = FLUSH_ENABLED,
993 .hwhandler = "1 alua",
994 .pgpolicy = GROUP_BY_PRIO,
995 .pgfailback = -FAILBACK_IMMEDIATE,
996 .prio_name = PRIO_ALUA,
997 .no_path_retry = NO_PATH_RETRY_QUEUE,
1005 .pgpolicy = MULTIBUS,
1012 .product = "(ZEBI-(FC|ISCSI)|INTELLIFLASH)",
1013 .hwhandler = "1 alua",
1014 .pgpolicy = GROUP_BY_PRIO,
1015 .pgfailback = -FAILBACK_IMMEDIATE,
1016 .prio_name = PRIO_ALUA,
1017 .no_path_retry = 10,
1025 .product = "NXS-B0",
1026 .pgpolicy = GROUP_BY_PRIO,
1027 .pgfailback = -FAILBACK_IMMEDIATE,
1028 .prio_name = PRIO_ALUA,
1029 .no_path_retry = 15,
1032 /* SATABeast / SATABoy */
1035 .pgpolicy = GROUP_BY_PRIO,
1036 .pgfailback = -FAILBACK_IMMEDIATE,
1037 .prio_name = PRIO_ALUA,
1038 .no_path_retry = 15,
1043 .product = "(NestOS|NST5000)",
1044 .hwhandler = "1 alua",
1045 .pgpolicy = GROUP_BY_PRIO,
1046 .pgfailback = -FAILBACK_IMMEDIATE,
1047 .prio_name = PRIO_ALUA,
1048 .no_path_retry = 30,
1054 /* Intelligent Storage Elements family */
1055 .vendor = "(XIOTECH|XIOtech)",
1057 .pgpolicy = MULTIBUS,
1058 .no_path_retry = 12,
1061 /* iglu blaze family */
1062 .vendor = "(XIOTECH|XIOtech)",
1063 .product = "IGLU DISK",
1064 .pgpolicy = MULTIBUS,
1065 .no_path_retry = 30,
1068 /* Magnitude family */
1069 .vendor = "(XIOTECH|XIOtech)",
1070 .product = "Magnitude",
1071 .pgpolicy = MULTIBUS,
1072 .no_path_retry = 30,
1078 /* 3000 / 6000 Series */
1080 .product = "SAN ARRAY$",
1081 .pgpolicy = GROUP_BY_SERIAL,
1082 .no_path_retry = 30,
1086 .product = "SAN ARRAY ALUA",
1087 .hwhandler = "1 alua",
1088 .pgpolicy = GROUP_BY_PRIO,
1089 .pgfailback = -FAILBACK_IMMEDIATE,
1090 .prio_name = PRIO_ALUA,
1091 .no_path_retry = 30,
1094 /* FSP 7000 family */
1096 .product = "CONCERTO ARRAY",
1097 .pgpolicy = MULTIBUS,
1098 .no_path_retry = 30,
1101 * Promise Technology
1104 .vendor = "Promise",
1106 .bl_product = "VTrak V-LUN",
1107 .hwhandler = "1 alua",
1108 .pgpolicy = GROUP_BY_PRIO,
1109 .pgfailback = -FAILBACK_IMMEDIATE,
1110 .prio_name = PRIO_ALUA,
1111 .no_path_retry = 30,
1114 .vendor = "Promise",
1116 .bl_product = "Vess V-LUN",
1117 .hwhandler = "1 alua",
1118 .pgpolicy = GROUP_BY_PRIO,
1119 .pgfailback = -FAILBACK_IMMEDIATE,
1120 .prio_name = PRIO_ALUA,
1121 .no_path_retry = 30,
1124 * Infortrend Technology
1127 /* EonStor / ESVA */
1130 .pgpolicy = GROUP_BY_PRIO,
1131 .pgfailback = -FAILBACK_IMMEDIATE,
1132 .prio_name = PRIO_ALUA,
1133 .no_path_retry = 30,
1136 * Generic NVMe devices
1141 .uid_attribute = "ID_WWN",
1142 .checker_name = NONE,
1143 .retain_hwhandler = RETAIN_HWHANDLER_OFF,
1146 * Dot Hill Systems - Seagate Technology
1150 .vendor = "DotHill",
1151 .product = "SANnet",
1152 .pgpolicy = MULTIBUS,
1153 .no_path_retry = 30,
1156 /* R/Evolution family */
1157 .vendor = "DotHill",
1159 .pgpolicy = GROUP_BY_PRIO,
1160 .pgfailback = -FAILBACK_IMMEDIATE,
1161 .prio_name = PRIO_ALUA,
1162 .no_path_retry = 30,
1165 /* AssuredSAN family */
1166 .vendor = "DotHill",
1168 .pgpolicy = GROUP_BY_PRIO,
1169 .pgfailback = -FAILBACK_IMMEDIATE,
1170 .prio_name = PRIO_ALUA,
1171 .no_path_retry = 30,
1179 .product = "NeoSapphire",
1180 .pgpolicy = MULTIBUS,
1181 .no_path_retry = 30,
1192 int setup_default_hwtable(vector hw)
1195 struct hwentry * hwe = default_hw;
1197 while (hwe->vendor) {
1198 r += store_hwe(hw, hwe);