]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/core/manager.c
treewide: use log_*_errno whenever %m is in the format string
[thirdparty/systemd.git] / src / core / manager.c
index 94e347ef2030fe5fd3802a43f1d6f3a8aa2c9f6e..3798ab2d5774fc4f84c804ef0520bd1b7b9829b4 100644 (file)
@@ -238,7 +238,7 @@ static int manager_dispatch_ask_password_fd(sd_event_source *source,
         if (m->have_ask_password < 0)
                 /* Log error but continue. Negative have_ask_password
                  * is treated as unknown status. */
-                log_error("Failed to list /run/systemd/ask-password: %s", strerror(m->have_ask_password));
+                log_error_errno(m->have_ask_password, "Failed to list /run/systemd/ask-password: %m");
 
         return 0;
 }
@@ -263,12 +263,12 @@ static int manager_check_ask_password(Manager *m) {
 
                 m->ask_password_inotify_fd = inotify_init1(IN_NONBLOCK|IN_CLOEXEC);
                 if (m->ask_password_inotify_fd < 0) {
-                        log_error("inotify_init1() failed: %m");
+                        log_error_errno(errno, "inotify_init1() failed: %m");
                         return -errno;
                 }
 
                 if (inotify_add_watch(m->ask_password_inotify_fd, "/run/systemd/ask-password", IN_CREATE|IN_DELETE|IN_MOVE) < 0) {
-                        log_error("Failed to add watch on /run/systemd/ask-password: %m");
+                        log_error_errno(errno, "Failed to add watch on /run/systemd/ask-password: %m");
                         manager_close_ask_password(m);
                         return -errno;
                 }
@@ -277,7 +277,7 @@ static int manager_check_ask_password(Manager *m) {
                                     m->ask_password_inotify_fd, EPOLLIN,
                                     manager_dispatch_ask_password_fd, m);
                 if (r < 0) {
-                        log_error("Failed to add event source for /run/systemd/ask-password: %m");
+                        log_error_errno(errno, "Failed to add event source for /run/systemd/ask-password: %m");
                         manager_close_ask_password(m);
                         return -errno;
                 }
@@ -302,10 +302,8 @@ static int manager_watch_idle_pipe(Manager *m) {
                 return 0;
 
         r = sd_event_add_io(m->event, &m->idle_pipe_event_source, m->idle_pipe[2], EPOLLIN, manager_dispatch_idle_pipe_fd, m);
-        if (r < 0) {
-                log_error_errno(-r, "Failed to watch idle pipe: %m");
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to watch idle pipe: %m");
 
         return 0;
 }
@@ -337,21 +335,19 @@ static int manager_setup_time_change(Manager *m) {
 
         m->time_change_fd = timerfd_create(CLOCK_REALTIME, TFD_NONBLOCK|TFD_CLOEXEC);
         if (m->time_change_fd < 0) {
-                log_error("Failed to create timerfd: %m");
+                log_error_errno(errno, "Failed to create timerfd: %m");
                 return -errno;
         }
 
         if (timerfd_settime(m->time_change_fd, TFD_TIMER_ABSTIME|TFD_TIMER_CANCEL_ON_SET, &its, NULL) < 0) {
-                log_debug("Failed to set up TFD_TIMER_CANCEL_ON_SET, ignoring: %m");
+                log_debug_errno(errno, "Failed to set up TFD_TIMER_CANCEL_ON_SET, ignoring: %m");
                 m->time_change_fd = safe_close(m->time_change_fd);
                 return 0;
         }
 
         r = sd_event_add_io(m->event, &m->time_change_event_source, m->time_change_fd, EPOLLIN, manager_dispatch_time_change_fd, m);
-        if (r < 0) {
-                log_error_errno(-r, "Failed to create time change event source: %m");
-                return r;
-        }
+        if (r < 0)
+                return log_error_errno(r, "Failed to create time change event source: %m");
 
         log_debug("Set up TFD_TIMER_CANCEL_ON_SET timerfd.");
 
@@ -367,17 +363,17 @@ static int enable_special_signals(Manager *m) {
          * this will fail with EPERM (older) or EINVAL (newer), so
          * ignore that. */
         if (reboot(RB_DISABLE_CAD) < 0 && errno != EPERM && errno != EINVAL)
-                log_warning("Failed to enable ctrl-alt-del handling: %m");
+                log_warning_errno(errno, "Failed to enable ctrl-alt-del handling: %m");
 
         fd = open_terminal("/dev/tty0", O_RDWR|O_NOCTTY|O_CLOEXEC);
         if (fd < 0) {
                 /* Support systems without virtual console */
                 if (fd != -ENOENT)
-                        log_warning("Failed to open /dev/tty0: %m");
+                        log_warning_errno(errno, "Failed to open /dev/tty0: %m");
         } else {
                 /* Enable that we get SIGWINCH on kbrequest */
                 if (ioctl(fd, KDSIGACCEPT, SIGWINCH) < 0)
-                        log_warning("Failed to enable kbrequest handling: %m");
+                        log_warning_errno(errno, "Failed to enable kbrequest handling: %m");
         }
 
         return 0;
@@ -652,7 +648,7 @@ static int manager_setup_notify(Manager *m) {
 
                 fd = socket(AF_UNIX, SOCK_DGRAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
                 if (fd < 0) {
-                        log_error("Failed to allocate notification socket: %m");
+                        log_error_errno(errno, "Failed to allocate notification socket: %m");
                         return -errno;
                 }
 
@@ -663,7 +659,7 @@ static int manager_setup_notify(Manager *m) {
 
                         e = getenv("XDG_RUNTIME_DIR");
                         if (!e) {
-                                log_error("XDG_RUNTIME_DIR is not set: %m");
+                                log_error_errno(errno, "XDG_RUNTIME_DIR is not set: %m");
                                 return -EINVAL;
                         }
 
@@ -678,13 +674,13 @@ static int manager_setup_notify(Manager *m) {
                 strncpy(sa.un.sun_path, m->notify_socket, sizeof(sa.un.sun_path)-1);
                 r = bind(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + strlen(sa.un.sun_path));
                 if (r < 0) {
-                        log_error("bind(%s) failed: %m", sa.un.sun_path);
+                        log_error_errno(errno, "bind(%s) failed: %m", sa.un.sun_path);
                         return -errno;
                 }
 
                 r = setsockopt(fd, SOL_SOCKET, SO_PASSCRED, &one, sizeof(one));
                 if (r < 0) {
-                        log_error("SO_PASSCRED failed: %m");
+                        log_error_errno(errno, "SO_PASSCRED failed: %m");
                         return -errno;
                 }
 
@@ -696,18 +692,14 @@ static int manager_setup_notify(Manager *m) {
 
         if (!m->notify_event_source) {
                 r = sd_event_add_io(m->event, &m->notify_event_source, m->notify_fd, EPOLLIN, manager_dispatch_notify_fd, m);
-                if (r < 0) {
-                        log_error_errno(-r, "Failed to allocate notify event source: %m");
-                        return -errno;
-                }
+                if (r < 0)
+                        return log_error_errno(r, "Failed to allocate notify event source: %m");
 
                 /* Process signals a bit earlier than SIGCHLD, so that we can
                  * still identify to which service an exit message belongs */
                 r = sd_event_source_set_priority(m->notify_event_source, -7);
-                if (r < 0) {
-                        log_error_errno(-r, "Failed to set priority of notify event source: %m");
-                        return r;
-                }
+                if (r < 0)
+                        return log_error_errno(r, "Failed to set priority of notify event source: %m");
         }
 
         return 0;
@@ -729,10 +721,8 @@ static int manager_setup_kdbus(Manager *m) {
                         m->running_as == SYSTEMD_SYSTEM ? "system" : "user",
                         m->running_as == SYSTEMD_SYSTEM, &p);
 
-        if (m->kdbus_fd < 0) {
-                log_debug("Failed to set up kdbus: %s", strerror(-m->kdbus_fd));
-                return m->kdbus_fd;
-        }
+        if (m->kdbus_fd < 0)
+                return log_debug_errno(m->kdbus_fd, "Failed to set up kdbus: %m");
 
         log_debug("Successfully set up kdbus on %s", p);
 #endif
@@ -1032,7 +1022,7 @@ static void manager_build_unit_path_cache(Manager *m) {
                 d = opendir(*i);
                 if (!d) {
                         if (errno != ENOENT)
-                                log_error("Failed to open directory %s: %m", *i);
+                                log_error_errno(errno, "Failed to open directory %s: %m", *i);
                         continue;
                 }
 
@@ -1060,7 +1050,7 @@ static void manager_build_unit_path_cache(Manager *m) {
         return;
 
 fail:
-        log_error_errno(-r, "Failed to build unit path cache: %m");
+        log_error_errno(r, "Failed to build unit path cache: %m");
 
         set_free_free(m->unit_path_cache);
         m->unit_path_cache = NULL;
@@ -1988,10 +1978,8 @@ int manager_loop(Manager *m) {
                         wait_usec = USEC_INFINITY;
 
                 r = sd_event_run(m->event, wait_usec);
-                if (r < 0) {
-                        log_error_errno(-r, "Failed to run event loop: %m");
-                        return r;
-                }
+                if (r < 0)
+                        return log_error_errno(r, "Failed to run event loop: %m");
         }
 
         return m->exit_code;
@@ -2082,7 +2070,7 @@ void manager_send_unit_audit(Manager *m, Unit *u, int type, bool success) {
                          * Then let's not retry again. */
                         close_audit_fd();
                 else
-                        log_warning("Failed to send audit message: %m");
+                        log_warning_errno(errno, "Failed to send audit message: %m");
         }
 #endif
 
@@ -2115,14 +2103,14 @@ void manager_send_unit_plymouth(Manager *m, Unit *u) {
          * message then wait for plymouth */
         fd = socket(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC|SOCK_NONBLOCK, 0);
         if (fd < 0) {
-                log_error("socket() failed: %m");
+                log_error_errno(errno, "socket() failed: %m");
                 return;
         }
 
         if (connect(fd, &sa.sa, offsetof(struct sockaddr_un, sun_path) + 1 + strlen(sa.un.sun_path+1)) < 0) {
 
                 if (!IN_SET(errno, EPIPE, EAGAIN, ENOENT, ECONNREFUSED, ECONNRESET, ECONNABORTED))
-                        log_error("connect() failed: %m");
+                        log_error_errno(errno, "connect() failed: %m");
                 return;
         }
 
@@ -2134,7 +2122,7 @@ void manager_send_unit_plymouth(Manager *m, Unit *u) {
         errno = 0;
         if (write(fd, message, n + 1) != n + 1)
                 if (!IN_SET(errno, EPIPE, EAGAIN, ENOENT, ECONNREFUSED, ECONNRESET, ECONNABORTED))
-                        log_error("Failed to write Plymouth message: %m");
+                        log_error_errno(errno, "Failed to write Plymouth message: %m");
 }
 
 void manager_dispatch_bus_name_owner_changed(
@@ -2699,8 +2687,7 @@ static int create_generator_dir(Manager *m, char **generator, const char *name)
 
                 r = mkdir_p_label(p, 0755);
                 if (r < 0) {
-                        log_error("Failed to create generator directory %s: %s",
-                                  p, strerror(-r));
+                        log_error_errno(r, "Failed to create generator directory %s: %m", p);
                         free(p);
                         return r;
                 }
@@ -2716,8 +2703,7 @@ static int create_generator_dir(Manager *m, char **generator, const char *name)
 
                 r = mkdir_p_label(p, 0755);
                 if (r < 0) {
-                        log_error("Failed to create generator directory %s: %s",
-                                  p, strerror(-r));
+                        log_error_errno(r, "Failed to create generator directory %s: %m", p);
                         free(p);
                         return r;
                 }
@@ -2729,7 +2715,7 @@ static int create_generator_dir(Manager *m, char **generator, const char *name)
                         return log_oom();
 
                 if (!mkdtemp(p)) {
-                        log_error("Failed to create generator directory %s: %m",
+                        log_error_errno(errno, "Failed to create generator directory %s: %m",
                                   p);
                         free(p);
                         return -errno;
@@ -2772,7 +2758,7 @@ void manager_run_generators(Manager *m) {
                 if (errno == ENOENT)
                         return;
 
-                log_error("Failed to enumerate generator directory %s: %m",
+                log_error_errno(errno, "Failed to enumerate generator directory %s: %m",
                           generator_path);
                 return;
         }