summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLudwig Nussel <ludwig.nussel@suse.de>2022-02-09 10:59:22 +0100
committerLennart Poettering <lennart@poettering.net>2022-02-22 11:36:29 +0100
commit6d7127d6dd0f3cfdf94d942f33ea9c3a783d887f (patch)
treec4f491f54b8acd9b257a12fa4bf6f36b5b98562b
parentMerge pull request #22585 from poettering/analyze-split-up (diff)
downloadsystemd-6d7127d6dd0f3cfdf94d942f33ea9c3a783d887f.tar.xz
systemd-6d7127d6dd0f3cfdf94d942f33ea9c3a783d887f.zip
systemctl: improve error messages related to halt failures
-rw-r--r--src/systemctl/systemctl-compat-halt.c3
-rw-r--r--src/systemctl/systemctl-compat-telinit.c8
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) {