chiark / gitweb /
treewide: drop unnecessary trailing \n in log_*() calls
[elogind.git] / src / udev / udevd.c
index e03297de5baa7dcf499eaa6c01183d42465b324f..a6258e714ac0d5eb62763133ce293777e37ac9d0 100644 (file)
 #include "dev-setup.h"
 #include "fileio.h"
 
-void udev_main_log(struct udev *udev, int priority,
-                   const char *file, int line, const char *fn,
-                   const char *format, va_list args) {
-        log_metav(priority, file, line, fn, format, args);
-}
-
 static struct udev_rules *rules;
 static struct udev_ctrl *udev_ctrl;
 static struct udev_monitor *monitor;
@@ -81,6 +75,7 @@ static sigset_t sigmask_orig;
 static UDEV_LIST(event_list);
 static UDEV_LIST(worker_list);
 static char *udev_cgroup;
+static struct udev_list properties_list;
 static bool udev_exit;
 
 enum event_state {
@@ -310,9 +305,15 @@ static void worker_new(struct event *event) {
                         udev_event->rtnl = rtnl;
 
                         /* apply rules, create node, symlinks */
-                        udev_event_execute_rules(udev_event, arg_event_timeout_usec, arg_event_timeout_warn_usec, rules, &sigmask_orig);
+                        udev_event_execute_rules(udev_event,
+                                                 arg_event_timeout_usec, arg_event_timeout_warn_usec,
+                                                 &properties_list,
+                                                 rules,
+                                                 &sigmask_orig);
 
-                        udev_event_execute_run(udev_event, arg_event_timeout_usec, arg_event_timeout_warn_usec, &sigmask_orig);
+                        udev_event_execute_run(udev_event,
+                                               arg_event_timeout_usec, arg_event_timeout_warn_usec,
+                                               &sigmask_orig);
 
                         /* in case rtnl was initialized */
                         rtnl = sd_rtnl_ref(udev_event->rtnl);
@@ -676,10 +677,10 @@ static struct udev_ctrl_connection *handle_ctrl_msg(struct udev_ctrl *uctrl) {
                                 val = &val[1];
                                 if (val[0] == '\0') {
                                         log_debug("udevd message (ENV) received, unset '%s'", key);
-                                        udev_add_property(udev, key, NULL);
+                                        udev_list_entry_add(&properties_list, key, NULL);
                                 } else {
                                         log_debug("udevd message (ENV) received, set '%s=%s'", key, val);
-                                        udev_add_property(udev, key, val);
+                                        udev_list_entry_add(&properties_list, key, val);
                                 }
                         } else {
                                 log_error("wrong key format '%s'", key);
@@ -961,7 +962,7 @@ static void kernel_cmdline_options(struct udev *udev) {
 
         r = proc_cmdline(&line);
         if (r < 0) {
-                log_warning("Failed to read /proc/cmdline, ignoring: %s", strerror(-r));
+                log_warning_errno(r, "Failed to read /proc/cmdline, ignoring: %m");
                 return;
         }
 
@@ -1134,7 +1135,7 @@ int main(int argc, char *argv[]) {
 
         r = mac_selinux_init("/dev");
         if (r < 0) {
-                log_error("could not initialize labelling: %s", strerror(-r));
+                log_error_errno(r, "could not initialize labelling: %m");
                 goto exit;
         }
 
@@ -1147,6 +1148,8 @@ int main(int argc, char *argv[]) {
 
         umask(022);
 
+        udev_list_init(udev, &properties_list, true);
+
         r = mkdir("/run/udev", 0755);
         if (r < 0 && errno != EEXIST) {
                 log_error("could not create /run/udev: %m");
@@ -1224,7 +1227,7 @@ int main(int argc, char *argv[]) {
 
         udev_monitor_set_receive_buffer_size(monitor, 128 * 1024 * 1024);
 
-        log_info("starting version " VERSION "\n");
+        log_info("starting version " VERSION);
 
         udev_builtin_init(udev);
 
@@ -1236,7 +1239,7 @@ int main(int argc, char *argv[]) {
 
         rc = udev_rules_apply_static_dev_perms(rules);
         if (rc < 0)
-                log_error("failed to apply permissions on static device nodes - %s", strerror(-rc));
+                log_error_errno(rc, "failed to apply permissions on static device nodes - %m");
 
         if (arg_daemonize) {
                 pid_t pid;
@@ -1535,6 +1538,7 @@ exit_daemonize:
         udev_monitor_unref(monitor);
         udev_ctrl_connection_unref(ctrl_conn);
         udev_ctrl_unref(udev_ctrl);
+        udev_list_cleanup(&properties_list);
         mac_selinux_finish();
         udev_unref(udev);
         log_close();