diff --git a/share/lxc.mount.hook.in b/share/lxc.mount.hook.in index d8631aa..6071e3a 100755 --- a/share/lxc.mount.hook.in +++ b/share/lxc.mount.hook.in @@ -1,33 +1,41 @@ #!/bin/sh -eu + +# /proc files if [ -d @LXCFSTARGETDIR@/proc/ ]; then for entry in @LXCFSTARGETDIR@/proc/*; do + [ -e "${LXC_ROOTFS_MOUNT}/proc/$(basename $entry)" ] || continue mount --bind $entry ${LXC_ROOTFS_MOUNT}/proc/$(basename $entry) done fi -mount -t tmpfs none ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/ -o size=4k,mode=755 -if [ -d /sys/fs/cgroup/cgmanager.lower ]; then - mkdir ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/cgmanager - mount --bind /sys/fs/cgroup/cgmanager.lower \ - ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/cgmanager -elif [ -d /sys/fs/cgroup/cgmanager ]; then - mkdir ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/cgmanager - mount --bind /sys/fs/cgroup/cgmanager \ - ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/cgmanager -fi +# /sys/fs/cgroup files +if [ -d "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup" ]; then + mount -t tmpfs none ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/ -o size=4k,mode=755 + if [ -d /sys/fs/cgroup/cgmanager.lower ]; then + mkdir ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/cgmanager + mount --bind /sys/fs/cgroup/cgmanager.lower \ + ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/cgmanager + elif [ -d /sys/fs/cgroup/cgmanager ]; then + mkdir ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/cgmanager + mount --bind /sys/fs/cgroup/cgmanager \ + ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/cgmanager + fi -if [ -d @LXCFSTARGETDIR@/cgroup ]; then - for entry in @LXCFSTARGETDIR@/cgroup/*; do - DEST=$(basename $entry) - if [ "$DEST" = "name=systemd" ]; then - DEST="systemd" + if [ -d @LXCFSTARGETDIR@/cgroup ]; then + for entry in @LXCFSTARGETDIR@/cgroup/*; do + DEST=$(basename $entry) + if [ "$DEST" = "name=systemd" ]; then + DEST="systemd" + fi + + mkdir ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/$DEST + mount --bind $entry ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/$DEST + done + + if [ -d ${LXC_ROOTFS_MOUNT}@LXCFSTARGETDIR@/ ]; then + mount --bind @LXCFSTARGETDIR@ ${LXC_ROOTFS_MOUNT}@LXCFSTARGETDIR@/ fi - - mkdir ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/$DEST - mount --bind $entry ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/$DEST - done - - if [ -d ${LXC_ROOTFS_MOUNT}@LXCFSTARGETDIR@/ ]; then - mount --bind @LXCFSTARGETDIR@ ${LXC_ROOTFS_MOUNT}@LXCFSTARGETDIR@/ fi fi + +exit 0