]>
git.proxmox.com Git - mirror_lxcfs.git/blob - share/lxc.mount.hook.in
3 # We're dealing with mount entries, so expand any symlink
4 LXC_ROOTFS_MOUNT
=$
(readlink
-f ${LXC_ROOTFS_MOUNT})
7 if [ -d @LXCFSTARGETDIR@
/proc
/ ]; then
8 for entry
in @LXCFSTARGETDIR@
/proc
/*; do
9 [ -e "${LXC_ROOTFS_MOUNT}/proc/$(basename $entry)" ] ||
continue
10 mount
-n --bind $entry ${LXC_ROOTFS_MOUNT}/proc
/$
(basename $entry)
16 if [ -d ${LXC_ROOTFS_MOUNT}@LXCFSTARGETDIR@
/ ]; then
17 mount
-n --bind @LXCFSTARGETDIR@
${LXC_ROOTFS_MOUNT}@LXCFSTARGETDIR@
/
20 # no need for lxcfs cgroups if we have cgroup namespaces
21 [ -n "$LXC_CGNS_AWARE" ] && [ -f /proc
/self
/ns
/cgroup
] && exit 0
23 # Don't mess with containers that don't have /sys/fs/cgroup configured
24 # (lxc.mount.auto = cgroup:mixed)
25 if touch ${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/lxcfs
; then
26 rm ${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/lxcfs
31 # /sys/fs/cgroup files
32 if [ -d "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup" ]; then
33 if [ -d @LXCFSTARGETDIR@
/cgroup
]; then
34 # Cleanup existing mounts
35 for entry
in ${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/*; do
36 DEST
=$
(basename $entry)
38 if [ "${DEST}" = "cgmanager" ]; then
42 if [ ! -d "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST}" ]; then
46 while grep -q "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST}" /proc
/self
/mountinfo
; do
47 grep "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST}" /proc
/self
/mountinfo | cut
-d' ' -f5 |
while read line
; do
48 [ -e "${line}" ] && umount
-l "${line}" || true
52 rm -Rf ${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/${DEST}
55 # Mount the new entries
56 for entry
in @LXCFSTARGETDIR@
/cgroup
/*; do
57 DEST
=$
(basename $entry)
58 if [ "$DEST" = "name=systemd" ]; then
62 if [ ! -d ${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/${DEST} ]; then
63 mkdir
${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/${DEST}
66 mount
-n --bind $entry ${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/$DEST
68 # make sure that cpu,cpuacct shows up as cpu and cpuacct
69 # separately, else systemd is unhappy
70 if echo $DEST |
grep -q ","; then
71 arr
=$
(echo $DEST |
tr "," "\n")
74 if [ ! -L ${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/$single ]; then
75 ln -s $DEST ${LXC_ROOTFS_MOUNT}/sys
/fs
/cgroup
/$single