manager: no need to use randomized generator dir when running as system manager

This commit is contained in:
Lennart Poettering
2011-04-07 21:22:41 +02:00
parent 20c03b7be2
commit f1d19aa412
3 changed files with 23 additions and 20 deletions
+15 -6
View 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))) {
+6 -6
View 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);