aboutsummaryrefslogtreecommitdiff
path: root/src/lxc
diff options
context:
space:
mode:
Diffstat (limited to 'src/lxc')
-rw-r--r--src/lxc/lxc_container.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lxc/lxc_container.c b/src/lxc/lxc_container.c
index 4f8703cff..145accb95 100644
--- a/src/lxc/lxc_container.c
+++ b/src/lxc/lxc_container.c
@@ -1416,12 +1416,14 @@ static int lxcContainerSetupPivotRoot(virDomainDefPtr vmDef,
if (lxcContainerPivotRoot(root) < 0)
goto cleanup;
- /* Gets rid of any existing stuff under /proc, /sys & /tmp
+ /* If we have the root source being '/', then we need to
+ * get rid of any existing stuff under /proc, /sys & /tmp.
* We need new namespace aware versions of those. We must
* do /proc last otherwise we won't find /proc/mounts :-) */
- if (lxcContainerUnmountSubtree("/sys", false) < 0 ||
- lxcContainerUnmountSubtree("/dev", false) < 0 ||
- lxcContainerUnmountSubtree("/proc", false) < 0)
+ if (STREQ(root->src, "/") &&
+ (lxcContainerUnmountSubtree("/sys", false) < 0 ||
+ lxcContainerUnmountSubtree("/dev", false) < 0 ||
+ lxcContainerUnmountSubtree("/proc", false) < 0))
goto cleanup;
/* Mounts the core /proc, /sys, etc filesystems */