Blob Blame History Raw
From 59cf3f439d358163d895093bb8adfbe1db650131 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 30 May 2017 23:14:31 -0400
Subject: [PATCH] systemctl: avoid spurious warning about missing reboot-param
 file

$ reboot -f
Failed to read reboot parameter file: No such file or directory

It seems that the warning on ENOENT was inadvertently introduced in
27c06cb516c3b87c34f2a1c2c227152997d05c8c.

The warning reported in #5646 comes from systemctl, but let's fix the other
call site in the same way too.

Fixes #5646.

(cherry picked from commit 19fbf49cdec0e12fa0ee13d6ff6f858ea0f27479)
---
 src/core/shutdown.c       | 2 +-
 src/systemctl/systemctl.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/core/shutdown.c b/src/core/shutdown.c
index a2309b7726..a7d5e57936 100644
--- a/src/core/shutdown.c
+++ b/src/core/shutdown.c
@@ -403,7 +403,7 @@ int main(int argc, char *argv[]) {
                         _cleanup_free_ char *param = NULL;
 
                         r = read_one_line_file("/run/systemd/reboot-param", &param);
-                        if (r < 0)
+                        if (r < 0 && r != -ENOENT)
                                 log_warning_errno(r, "Failed to read reboot parameter file: %m");
 
                         if (!isempty(param)) {
diff --git a/src/systemctl/systemctl.c b/src/systemctl/systemctl.c
index cb9ca9ae1e..1a47cb564e 100644
--- a/src/systemctl/systemctl.c
+++ b/src/systemctl/systemctl.c
@@ -8260,7 +8260,7 @@ static int halt_now(enum action a) {
                 _cleanup_free_ char *param = NULL;
 
                 r = read_one_line_file("/run/systemd/reboot-param", &param);
-                if (r < 0)
+                if (r < 0 && r != -ENOENT)
                         log_warning_errno(r, "Failed to read reboot parameter file: %m");
 
                 if (!isempty(param)) {