]> git.proxmox.com Git - mirror_lxc.git/commitdiff
lxc_init: don't mount filesystems
authorSerge Hallyn <shallyn@cisco.com>
Tue, 27 Feb 2018 18:05:30 +0000 (12:05 -0600)
committerSerge Hallyn <shallyn@cisco.com>
Tue, 27 Feb 2018 20:50:48 +0000 (14:50 -0600)
We have an extensive set of container config options to do this
for us, and doing this unconditionally breaks several use cases.
For instance, if we want to bind mount a /dev/shm using the
container configuration, then lxc-execute, then lxc-init will
rudely unmount the /dev/shm and remount it as a private tmpfs.

Signed-off-by: Serge Hallyn <shallyn@cisco.com>
src/lxc/cmd/lxc_init.c
src/lxc/initutils.c

index 315c643fa696f27123ab52d6a20e45dfb811993c..a0dabb66a720daa35e6e294a5089a6ef220d4c4a 100644 (file)
@@ -318,8 +318,6 @@ int main(int argc, char *argv[])
                }
        }
 
-       lxc_setup_fs();
-
        remove_self();
 
        pid = fork();
index 12c33630b14a44e0ff7f318557770b0eed0f783b..56926fb5fcef0724145b7685b6d9dc909e1b7aa7 100644 (file)
 
 lxc_log_define(lxc_initutils, lxc);
 
-static int mount_fs(const char *source, const char *target, const char *type)
-{
-       /* the umount may fail */
-       if (umount(target))
-               WARN("Failed to unmount %s : %s", target, strerror(errno));
-
-       if (mount(source, target, type, 0, NULL)) {
-               ERROR("Failed to mount %s : %s", target, strerror(errno));
-               return -1;
-       }
-
-       DEBUG("'%s' mounted on '%s'", source, target);
-
-       return 0;
-}
-
-extern void lxc_setup_fs(void)
-{
-       if (mount_fs("proc", "/proc", "proc"))
-               INFO("Failed to remount proc");
-
-       /* if /dev has been populated by us, /dev/shm does not exist */
-       if (access("/dev/shm", F_OK) && mkdir("/dev/shm", 0777))
-               INFO("Failed to create /dev/shm");
-
-       /* if we can't mount /dev/shm, continue anyway */
-       if (mount_fs("shmfs", "/dev/shm", "tmpfs"))
-               INFO("Failed to mount /dev/shm");
-
-       /* If we were able to mount /dev/shm, then /dev exists */
-       /* Sure, but it's read-only per config :) */
-       if (access("/dev/mqueue", F_OK) && mkdir("/dev/mqueue", 0666)) {
-               DEBUG("Failed to create '/dev/mqueue'");
-               return;
-       }
-
-       /* continue even without posix message queue support */
-       if (mount_fs("mqueue", "/dev/mqueue", "mqueue"))
-               INFO("Failed to mount /dev/mqueue");
-}
-
 static char *copy_global_config_value(char *p)
 {
        int len = strlen(p);