diff options
author | Ludwig Nussel <ludwig.nussel@suse.de> | 2022-02-09 10:59:22 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2022-02-22 11:36:29 +0100 |
commit | 6d7127d6dd0f3cfdf94d942f33ea9c3a783d887f (patch) | |
tree | c4f491f54b8acd9b257a12fa4bf6f36b5b98562b | |
parent | Merge pull request #22585 from poettering/analyze-split-up (diff) | |
download | systemd-6d7127d6dd0f3cfdf94d942f33ea9c3a783d887f.tar.xz systemd-6d7127d6dd0f3cfdf94d942f33ea9c3a783d887f.zip |
systemctl: improve error messages related to halt failures
-rw-r--r-- | src/systemctl/systemctl-compat-halt.c | 3 | ||||
-rw-r--r-- | src/systemctl/systemctl-compat-telinit.c | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/src/systemctl/systemctl-compat-halt.c b/src/systemctl/systemctl-compat-halt.c index c8d745592f..8a0e4e6294 100644 --- a/src/systemctl/systemctl-compat-halt.c +++ b/src/systemctl/systemctl-compat-halt.c @@ -76,6 +76,7 @@ int halt_parse_argv(int argc, char *argv[]) { assert(argc >= 0); assert(argv); + /* called in sysvinit system as last command in shutdown/reboot so this is always forceful */ if (utmp_get_runlevel(&runlevel, NULL) >= 0) if (IN_SET(runlevel, '0', '6')) arg_force = 2; @@ -191,5 +192,5 @@ int halt_main(void) { return 0; r = halt_now(arg_action); - return log_error_errno(r, "Failed to reboot: %m"); + return log_error_errno(r, "Failed to %s: %m", action_table[arg_action].verb); } diff --git a/src/systemctl/systemctl-compat-telinit.c b/src/systemctl/systemctl-compat-telinit.c index c81e9bc3ce..0890d6544f 100644 --- a/src/systemctl/systemctl-compat-telinit.c +++ b/src/systemctl/systemctl-compat-telinit.c @@ -125,8 +125,11 @@ int telinit_parse_argv(int argc, char *argv[]) { } int start_with_fallback(void) { + int r; + /* First, try systemd via D-Bus. */ - if (start_unit(0, NULL, NULL) == 0) + r = start_unit(0, NULL, NULL); + if (r == 0) return 0; #if HAVE_SYSV_COMPAT @@ -135,8 +138,7 @@ int start_with_fallback(void) { return 0; #endif - return log_error_errno(SYNTHETIC_ERRNO(EIO), - "Failed to talk to init daemon."); + return log_error_errno(r, "Failed to talk to init daemon: %m"); } int reload_with_fallback(void) { |