Example #1
0
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;
}
Example #2
0
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;
}