extern int select_alias (struct multipath * mp) { if (mp->mpe && mp->mpe->alias) mp->alias = STRDUP(mp->mpe->alias); else { mp->alias = NULL; if (want_user_friendly_names(mp)) { select_alias_prefix(mp); mp->alias = get_user_friendly_alias(mp->wwid, conf->bindings_file, mp->alias_prefix, conf->bindings_read_only); } if (mp->alias == NULL) mp->alias = dm_get_name(mp->wwid); if (mp->alias == NULL) mp->alias = STRDUP(mp->wwid); } return mp->alias ? 0 : 1; }
int select_alias(struct config *conf, struct multipath * mp) { char *origin = NULL; if (mp->mpe && mp->mpe->alias) { mp->alias = STRDUP(mp->mpe->alias); origin = "(setting: multipath.conf multipaths section)"; goto out; } mp->alias = NULL; if (!want_user_friendly_names(conf, mp)) goto out; select_alias_prefix(conf, mp); if (strlen(mp->alias_old) > 0) { mp->alias = use_existing_alias(mp->wwid, conf->bindings_file, mp->alias_old, mp->alias_prefix, conf->bindings_read_only); memset (mp->alias_old, 0, WWID_SIZE); origin = "(using existing alias)"; } if (mp->alias == NULL) { mp->alias = get_user_friendly_alias(mp->wwid, conf->bindings_file, mp->alias_prefix, conf->bindings_read_only); origin = "(user_friendly_name)"; } out: if (mp->alias == NULL) { mp->alias = STRDUP(mp->wwid); origin = "(default to wwid)"; } if (mp->alias) condlog(3, "%s: alias = %s %s", mp->wwid, mp->alias, origin); return mp->alias ? 0 : 1; }