}
static int
-def_getuid_callout_handler(vector strvec)
+def_uid_attribute_handler(vector strvec)
{
- conf->getuid = set_value(strvec);
+ conf->uid_attribute = set_value(strvec);
- if (!conf->getuid)
+ if (!conf->uid_attribute)
return 1;
return 0;
}
static int
-hw_getuid_callout_handler(vector strvec)
+hw_uid_attribute_handler(vector strvec)
{
struct hwentry * hwe = VECTOR_LAST_SLOT(conf->hwtable);
- hwe->getuid = set_value(strvec);
+ hwe->uid_attribute = set_value(strvec);
- if (!hwe->getuid)
+ if (!hwe->uid_attribute)
return 1;
return 0;
}
static int
-snprint_hw_getuid_callout (char * buff, int len, void * data)
+snprint_hw_uid_attribute (char * buff, int len, void * data)
{
struct hwentry * hwe = (struct hwentry *)data;
- if (!hwe->getuid)
+ if (!hwe->uid_attribute)
return 0;
- return snprintf(buff, len, "\"%s\"", hwe->getuid);
+ return snprintf(buff, len, "\"%s\"", hwe->uid_attribute);
}
static int
}
static int
-snprint_def_getuid_callout (char * buff, int len, void * data)
+snprint_def_uid_attribute (char * buff, int len, void * data)
{
- if (!conf->getuid)
- return snprintf(buff, len, "\"%s\"", DEFAULT_GETUID);
+ if (!conf->uid_attribute)
+ return snprintf(buff, len, "\"%s\"", DEFAULT_UID_ATTRIBUTE);
- return snprintf(buff, len, "\"%s\"", conf->getuid);
+ return snprintf(buff, len, "\"%s\"", conf->uid_attribute);
}
static int
install_keyword("multipath_dir", &multipath_dir_handler, &snprint_def_multipath_dir);
install_keyword("path_selector", &def_selector_handler, &snprint_def_selector);
install_keyword("path_grouping_policy", &def_pgpolicy_handler, &snprint_def_path_grouping_policy);
- install_keyword("getuid_callout", &def_getuid_callout_handler, &snprint_def_getuid_callout);
+ install_keyword("uid_attribute", &def_uid_attribute_handler, &snprint_def_uid_attribute);
install_keyword("prio", &def_prio_handler, &snprint_def_prio);
install_keyword("prio_args", &def_prio_args_handler, &snprint_def_prio_args);
install_keyword("features", &def_features_handler, &snprint_def_features);
install_keyword("reservation_key", &def_reservation_key_handler, &snprint_def_reservation_key);
__deprecated install_keyword("default_selector", &def_selector_handler, NULL);
__deprecated install_keyword("default_path_grouping_policy", &def_pgpolicy_handler, NULL);
- __deprecated install_keyword("default_getuid_callout", &def_getuid_callout_handler, NULL);
+ __deprecated install_keyword("default_uid_attribute", &def_uid_attribute_handler, NULL);
__deprecated install_keyword("default_features", &def_features_handler, NULL);
__deprecated install_keyword("default_path_checker", &def_path_checker_handler, NULL);
install_keyword("revision", &revision_handler, &snprint_hw_revision);
install_keyword("product_blacklist", &bl_product_handler, &snprint_hw_bl_product);
install_keyword("path_grouping_policy", &hw_pgpolicy_handler, &snprint_hw_path_grouping_policy);
- install_keyword("getuid_callout", &hw_getuid_callout_handler, &snprint_hw_getuid_callout);
+ install_keyword("uid_attribute", &hw_uid_attribute_handler, &snprint_hw_uid_attribute);
install_keyword("path_selector", &hw_selector_handler, &snprint_hw_selector);
install_keyword("path_checker", &hw_path_checker_handler, &snprint_hw_path_checker);
install_keyword("checker", &hw_path_checker_handler, NULL);
{
.vendor = "COMPELNT",
.product = "Compellent Vol",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "APPLE*",
.product = "Xserve RAID ",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "3PARdata",
.product = "VV",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "DEC",
.product = "HSG80",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = "1 hp_sw",
.selector = DEFAULT_SELECTOR,
{
.vendor = "HP",
.product = "A6189A",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* MSA 1000/MSA1500 EVA 3000/5000 with old firmware */
.vendor = "(COMPAQ|HP)",
.product = "(MSA|HSV)1.0.*",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = "1 hp_sw",
.selector = DEFAULT_SELECTOR,
/* MSA 1000/1500 with new firmware */
.vendor = "(COMPAQ|HP)",
.product = "MSA VOLUME",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* EVA 3000/5000 with new firmware, EVA 4000/6000/8000 */
.vendor = "(COMPAQ|HP)",
.product = "HSV1[01]1|HSV2[01]0|HSV300|HSV4[05]0",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* HP MSA2000 product family with old firmware */
.vendor = "HP",
.product = "MSA2[02]12fc|MSA2012i",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* HP MSA2000 product family with new firmware */
.vendor = "HP",
.product = "MSA2012sa|MSA23(12|24)(fc|i|sa)|MSA2000s VOLUME",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* HP SVSP */
.vendor = "HP",
.product = "HSVX700",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 alua",
.selector = DEFAULT_SELECTOR,
/* HP Smart Array */
.vendor = "HP",
.product = "LOGICAL VOLUME.*",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* HP P2000 family arrays */
.vendor = "HP",
.product = "P2000 G3 FC|P2000G3 FC/iSCSI|P2000 G3 SAS|P2000 G3 iSCSI",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "DDN",
.product = "SAN DataDirector",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "EMC",
.product = "SYMMETRIX",
- .getuid = "/lib/udev/scsi_id --page=pre-spc3-83 --whitelisted --device=/dev/%n",
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
.vendor = "DGC",
.product = ".*",
.bl_product = "LUNZ",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = "1 emc",
.selector = DEFAULT_SELECTOR,
.vendor = "EMC",
.product = "Invista",
.bl_product = "LUNZ",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "FSC",
.product = "CentricStor",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "FUJITSU",
.product = "ETERNUS_DX(L|400|8000)",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "(HITACHI|HP)",
.product = "OPEN-.*",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "HITACHI",
.product = "DF.*",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "IBM",
.product = "ProFibre 4000R",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^1722-600",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^1724",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^1726",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^1742",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^1745|^1746",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^1814",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^1815",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^1818",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "^3526",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
/* IBM DS4200 / FAStT200 */
.vendor = "IBM",
.product = "^3542",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* IBM ESS F20 aka Shark */
.vendor = "IBM",
.product = "^2105800",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* IBM ESS F20 aka Shark */
.vendor = "IBM",
.product = "^2105F20",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* IBM DS6000 */
.vendor = "IBM",
.product = "^1750500",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* IBM DS8000 */
.vendor = "IBM",
.product = "^2107900",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* IBM SAN Volume Controller */
.vendor = "IBM",
.product = "^2145",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "S/390 DASD ECKD",
.bl_product = "S/390.*",
- .getuid = "/sbin/dasdinfo -u -b %n",
+ .uid_attribute = "ID_UID",
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
.vendor = "IBM",
.product = "S/390 DASD FBA",
.bl_product = "S/390.*",
- .getuid = "/sbin/dasdinfo -u -b %n",
+ .uid_attribute = "ID_UID",
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* IBM IPR */
.vendor = "IBM",
.product = "^IPR.*",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = "1 alua",
.selector = DEFAULT_SELECTOR,
/* IBM RSSM */
.vendor = "IBM",
.product = "1820N00",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
.prio_name = PRIO_ALUA,
.prio_args = NULL,
},
- {
- /* IBM XIV Storage System */
- .vendor = "IBM",
- .product = "2810XIV",
- .getuid = DEFAULT_GETUID,
- .features = "1 queue_if_no_path",
- .hwhandler = DEFAULT_HWHANDLER,
- .selector = DEFAULT_SELECTOR,
- .pgpolicy = MULTIBUS,
- .pgfailback = 15,
- .rr_weight = RR_WEIGHT_NONE,
- .no_path_retry = NO_PATH_RETRY_UNDEF,
- .minio = 15,
- .minio_rq = DEFAULT_MINIO_RQ,
- .checker_name = TUR,
- .prio_name = DEFAULT_PRIO,
- .prio_args = NULL,
- },
+ {
+ /* IBM XIV Storage System */
+ .vendor = "IBM",
+ .product = "2810XIV",
+ .features = "1 queue_if_no_path",
+ .hwhandler = DEFAULT_HWHANDLER,
+ .selector = DEFAULT_SELECTOR,
+ .pgpolicy = MULTIBUS,
+ .pgfailback = 15,
+ .rr_weight = RR_WEIGHT_NONE,
+ .no_path_retry = NO_PATH_RETRY_UNDEF,
+ .minio = 15,
+ .minio_rq = DEFAULT_MINIO_RQ,
+ .checker_name = TUR,
+ .prio_name = DEFAULT_PRIO,
+ .prio_args = NULL,
+ },
/*
* IBM Power Virtual SCSI Devices
*
/* AIX VDASD */
.vendor = "AIX",
.product = "VDASD",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* IBM 3303 NVDISK */
.vendor = "IBM",
.product = "3303 NVDISK",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
/* AIX NVDISK */
.vendor = "AIX",
.product = "NVDISK",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 alua",
.selector = DEFAULT_SELECTOR,
.vendor = "DELL",
.product = "MD3000",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "DELL",
.product = "MD3000i",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "DELL",
.product = "MD32xx",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "DELL",
.product = "MD32xxi",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
{
.vendor = "NETAPP",
.product = "LUN.*",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "NEXENTA",
.product = "COMSTAR",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "IBM",
.product = "Nseries.*",
- .getuid = DEFAULT_GETUID,
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "Pillar",
.product = "Axiom.*",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "SGI",
.product = "TP9[13]00",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
.vendor = "SGI",
.product = "TP9[45]00",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "SGI",
.product = "IS.*",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
{
.vendor = "NEC",
.product = "DISK ARRAY",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 alua",
.selector = DEFAULT_SELECTOR,
.vendor = "STK",
.product = "OPENstorage D280",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
{
.vendor = "SUN",
.product = "(StorEdge 3510|T4)",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "EUROLOGC",
.product = "FC2502",
- .getuid ="/lib/udev/scsi_id --page=0x80 --whitelisted --device=/dev/%n",
.features = DEFAULT_FEATURES,
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
{
.vendor = "PIVOT3",
.product = "RAIGE VOLUME",
- .getuid = "/lib/udev/scsi_id --page=0x80 --whitelisted --device=/dev/%n",
.features = "1 queue_if_no_path",
.hwhandler = DEFAULT_HWHANDLER,
.selector = DEFAULT_SELECTOR,
.vendor = "SUN",
.product = "CSM200_R",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "SUN",
.product = "LCSM100_[IEFS]",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "(LSI|ENGENIO)",
.product = "INF-01-00",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = "2 pg_init_retries 50",
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
.vendor = "STK",
.product = "FLEXLINE 380",
.bl_product = "Universal Xport",
- .getuid = DEFAULT_GETUID,
.features = DEFAULT_FEATURES,
.hwhandler = "1 rdac",
.selector = DEFAULT_SELECTOR,
{
.vendor = NULL,
.product = NULL,
- .getuid = NULL,
.features = NULL,
.hwhandler = NULL,
.selector = NULL,