Fix ctld(8) to not show the "auth-group <name> not assigned to any target"

warning for auth-groups assigned to a portal-group.

MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
This commit is contained in:
trasz 2014-10-22 09:40:46 +00:00
parent 853fc00c2a
commit 2ea90ce174

View File

@ -1164,7 +1164,7 @@ conf_verify(struct conf *conf)
struct portal_group *pg;
struct target *targ;
struct lun *lun;
bool found_lun;
bool found;
int error;
if (conf->conf_pidfile_path == NULL)
@ -1181,14 +1181,14 @@ conf_verify(struct conf *conf)
"default");
assert(targ->t_portal_group != NULL);
}
found_lun = false;
found = false;
TAILQ_FOREACH(lun, &targ->t_luns, l_next) {
error = conf_verify_lun(lun);
if (error != 0)
return (error);
found_lun = true;
found = true;
}
if (!found_lun) {
if (!found) {
log_warnx("no LUNs defined for target \"%s\"",
targ->t_name);
}
@ -1219,11 +1219,20 @@ conf_verify(struct conf *conf)
else
assert(ag->ag_target == NULL);
found = false;
TAILQ_FOREACH(targ, &conf->conf_targets, t_next) {
if (targ->t_auth_group == ag)
if (targ->t_auth_group == ag) {
found = true;
break;
}
}
if (targ == NULL && ag->ag_name != NULL &&
TAILQ_FOREACH(pg, &conf->conf_portal_groups, pg_next) {
if (pg->pg_discovery_auth_group == ag) {
found = true;
break;
}
}
if (!found && ag->ag_name != NULL &&
strcmp(ag->ag_name, "default") != 0 &&
strcmp(ag->ag_name, "no-authentication") != 0 &&
strcmp(ag->ag_name, "no-access") != 0) {