chiark / gitweb /
manager: no need to use randomized generator dir when running as system manager
authorLennart Poettering <lennart@poettering.net>
Thu, 7 Apr 2011 19:22:41 +0000 (21:22 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 7 Apr 2011 19:22:41 +0000 (21:22 +0200)
TODO
src/manager.c
src/mount-setup.c

diff --git a/TODO b/TODO
index af264d3a2046c8d5becd9cc1f9f570de2ad00bd0..5a3944fe0cf50b5d697df8e187137b01c6bdb510 100644 (file)
--- a/TODO
+++ b/TODO
@@ -2,9 +2,6 @@ F15:
 
 * swap units that are activated by one name but shown in the kernel under another are semi-broken
 
-* isolate multi-user.target doesn't start a getty@tty1 if we run it from graphical.target
-   https://bugzilla.redhat.com/show_bug.cgi?id=688661
-
 * NFS, networkmanager ordering issue (PENDING)
 
 * NM should pull in network.target (PENDING)
@@ -24,6 +21,8 @@ F15:
 * 0595f9a1c182a84581749823ef47c5f292e545f9 is borked, freezes shutdown
     (path: after installing inotify watches, recheck file again to fix race)
 
+* active_enter timestamps borked?
+
 Features:
 
 * fix alsa mixer restore to not print error when no config is stored
@@ -31,8 +30,6 @@ Features:
 * don't trim empty cgroups
   https://bugzilla.redhat.com/show_bug.cgi?id=678555
 
-* serialize used job ids and max job id
-
 * show enablement status in systemctl status
 
 * expose monotonic timestamps on the bus and make systemd-analyze use it
@@ -74,9 +71,6 @@ Features:
 
 * when key file cannot be found, read it from kbd in cryptsetup
 
-* get rid of random file name in generator directory?
-    /run/systemd/generator-IH1vFu
-
 * add switch to systemctl to show enabled but not running services. Or
   another switch that shows service that have been running since
   booting but aren't running anymore.
index 5cb3588c949443b1706a365fc55a45699246f139..ad627fc6698c36e46c1c3b60ce7761338997c36b 100644 (file)
@@ -2920,13 +2920,22 @@ void manager_run_generators(Manager *m) {
         }
 
         if (!m->generator_unit_path) {
-                char *p;
-                char system_path[] = "/run/systemd/generator-XXXXXX",
-                        user_path[] = "/tmp/systemd-generator-XXXXXX";
+                const char *p;
+                char user_path[] = "/tmp/systemd-generator-XXXXXX";
 
-                if (!(p = mkdtemp(m->running_as == MANAGER_SYSTEM ? system_path : user_path))) {
-                        log_error("Failed to generate generator directory: %m");
-                        goto finish;
+                if (m->running_as == MANAGER_SYSTEM) {
+                        p = "/run/systemd/generator";
+
+                        if (mkdir_p(p, 0755) < 0) {
+                                log_error("Failed to create generator directory: %m");
+                                goto finish;
+                        }
+
+                } else {
+                        if (!(p = mkdtemp(user_path))) {
+                                log_error("Failed to create generator directory: %m");
+                                goto finish;
+                        }
                 }
 
                 if (!(m->generator_unit_path = strdup(p))) {
index 4fa8ae5fba5873506c35332b5af0ef47f72666b2..85205832a988e41efa9e17f48c19348784bc8f93 100644 (file)
@@ -242,22 +242,22 @@ int mount_setup(void) {
                 if ((r = mount_one(mount_table+i)) < 0)
                         return r;
 
-        /* Nodes in devtmpfs need to be manually updated for the
-         * appropriate labels, after mounting. The other virtual API
-         * file systems do not need that. */
-
+        /* Nodes in devtmpfs and /run need to be manually updated for
+         * the appropriate labels, after mounting. The other virtual
+         * API file systems like /sys and /proc do not need that, they
+         * use the same label for all their files. */
         if (unlink("/dev/.systemd-relabel-run-dev") >= 0) {
                 nftw("/dev", nftw_cb, 64, FTW_MOUNT|FTW_PHYS);
                 nftw("/run", nftw_cb, 64, FTW_MOUNT|FTW_PHYS);
         }
 
         /* Create a few default symlinks, which are normally created
-         * bei udevd, but some scripts might need them before we start
+         * by udevd, but some scripts might need them before we start
          * udevd. */
-
         NULSTR_FOREACH_PAIR(j, k, symlinks)
                 symlink_and_label(j, k);
 
+
         /* Create a few directories we always want around */
         mkdir("/run/systemd", 0755);
         mkdir("/run/systemd/ask-password", 0755);