if (a->result == AUTOMOUNT_SUCCESS)
a->result = f;
+ if (a->result != AUTOMOUNT_SUCCESS)
+ log_unit_warning(UNIT(a), "Failed with result '%s'.", automount_result_to_string(a->result));
+
automount_set_state(a, a->result != AUTOMOUNT_SUCCESS ? AUTOMOUNT_FAILED : AUTOMOUNT_DEAD);
}
if (m->result == MOUNT_SUCCESS)
m->result = f;
+ if (m->result != MOUNT_SUCCESS)
+ log_unit_warning(UNIT(m), "Failed with result '%s'.", mount_result_to_string(m->result));
+
mount_set_state(m, m->result != MOUNT_SUCCESS ? MOUNT_FAILED : MOUNT_DEAD);
exec_runtime_destroy(m->exec_runtime);
if (p->result == PATH_SUCCESS)
p->result = f;
+ if (p->result != PATH_SUCCESS)
+ log_unit_warning(UNIT(p), "Failed with result '%s'.", path_result_to_string(p->result));
+
path_set_state(p, p->result != PATH_SUCCESS ? PATH_FAILED : PATH_DEAD);
}
if (s->result == SCOPE_SUCCESS)
s->result = f;
+ if (s->result != SCOPE_SUCCESS)
+ log_unit_warning(UNIT(s), "Failed with result '%s'.", scope_result_to_string(s->result));
+
scope_set_state(s, s->result != SCOPE_SUCCESS ? SCOPE_FAILED : SCOPE_DEAD);
}
if (s->result == SERVICE_SUCCESS)
s->result = f;
+ if (s->result != SERVICE_SUCCESS)
+ log_unit_warning(UNIT(s), "Failed with result '%s'.", service_result_to_string(s->result));
+
service_set_state(s, s->result != SERVICE_SUCCESS ? SERVICE_FAILED : SERVICE_DEAD);
- if (s->result != SERVICE_SUCCESS) {
- log_unit_warning(UNIT(s), "Failed with result '%s'.", service_result_to_string(s->result));
+ if (s->result != SERVICE_SUCCESS)
emergency_action(UNIT(s)->manager, s->emergency_action, UNIT(s)->reboot_arg, "service failed");
- }
if (allow_restart && service_shall_restart(s)) {
if (s->result == SOCKET_SUCCESS)
s->result = f;
+ if (s->result != SOCKET_SUCCESS)
+ log_unit_warning(UNIT(s), "Failed with result '%s'.", socket_result_to_string(s->result));
+
socket_set_state(s, s->result != SOCKET_SUCCESS ? SOCKET_FAILED : SOCKET_DEAD);
exec_runtime_destroy(s->exec_runtime);
if (s->result == SWAP_SUCCESS)
s->result = f;
+ if (s->result != SWAP_SUCCESS)
+ log_unit_warning(UNIT(s), "Failed with result '%s'.", swap_result_to_string(s->result));
+
swap_set_state(s, s->result != SWAP_SUCCESS ? SWAP_FAILED : SWAP_DEAD);
exec_runtime_destroy(s->exec_runtime);
if (t->result == TIMER_SUCCESS)
t->result = f;
+ if (t->result != TIMER_SUCCESS)
+ log_unit_warning(UNIT(t), "Failed with result '%s'.", timer_result_to_string(t->result));
+
timer_set_state(t, t->result != TIMER_SUCCESS ? TIMER_FAILED : TIMER_DEAD);
}
check_unneeded_dependencies(u);
if (ns != os && ns == UNIT_FAILED) {
- log_unit_notice(u, "Unit entered failed state.");
+ log_unit_debug(u, "Unit entered failed state.");
unit_start_on_failure(u);
}
}