unit: don't show ENOENT configuration file warnings for units that are not essential
This commit is contained in:
@@ -10,10 +10,6 @@
|
||||
chown root:utmp /var/run/utmp
|
||||
mkdir -p /var/lock/subsys
|
||||
|
||||
* downgrade warnings for non-existent services pulled-in
|
||||
by soft dependencies, like:
|
||||
init[1]: Failed to load configuration for isdn.service: No such file or directory
|
||||
|
||||
* have a simple syslog bridge providing /dev/log and forward messages
|
||||
to /dev/kmsg. at the moment the real syslog can be started, the bridge
|
||||
is stopped and the open /dev/log fd to the real syslog. that way we
|
||||
@@ -71,8 +67,6 @@
|
||||
|
||||
* if a service fails too often, make the service enter maintainence mode, and the socket, too.
|
||||
|
||||
* don't show file not found msgs for irrelevant units
|
||||
|
||||
* j->installed issue
|
||||
|
||||
* plymouth boot.log
|
||||
|
||||
+9
-3
@@ -1392,9 +1392,15 @@ static int transaction_add_job_and_dependencies(
|
||||
assert(type < _JOB_TYPE_MAX);
|
||||
assert(unit);
|
||||
|
||||
if (type != JOB_STOP &&
|
||||
unit->meta.load_state != UNIT_LOADED) {
|
||||
dbus_set_error(e, BUS_ERROR_LOAD_FAILED, "Unit %s failed to load. See logs for details.", unit->meta.id);
|
||||
if (unit->meta.load_state != UNIT_LOADED && unit->meta.load_state != UNIT_FAILED) {
|
||||
dbus_set_error(e, BUS_ERROR_LOAD_FAILED, "Unit %s is not loaded properly.", unit->meta.id);
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
if (type != JOB_STOP && unit->meta.load_state == UNIT_FAILED) {
|
||||
dbus_set_error(e, BUS_ERROR_LOAD_FAILED, "Unit %s failed to load: %s. You might find more information in the logs.",
|
||||
unit->meta.id,
|
||||
strerror(-unit->meta.load_error));
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
|
||||
+5
-1
@@ -672,6 +672,9 @@ void unit_dump(Unit *u, FILE *f, const char *prefix) {
|
||||
fprintf(f,
|
||||
"%s\tMerged into: %s\n",
|
||||
prefix, u->meta.merged_into->meta.id);
|
||||
else if (u->meta.load_state == UNIT_FAILED)
|
||||
fprintf(f, "%s\tLoad Error Code: %s\n", prefix, strerror(-u->meta.load_error));
|
||||
|
||||
|
||||
if (u->meta.job)
|
||||
job_dump(u->meta.job, f, prefix2);
|
||||
@@ -756,9 +759,10 @@ int unit_load(Unit *u) {
|
||||
|
||||
fail:
|
||||
u->meta.load_state = UNIT_FAILED;
|
||||
u->meta.load_error = r;
|
||||
unit_add_to_dbus_queue(u);
|
||||
|
||||
log_notice("Failed to load configuration for %s: %s", u->meta.id, strerror(-r));
|
||||
log_debug("Failed to load configuration for %s: %s", u->meta.id, strerror(-r));
|
||||
|
||||
return r;
|
||||
}
|
||||
|
||||
@@ -184,6 +184,9 @@ struct Meta {
|
||||
* unit here, if there was a job scheduled */
|
||||
int deserialized_job; /* This is actually of type JobType */
|
||||
|
||||
/* Error code when we didn't manage to load the unit (negative) */
|
||||
int load_error;
|
||||
|
||||
/* If we go down, pull down everything that depends on us, too */
|
||||
bool recursive_stop;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user