The following pull request was submitted through Github.
It can be accessed and reviewed at: https://github.com/lxc/lxcfs/pull/98

This e-mail was sent by the LXC bot, direct replies will not reach the author
unless they happen to be subscribed to this list.

=== Description (from pull-request) ===
Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
From 77171c86c5a542c35912d937e4a50a75d2328ab4 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgra...@ubuntu.com>
Date: Fri, 18 Mar 2016 23:23:17 -0400
Subject: [PATCH] Fix lxcfs mount handling with newer lxc
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Stéphane Graber <stgra...@ubuntu.com>
---
 share/lxc.mount.hook.in | 30 ++++++++++++++++++++++++------
 1 file changed, 24 insertions(+), 6 deletions(-)

diff --git a/share/lxc.mount.hook.in b/share/lxc.mount.hook.in
index 9ef1b91..89e06b0 100755
--- a/share/lxc.mount.hook.in
+++ b/share/lxc.mount.hook.in
@@ -28,18 +28,36 @@ fi
 # /sys/fs/cgroup files
 if [ -d "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup" ]; then
     if [ -d @LXCFSTARGETDIR@/cgroup ]; then
-        for entry in @LXCFSTARGETDIR@/cgroup/*; do
+        # Cleanup existing mounts
+        for entry in ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/*; do
             DEST=$(basename $entry)
-            if [ "$DEST" = "name=systemd" ]; then
-                DEST="systemd"
+
+            if [ "${DEST}" = "cgmanager" ]; then
+                continue
             fi
 
-            if mountpoint -q ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/$DEST; then
+            if [ ! -d "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST}" ]; then
                 continue
             fi
 
-            if [ ! -d ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/$DEST ]; then
-                mkdir ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/$DEST
+            while grep "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST}" 
/proc/self/mountinfo; do
+                grep "${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST}" 
/proc/self/mountinfo | cut -d' ' -f5 | while read line; do
+                     mountpoint -q ${line} && umount -l ${line} || true
+                done
+            done
+
+            rm -Rf ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST}
+        done
+
+        # Mount the new entries
+        for entry in @LXCFSTARGETDIR@/cgroup/*; do
+            DEST=$(basename $entry)
+            if [ "$DEST" = "name=systemd" ]; then
+                DEST="systemd"
+            fi
+
+            if [ ! -d ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST} ]; then
+                mkdir ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/${DEST}
             fi
 
             mount -n --bind $entry ${LXC_ROOTFS_MOUNT}/sys/fs/cgroup/$DEST
_______________________________________________
lxc-devel mailing list
lxc-devel@lists.linuxcontainers.org
http://lists.linuxcontainers.org/listinfo/lxc-devel

Reply via email to