From: Frantisek Sumsal Date: Mon, 22 Jan 2024 13:15:31 +0000 (+0100) Subject: core: raise the log priority if sd-executor is missing X-Git-Tag: v256-rc1~1080 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=00fafa1a17c03bb6a4e58a9187ef5235e316766e;p=thirdparty%2Fsystemd.git core: raise the log priority if sd-executor is missing Log about missing executor at the emergency level, so the message always makes it to the console - otherwise it won't get anywhere, since we can't even start systemd-journald in that case. Before: Welcome to Arch Linux! [ 5.202479] systemd[1]: Failed to allocate manager object: No such file or directory [!!!!!!] Failed to allocate manager object. [ 5.207741] systemd[1]: Freezing execution. After: Welcome to Arch Linux! [ 5.279408] systemd[1]: Failed to open executor binary '/usr/lib/systemd/systemd-executor': No such file or directory [ 5.290756] systemd[1]: Failed to allocate manager object: No such file or directory [!!!!!!] Failed to allocate manager object. [ 5.295919] systemd[1]: Freezing execution. --- diff --git a/src/core/manager.c b/src/core/manager.c index e052e36cee6..462baab36a6 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -1016,9 +1016,9 @@ int manager_new(RuntimeScope runtime_scope, ManagerTestRunFlags test_run_flags, m->executor_fd = open(SYSTEMD_EXECUTOR_BINARY_PATH, O_CLOEXEC|O_PATH); if (m->executor_fd < 0) - return log_warning_errno(errno, - "Failed to open executor binary '%s': %m", - SYSTEMD_EXECUTOR_BINARY_PATH); + return log_emergency_errno(errno, + "Failed to open executor binary '%s': %m", + SYSTEMD_EXECUTOR_BINARY_PATH); } else if (!FLAGS_SET(test_run_flags, MANAGER_TEST_DONT_OPEN_EXECUTOR)) { _cleanup_free_ char *self_exe = NULL, *executor_path = NULL; _cleanup_close_ int self_dir_fd = -EBADF;