chiark / gitweb /
unit: use weaker dependencies between mount and device units in --user mode
[elogind.git] / src / core / kmod-setup.c
index fd0a0e06adcdff080d7af7512a216ebb25e4bca8..efbdf31688cd56d8dd52abdcd899c39b4eb898e4 100644 (file)
   along with systemd; If not, see <http://www.gnu.org/licenses/>.
 ***/
 
-#include <sys/wait.h>
 #include <unistd.h>
 #include <string.h>
-#include <errno.h>
 
 #ifdef HAVE_KMOD
 #include <libkmod.h>
 #endif
 
 #include "macro.h"
-#include "execute.h"
 #include "capability.h"
 #include "kmod-setup.h"
 
@@ -44,30 +41,12 @@ static void systemd_kmod_log(
 
         /* library logging is enabled at debug only */
         DISABLE_WARNING_FORMAT_NONLITERAL;
-        log_metav(LOG_DEBUG, file, line, fn, format, args);
+        log_internalv(LOG_DEBUG, 0, file, line, fn, format, args);
         REENABLE_WARNING;
 }
 
 static bool cmdline_check_kdbus(void) {
-        _cleanup_free_ char *line = NULL;
-        const char *p;
-        int r;
-
-        r = proc_cmdline(&line);
-        if (r < 0)
-                return false;
-
-        p = line;
-        for (;;) {
-                _cleanup_free_ char *word = NULL;
-
-                r = unquote_first_word(&p, &word, true);
-                if (r <= 0)
-                        return false;
-
-                if (streq(word, "kdbus"))
-                        return true;
-        }
+        return get_proc_cmdline_key("kdbus", NULL) > 0;
 }
 #endif
 
@@ -81,13 +60,13 @@ int kmod_setup(void) {
                 bool (*condition_fn)(void);
         } kmod_table[] = {
                 /* auto-loading on use doesn't work before udev is up */
-                { "autofs4", "/sys/class/misc/autofs", true, NULL },
+                { "autofs4", "/sys/class/misc/autofs", true, NULL                 },
 
                 /* early configure of ::1 on the loopback device */
-                { "ipv6",    "/sys/module/ipv6",       true, NULL },
+                { "ipv6",    "/sys/module/ipv6",       true, NULL                 },
 
                 /* this should never be a module */
-                { "unix",    "/proc/net/unix",         true, NULL },
+                { "unix",    "/proc/net/unix",         true, NULL                 },
 
                 /* IPC is needed before we bring up any other services */
                 { "kdbus",   "/sys/fs/kdbus",          false, cmdline_check_kdbus },