X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fcore%2Fmount-setup.c;h=e45a6bc1c889821547d3c324ea1f395dc8651423;hb=4e6db59202ad2dbbef56a69985643390ffdd57bd;hp=42cdc6dc52423a07192b2f7ee7baf0db7d0591e9;hpb=ffbd2c4d45787ba5ba85a32db6551efba66a1ee6;p=elogind.git diff --git a/src/core/mount-setup.c b/src/core/mount-setup.c index 42cdc6dc5..e45a6bc1c 100644 --- a/src/core/mount-setup.c +++ b/src/core/mount-setup.c @@ -315,6 +315,7 @@ int mount_cgroup_controllers(char ***join_controllers) { p.type = "cgroup"; p.options = options; p.flags = MS_NOSUID|MS_NOEXEC|MS_NODEV; + p.mode = MNT_IN_CONTAINER; r = mount_one(&p, true); free(controller); @@ -422,7 +423,7 @@ int mount_setup(bool loaded_policy) { after_relabel = now(CLOCK_MONOTONIC); log_info("Relabelled /dev and /run in %s.", - format_timespan(timespan, sizeof(timespan), after_relabel - before_relabel)); + format_timespan(timespan, sizeof(timespan), after_relabel - before_relabel, 0)); } /* Create a few default symlinks, which are normally created @@ -440,9 +441,14 @@ int mount_setup(bool loaded_policy) { if (mount(NULL, "/", NULL, MS_REC|MS_SHARED, NULL) < 0) log_warning("Failed to set up the root directory for shared mount propagation: %m"); - /* Create a few directories we always want around */ + /* Create a few directories we always want around, Note that + * sd_booted() checks for /run/systemd/system, so this mkdir + * really needs to stay for good, otherwise software that + * copied sd-daemon.c into their sources will misdetect + * systemd. */ mkdir_label("/run/systemd", 0755); mkdir_label("/run/systemd/system", 0755); + mkdir_label("/run/systemd/inaccessible", 0000); return 0; }