8 #include "pgpolicies.h"
12 * Tuning suggestions on these parameters should go to
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 static struct hwentry default_hw[] = {
21 * Compellent Technologies, Inc.
23 * Maintainer : Jim Lester, Compellent
24 * Mail : jim.lester@compellent.com
28 .product = "Compellent Vol",
29 .getuid = DEFAULT_GETUID,
30 .features = DEFAULT_FEATURES,
31 .hwhandler = DEFAULT_HWHANDLER,
32 .selector = DEFAULT_SELECTOR,
34 .pgfailback = -FAILBACK_IMMEDIATE,
35 .rr_weight = RR_WEIGHT_NONE,
36 .no_path_retry = NO_PATH_RETRY_QUEUE,
37 .minio = DEFAULT_MINIO,
39 .prio_name = DEFAULT_PRIO,
42 * Apple controller family
44 * Maintainer : Shyam Sundar
45 * Mail : g.shyamsundar@yahoo.co.in
49 .product = "Xserve RAID ",
50 .getuid = DEFAULT_GETUID,
51 .features = DEFAULT_FEATURES,
52 .hwhandler = DEFAULT_HWHANDLER,
53 .selector = DEFAULT_SELECTOR,
55 .pgfailback = FAILBACK_UNDEF,
56 .rr_weight = RR_WEIGHT_NONE,
57 .no_path_retry = NO_PATH_RETRY_UNDEF,
58 .minio = DEFAULT_MINIO,
59 .checker_name = DEFAULT_CHECKER,
60 .prio_name = DEFAULT_PRIO,
63 * StorageWorks controller family
65 * Maintainer : Christophe Varoqui
66 * Mail : christophe.varoqui@free.fr
71 .getuid = DEFAULT_GETUID,
72 .features = DEFAULT_FEATURES,
73 .hwhandler = DEFAULT_HWHANDLER,
74 .selector = DEFAULT_SELECTOR,
76 .pgfailback = FAILBACK_UNDEF,
77 .rr_weight = RR_WEIGHT_NONE,
78 .no_path_retry = NO_PATH_RETRY_UNDEF,
79 .minio = DEFAULT_MINIO,
80 .checker_name = DEFAULT_CHECKER,
81 .prio_name = DEFAULT_PRIO,
86 .getuid = DEFAULT_GETUID,
87 .features = "1 queue_if_no_path",
88 .hwhandler = "1 hp-sw",
89 .selector = DEFAULT_SELECTOR,
90 .pgpolicy = GROUP_BY_PRIO,
91 .pgfailback = FAILBACK_UNDEF,
92 .rr_weight = RR_WEIGHT_NONE,
93 .no_path_retry = NO_PATH_RETRY_UNDEF,
94 .minio = DEFAULT_MINIO,
95 .checker_name = HP_SW,
96 .prio_name = PRIO_HP_SW,
101 .getuid = DEFAULT_GETUID,
102 .features = DEFAULT_FEATURES,
103 .hwhandler = DEFAULT_HWHANDLER,
104 .selector = DEFAULT_SELECTOR,
105 .pgpolicy = MULTIBUS,
106 .pgfailback = FAILBACK_UNDEF,
107 .rr_weight = RR_WEIGHT_NONE,
109 .minio = DEFAULT_MINIO,
110 .checker_name = DIRECTIO,
111 .prio_name = DEFAULT_PRIO,
114 /* MSA 1000/MSA1500 EVA 3000/5000 with old firmware */
115 .vendor = "(COMPAQ|HP)",
116 .product = "(MSA|HSV)1.0.*",
117 .getuid = DEFAULT_GETUID,
118 .features = "1 queue_if_no_path",
119 .hwhandler = "1 hp-sw",
120 .selector = DEFAULT_SELECTOR,
121 .pgpolicy = GROUP_BY_PRIO,
122 .pgfailback = FAILBACK_UNDEF,
123 .rr_weight = RR_WEIGHT_NONE,
125 .minio = DEFAULT_MINIO,
126 .checker_name = HP_SW,
127 .prio_name = PRIO_HP_SW,
130 /* MSA 1000/1500 with new firmware */
132 .product = "MSA VOLUME",
133 .getuid = DEFAULT_GETUID,
134 .features = DEFAULT_FEATURES,
135 .hwhandler = DEFAULT_HWHANDLER,
136 .selector = DEFAULT_SELECTOR,
137 .pgpolicy = GROUP_BY_PRIO,
138 .pgfailback = -FAILBACK_IMMEDIATE,
139 .rr_weight = RR_WEIGHT_NONE,
141 .minio = DEFAULT_MINIO,
143 .prio_name = PRIO_ALUA,
147 .product = "MSA2000s*",
148 .getuid = "/sbin/cciss_id %n",
149 .features = DEFAULT_FEATURES,
150 .hwhandler = DEFAULT_HWHANDLER,
151 .selector = DEFAULT_SELECTOR,
152 .pgpolicy = GROUP_BY_PRIO,
153 .pgfailback = -FAILBACK_IMMEDIATE,
154 .rr_weight = RR_WEIGHT_NONE,
156 .minio = DEFAULT_MINIO,
158 .prio_name = DEFAULT_PRIO,
161 /* EVA 3000/5000 with new firmware, EVA 4000/6000/8000 */
162 .vendor = "(COMPAQ|HP)",
163 .product = "HSV1[01]1|HSV2[01]0|HSV300",
164 .getuid = DEFAULT_GETUID,
165 .features = DEFAULT_FEATURES,
166 .hwhandler = DEFAULT_HWHANDLER,
167 .selector = DEFAULT_SELECTOR,
168 .pgpolicy = GROUP_BY_PRIO,
169 .pgfailback = -FAILBACK_IMMEDIATE,
170 .rr_weight = RR_WEIGHT_NONE,
172 .minio = DEFAULT_MINIO,
174 .prio_name = PRIO_ALUA,
177 /* HP MSA2000 product family */
179 .product = "MSA2[02]12*",
180 .getuid = DEFAULT_GETUID,
181 .features = DEFAULT_FEATURES,
182 .hwhandler = DEFAULT_HWHANDLER,
183 .selector = DEFAULT_SELECTOR,
184 .pgpolicy = MULTIBUS,
185 .pgfailback = -FAILBACK_IMMEDIATE,
186 .rr_weight = RR_WEIGHT_NONE,
188 .minio = DEFAULT_MINIO,
190 .prio_name = DEFAULT_PRIO,
195 .product = "LOGICAL VOLUME.*",
196 .getuid = "/lib/udev/scsi_id -n -g -u -d /dev/%n",
197 .features = DEFAULT_FEATURES,
198 .hwhandler = DEFAULT_HWHANDLER,
199 .selector = DEFAULT_SELECTOR,
200 .pgpolicy = MULTIBUS,
201 .pgfailback = FAILBACK_UNDEF,
202 .rr_weight = RR_WEIGHT_NONE,
204 .minio = DEFAULT_MINIO,
205 .checker_name = CCISS_TUR,
206 .prio_name = DEFAULT_PRIO,
209 * DDN controller family
211 * Maintainer : Christophe Varoqui
212 * Mail : christophe.varoqui@free.fr
216 .product = "SAN DataDirector",
217 .getuid = DEFAULT_GETUID,
218 .features = DEFAULT_FEATURES,
219 .hwhandler = DEFAULT_HWHANDLER,
220 .selector = DEFAULT_SELECTOR,
221 .pgpolicy = MULTIBUS,
222 .pgfailback = FAILBACK_UNDEF,
223 .rr_weight = RR_WEIGHT_NONE,
224 .no_path_retry = NO_PATH_RETRY_UNDEF,
225 .minio = DEFAULT_MINIO,
226 .checker_name = DIRECTIO,
227 .prio_name = DEFAULT_PRIO,
230 * EMC / Clariion controller family
232 * Maintainer : Edward Goggin, EMC
233 * Mail : egoggin@emc.com
237 .product = "SYMMETRIX",
238 .getuid = "/lib/udev/scsi_id -g -u -ppre-spc3-83 -d /dev/%n",
239 .features = DEFAULT_FEATURES,
240 .hwhandler = DEFAULT_HWHANDLER,
241 .selector = DEFAULT_SELECTOR,
242 .pgpolicy = MULTIBUS,
243 .pgfailback = FAILBACK_UNDEF,
244 .rr_weight = RR_WEIGHT_NONE,
245 .no_path_retry = NO_PATH_RETRY_UNDEF,
246 .minio = DEFAULT_MINIO,
247 .checker_name = DIRECTIO,
248 .prio_name = DEFAULT_PRIO,
253 .bl_product = "LUNZ",
254 .getuid = DEFAULT_GETUID,
255 .features = "1 queue_if_no_path",
256 .hwhandler = "1 emc",
257 .selector = DEFAULT_SELECTOR,
258 .pgpolicy = GROUP_BY_PRIO,
259 .pgfailback = -FAILBACK_IMMEDIATE,
260 .rr_weight = RR_WEIGHT_NONE,
261 .no_path_retry = (300 / DEFAULT_CHECKINT),
262 .minio = DEFAULT_MINIO,
263 .checker_name = EMC_CLARIION,
264 .prio_name = PRIO_EMC,
267 * Fujitsu controller family
269 * Maintainer : Christophe Varoqui
270 * Mail : christophe.varoqui@free.fr
274 .product = "CentricStor",
275 .getuid = DEFAULT_GETUID,
276 .features = DEFAULT_FEATURES,
277 .hwhandler = DEFAULT_HWHANDLER,
278 .selector = DEFAULT_SELECTOR,
279 .pgpolicy = GROUP_BY_SERIAL,
280 .pgfailback = FAILBACK_UNDEF,
281 .rr_weight = RR_WEIGHT_NONE,
282 .no_path_retry = NO_PATH_RETRY_UNDEF,
283 .minio = DEFAULT_MINIO,
284 .checker_name = DIRECTIO,
285 .prio_name = DEFAULT_PRIO,
288 * Hitachi controller family
290 * Maintainer : Matthias Rudolph
291 * Mail : matthias.rudolph@hds.com
294 .vendor = "(HITACHI|HP)",
295 .product = "OPEN-.*",
296 .getuid = DEFAULT_GETUID,
297 .features = "1 queue_if_no_path",
298 .hwhandler = DEFAULT_HWHANDLER,
299 .selector = DEFAULT_SELECTOR,
300 .pgpolicy = MULTIBUS,
301 .pgfailback = FAILBACK_UNDEF,
302 .rr_weight = RR_WEIGHT_NONE,
303 .no_path_retry = NO_PATH_RETRY_UNDEF,
304 .minio = DEFAULT_MINIO,
306 .prio_name = DEFAULT_PRIO,
311 .getuid = DEFAULT_GETUID,
312 .features = "1 queue_if_no_path",
313 .hwhandler = DEFAULT_HWHANDLER,
314 .selector = DEFAULT_SELECTOR,
315 .pgpolicy = GROUP_BY_PRIO,
316 .pgfailback = -FAILBACK_IMMEDIATE,
317 .rr_weight = RR_WEIGHT_NONE,
318 .no_path_retry = NO_PATH_RETRY_UNDEF,
319 .minio = DEFAULT_MINIO,
321 .prio_name = PRIO_HDS,
324 * IBM controller family
326 * Maintainer : Hannes Reinecke, SuSE
327 * Mail : hare@suse.de
331 .product = "ProFibre 4000R",
332 .getuid = DEFAULT_GETUID,
333 .features = DEFAULT_FEATURES,
334 .hwhandler = DEFAULT_HWHANDLER,
335 .selector = DEFAULT_SELECTOR,
336 .pgpolicy = MULTIBUS,
337 .pgfailback = FAILBACK_UNDEF,
338 .rr_weight = RR_WEIGHT_NONE,
339 .no_path_retry = NO_PATH_RETRY_UNDEF,
340 .minio = DEFAULT_MINIO,
341 .checker_name = DIRECTIO,
342 .prio_name = DEFAULT_PRIO,
345 /* IBM FAStT 1722-600 */
347 .product = "1722-600",
348 .getuid = DEFAULT_GETUID,
349 .features = "1 queue_if_no_path",
350 .hwhandler = "1 rdac",
351 .selector = DEFAULT_SELECTOR,
352 .pgpolicy = GROUP_BY_PRIO,
353 .pgfailback = -FAILBACK_IMMEDIATE,
354 .rr_weight = RR_WEIGHT_NONE,
355 .no_path_retry = 300,
356 .minio = DEFAULT_MINIO,
357 .checker_name = RDAC,
358 .prio_name = PRIO_RDAC,
364 .getuid = DEFAULT_GETUID,
365 .features = "1 queue_if_no_path",
366 .hwhandler = "1 rdac",
367 .selector = DEFAULT_SELECTOR,
368 .pgpolicy = GROUP_BY_PRIO,
369 .pgfailback = -FAILBACK_IMMEDIATE,
370 .rr_weight = RR_WEIGHT_NONE,
371 .no_path_retry = 300,
372 .minio = DEFAULT_MINIO,
373 .checker_name = RDAC,
374 .prio_name = PRIO_RDAC,
377 /* IBM DS3200 / DS3300 / DS3400 */
380 .getuid = DEFAULT_GETUID,
381 .features = "1 queue_if_no_path",
382 .hwhandler = "1 rdac",
383 .selector = DEFAULT_SELECTOR,
384 .pgpolicy = GROUP_BY_PRIO,
385 .pgfailback = -FAILBACK_IMMEDIATE,
386 .rr_weight = RR_WEIGHT_NONE,
387 .no_path_retry = 300,
388 .minio = DEFAULT_MINIO,
389 .checker_name = RDAC,
390 .prio_name = PRIO_RDAC,
393 /* IBM DS4400 / DS4500 / FAStT700 */
396 .getuid = DEFAULT_GETUID,
397 .features = DEFAULT_FEATURES,
398 .hwhandler = "1 rdac",
399 .selector = DEFAULT_SELECTOR,
400 .pgpolicy = GROUP_BY_PRIO,
401 .pgfailback = -FAILBACK_IMMEDIATE,
402 .rr_weight = RR_WEIGHT_NONE,
403 .no_path_retry = NO_PATH_RETRY_QUEUE,
404 .minio = DEFAULT_MINIO,
405 .checker_name = RDAC,
406 .prio_name = PRIO_RDAC,
412 .getuid = DEFAULT_GETUID,
413 .features = DEFAULT_FEATURES,
414 .hwhandler = "1 rdac",
415 .selector = DEFAULT_SELECTOR,
416 .pgpolicy = GROUP_BY_PRIO,
417 .pgfailback = -FAILBACK_IMMEDIATE,
418 .rr_weight = RR_WEIGHT_NONE,
419 .no_path_retry = NO_PATH_RETRY_QUEUE,
420 .minio = DEFAULT_MINIO,
421 .checker_name = RDAC,
422 .prio_name = PRIO_RDAC,
428 .getuid = DEFAULT_GETUID,
429 .features = DEFAULT_FEATURES,
430 .hwhandler = "1 rdac",
431 .selector = DEFAULT_SELECTOR,
432 .pgpolicy = GROUP_BY_PRIO,
433 .pgfailback = -FAILBACK_IMMEDIATE,
434 .rr_weight = RR_WEIGHT_NONE,
435 .no_path_retry = NO_PATH_RETRY_QUEUE,
436 .minio = DEFAULT_MINIO,
437 .checker_name = RDAC,
438 .prio_name = PRIO_RDAC,
444 .getuid = DEFAULT_GETUID,
445 .features = DEFAULT_FEATURES,
446 .hwhandler = "1 rdac",
447 .selector = DEFAULT_SELECTOR,
448 .pgpolicy = GROUP_BY_PRIO,
449 .pgfailback = -FAILBACK_IMMEDIATE,
450 .rr_weight = RR_WEIGHT_NONE,
451 .no_path_retry = NO_PATH_RETRY_QUEUE,
452 .minio = DEFAULT_MINIO,
453 .checker_name = RDAC,
454 .prio_name = PRIO_RDAC,
457 /* IBM Netfinity Fibre Channel RAID Controller Unit */
460 .getuid = DEFAULT_GETUID,
461 .features = DEFAULT_FEATURES,
462 .hwhandler = "1 rdac",
463 .selector = DEFAULT_SELECTOR,
464 .pgpolicy = GROUP_BY_PRIO,
465 .pgfailback = -FAILBACK_IMMEDIATE,
466 .rr_weight = RR_WEIGHT_NONE,
467 .no_path_retry = NO_PATH_RETRY_QUEUE,
468 .minio = DEFAULT_MINIO,
469 .checker_name = RDAC,
470 .prio_name = PRIO_RDAC,
473 /* IBM DS4200 / FAStT200 */
476 .getuid = DEFAULT_GETUID,
477 .features = DEFAULT_FEATURES,
478 .hwhandler = DEFAULT_HWHANDLER,
479 .selector = DEFAULT_SELECTOR,
480 .pgpolicy = GROUP_BY_SERIAL,
481 .pgfailback = FAILBACK_UNDEF,
482 .rr_weight = RR_WEIGHT_NONE,
483 .no_path_retry = NO_PATH_RETRY_UNDEF,
484 .minio = DEFAULT_MINIO,
486 .prio_name = DEFAULT_PRIO,
489 /* IBM ESS F20 aka Shark */
491 .product = "2105(800|F20)",
492 .getuid = DEFAULT_GETUID,
493 .features = "1 queue_if_no_path",
494 .hwhandler = DEFAULT_HWHANDLER,
495 .selector = DEFAULT_SELECTOR,
496 .pgpolicy = GROUP_BY_SERIAL,
497 .pgfailback = FAILBACK_UNDEF,
498 .rr_weight = RR_WEIGHT_NONE,
499 .no_path_retry = NO_PATH_RETRY_UNDEF,
500 .minio = DEFAULT_MINIO,
502 .prio_name = DEFAULT_PRIO,
507 .product = "1750500",
508 .getuid = DEFAULT_GETUID,
509 .features = "1 queue_if_no_path",
510 .hwhandler = DEFAULT_HWHANDLER,
511 .selector = DEFAULT_SELECTOR,
512 .pgpolicy = GROUP_BY_PRIO,
513 .pgfailback = -FAILBACK_IMMEDIATE,
514 .rr_weight = RR_WEIGHT_NONE,
515 .no_path_retry = NO_PATH_RETRY_UNDEF,
516 .minio = DEFAULT_MINIO,
518 .prio_name = PRIO_ALUA,
523 .product = "2107900",
524 .getuid = DEFAULT_GETUID,
525 .features = "1 queue_if_no_path",
526 .hwhandler = DEFAULT_HWHANDLER,
527 .selector = DEFAULT_SELECTOR,
528 .pgpolicy = MULTIBUS,
529 .pgfailback = FAILBACK_UNDEF,
530 .rr_weight = RR_WEIGHT_NONE,
531 .no_path_retry = NO_PATH_RETRY_UNDEF,
532 .minio = DEFAULT_MINIO,
534 .prio_name = DEFAULT_PRIO,
537 /* IBM SAN Volume Controller */
540 .getuid = DEFAULT_GETUID,
541 .features = "1 queue_if_no_path",
542 .hwhandler = DEFAULT_HWHANDLER,
543 .selector = DEFAULT_SELECTOR,
544 .pgpolicy = GROUP_BY_PRIO,
545 .pgfailback = -FAILBACK_IMMEDIATE,
546 .rr_weight = RR_WEIGHT_NONE,
547 .no_path_retry = NO_PATH_RETRY_UNDEF,
548 .minio = DEFAULT_MINIO,
550 .prio_name = PRIO_ALUA,
553 /* IBM S/390 ECKD DASD */
555 .product = "S/390 DASD ECKD",
556 .bl_product = "S/390.*",
557 .getuid = "/sbin/dasdinfo -u -b %n",
558 .features = "1 queue_if_no_path",
559 .hwhandler = DEFAULT_HWHANDLER,
560 .selector = DEFAULT_SELECTOR,
561 .pgpolicy = MULTIBUS,
562 .pgfailback = FAILBACK_UNDEF,
563 .rr_weight = RR_WEIGHT_NONE,
564 .no_path_retry = NO_PATH_RETRY_UNDEF,
565 .minio = DEFAULT_MINIO,
566 .checker_name = DIRECTIO,
567 .prio_name = DEFAULT_PRIO,
570 /* IBM S/390 FBA DASD */
572 .product = "S/390 DASD FBA",
573 .bl_product = "S/390.*",
574 .getuid = "/sbin/dasdinfo -u -b %n",
575 .features = "1 queue_if_no_path",
576 .hwhandler = DEFAULT_HWHANDLER,
577 .selector = DEFAULT_SELECTOR,
578 .pgpolicy = MULTIBUS,
579 .pgfailback = FAILBACK_UNDEF,
580 .rr_weight = RR_WEIGHT_NONE,
581 .no_path_retry = NO_PATH_RETRY_UNDEF,
582 .minio = DEFAULT_MINIO,
583 .checker_name = DIRECTIO,
584 .prio_name = DEFAULT_PRIO,
590 .getuid = DEFAULT_GETUID,
591 .features = "1 queue_if_no_path",
592 .hwhandler = "1 alua",
593 .selector = DEFAULT_SELECTOR,
594 .pgpolicy = GROUP_BY_PRIO,
595 .pgfailback = -FAILBACK_IMMEDIATE,
596 .rr_weight = RR_WEIGHT_NONE,
597 .no_path_retry = NO_PATH_RETRY_UNDEF,
598 .minio = DEFAULT_MINIO,
600 .prio_name = PRIO_ALUA,
603 * NETAPP controller family
605 * Maintainer : Dave Wysochanski
606 * Mail : davidw@netapp.com
611 .getuid = DEFAULT_GETUID,
612 .features = "1 queue_if_no_path",
613 .hwhandler = DEFAULT_HWHANDLER,
614 .selector = DEFAULT_SELECTOR,
615 .pgpolicy = GROUP_BY_PRIO,
616 .pgfailback = -FAILBACK_IMMEDIATE,
617 .rr_weight = RR_WEIGHT_NONE,
618 .no_path_retry = NO_PATH_RETRY_UNDEF,
620 .checker_name = DIRECTIO,
621 .prio_name = PRIO_NETAPP,
624 * IBM NSeries (NETAPP) controller family
626 * Maintainer : Dave Wysochanski
627 * Mail : davidw@netapp.com
631 .product = "Nseries.*",
632 .getuid = DEFAULT_GETUID,
633 .features = "1 queue_if_no_path",
634 .hwhandler = DEFAULT_HWHANDLER,
635 .selector = DEFAULT_SELECTOR,
636 .pgpolicy = GROUP_BY_PRIO,
637 .pgfailback = -FAILBACK_IMMEDIATE,
638 .rr_weight = RR_WEIGHT_NONE,
639 .no_path_retry = NO_PATH_RETRY_UNDEF,
641 .checker_name = DIRECTIO,
642 .prio_name = PRIO_NETAPP,
645 * Pillar Data controller family
647 * Maintainer : Srinivasan Ramani
648 * Mail : sramani@pillardata.com
652 .product = "Axiom.*",
653 .getuid = DEFAULT_GETUID,
654 .features = DEFAULT_FEATURES,
655 .hwhandler = DEFAULT_HWHANDLER,
656 .selector = DEFAULT_SELECTOR,
657 .pgpolicy = GROUP_BY_PRIO,
658 .pgfailback = FAILBACK_UNDEF,
659 .rr_weight = RR_WEIGHT_NONE,
660 .no_path_retry = NO_PATH_RETRY_UNDEF,
661 .minio = DEFAULT_MINIO,
663 .prio_name = PRIO_ALUA,
668 * Maintainer : Christophe Varoqui
669 * Mail : christophe.varoqui@free.fr
673 .product = "TP9[13]00",
674 .getuid = DEFAULT_GETUID,
675 .features = DEFAULT_FEATURES,
676 .hwhandler = DEFAULT_HWHANDLER,
677 .selector = DEFAULT_SELECTOR,
678 .pgpolicy = MULTIBUS,
679 .pgfailback = FAILBACK_UNDEF,
680 .rr_weight = RR_WEIGHT_NONE,
681 .no_path_retry = NO_PATH_RETRY_UNDEF,
682 .minio = DEFAULT_MINIO,
683 .checker_name = DIRECTIO,
684 .prio_name = DEFAULT_PRIO,
688 .product = "TP9[45]00",
689 .getuid = DEFAULT_GETUID,
690 .features = DEFAULT_FEATURES,
691 .hwhandler = "1 rdac",
692 .selector = DEFAULT_SELECTOR,
693 .pgpolicy = GROUP_BY_PRIO,
694 .pgfailback = -FAILBACK_IMMEDIATE,
695 .rr_weight = RR_WEIGHT_NONE,
696 .no_path_retry = NO_PATH_RETRY_QUEUE,
697 .minio = DEFAULT_MINIO,
698 .checker_name = RDAC,
699 .prio_name = PRIO_RDAC,
704 .getuid = DEFAULT_GETUID,
705 .features = DEFAULT_FEATURES,
706 .hwhandler = "1 rdac",
707 .selector = DEFAULT_SELECTOR,
708 .pgpolicy = GROUP_BY_PRIO,
709 .pgfailback = -FAILBACK_IMMEDIATE,
710 .rr_weight = RR_WEIGHT_NONE,
711 .no_path_retry = NO_PATH_RETRY_QUEUE,
712 .minio = DEFAULT_MINIO,
713 .checker_name = RDAC,
714 .prio_name = PRIO_RDAC,
719 * Maintainer : Christophe Varoqui
720 * Mail : christophe.varoqui@free.fr
724 .product = "OPENstorage D280",
725 .getuid = DEFAULT_GETUID,
726 .features = DEFAULT_FEATURES,
727 .hwhandler = "1 rdac",
728 .selector = DEFAULT_SELECTOR,
729 .pgpolicy = GROUP_BY_PRIO,
730 .pgfailback = -FAILBACK_IMMEDIATE,
731 .rr_weight = RR_WEIGHT_NONE,
732 .no_path_retry = NO_PATH_RETRY_UNDEF,
733 .minio = DEFAULT_MINIO,
735 .prio_name = PRIO_RDAC,
740 * Maintainer : Christophe Varoqui
741 * Mail : christophe.varoqui@free.fr
745 .product = "(StorEdge 3510|T4)",
746 .getuid = DEFAULT_GETUID,
747 .features = DEFAULT_FEATURES,
748 .hwhandler = DEFAULT_HWHANDLER,
749 .selector = DEFAULT_SELECTOR,
750 .pgpolicy = MULTIBUS,
751 .pgfailback = FAILBACK_UNDEF,
752 .rr_weight = RR_WEIGHT_NONE,
753 .no_path_retry = NO_PATH_RETRY_UNDEF,
754 .minio = DEFAULT_MINIO,
755 .checker_name = DIRECTIO,
756 .prio_name = DEFAULT_PRIO,
761 * Maintainer : Bart Brooks, Pivot3
762 * Mail : bartb@pivot3.com
766 .product = "RAIGE VOLUME",
767 .getuid = "/lib/udev/scsi_id -p 0x80 -g -u -d /dev/%n",
768 .features = "1 queue_if_no_path",
769 .hwhandler = DEFAULT_HWHANDLER,
770 .selector = DEFAULT_SELECTOR,
771 .pgpolicy = MULTIBUS,
772 .pgfailback = FAILBACK_UNDEF,
773 .rr_weight = RR_WEIGHT_NONE,
774 .no_path_retry = NO_PATH_RETRY_UNDEF,
777 .prio_name = DEFAULT_PRIO,
781 .product = "CSM200_R",
782 .getuid = DEFAULT_GETUID,
783 .features = DEFAULT_FEATURES,
784 .hwhandler = "1 rdac",
785 .selector = DEFAULT_SELECTOR,
786 .pgpolicy = GROUP_BY_PRIO,
787 .pgfailback = -FAILBACK_IMMEDIATE,
788 .rr_weight = RR_WEIGHT_NONE,
789 .no_path_retry = NO_PATH_RETRY_QUEUE,
790 .minio = DEFAULT_MINIO,
791 .checker_name = RDAC,
792 .prio_name = PRIO_RDAC,
797 .product = "LCSM100_F",
798 .getuid = DEFAULT_GETUID,
799 .features = DEFAULT_FEATURES,
800 .hwhandler = "1 rdac",
801 .selector = DEFAULT_SELECTOR,
802 .pgpolicy = GROUP_BY_PRIO,
803 .pgfailback = -FAILBACK_IMMEDIATE,
804 .rr_weight = RR_WEIGHT_NONE,
805 .no_path_retry = NO_PATH_RETRY_QUEUE,
806 .minio = DEFAULT_MINIO,
807 .checker_name = RDAC,
808 .prio_name = PRIO_RDAC,
825 .checker_name = NULL,
831 setup_default_hwtable (vector hw)
834 struct hwentry * hwe = default_hw;
836 while (hwe->vendor) {
837 r += store_hwe(hw, hwe);