Bug 824909
Summary: | util-linux-2.20.1-2.3 breaks lxc containers that share their host root file system and create pseudo tty instances | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Steven Galgano <sgalgano> |
Component: | lxc | Assignee: | Thomas Moschny <thomas.moschny> |
Status: | CLOSED WORKSFORME | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | 16 | CC: | jonathan, karlthered, kzak, mluscon, thomas.moschny |
Target Milestone: | --- | ||
Target Release: | --- | ||
Hardware: | Unspecified | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2012-08-04 12:31:49 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: |
Description
Steven Galgano
2012-05-24 15:01:50 UTC
The MS_REC flag is required for recursive mount operations -- for example --rbind, --make-rshare, etc. It seems that something in lxc containers depends on the old *broken* implementation where MS_REC has been incorrectly removed. It would be nice to identify the mount usage (or command) in lxc with MS_SHARED, MS_SLAVE, MS_UNBINDABLE or MS_PRIVATE operations. The util-linux-2.20-mount-rec.patch cannot be removed. On Fedora 17/x86_64, I cannot reproduce the problem: # rpm -q lxc lxc-libs util-linux lxc-0.7.5-1.fc17.x86_64 lxc-libs-0.7.5-1.fc17.x86_64 util-linux-2.21.2-2.fc17.x86_64 # uname -r 3.4.4-5.fc17.x86_64 # echo "lxc.pts = 128" > /tmp/lxc.conf # lxc-execute -f /tmp/lxc.conf --name test /usr/bin/bash # ps ax PID TTY STAT TIME COMMAND 1 ? S 0:00 /usr/lib64/lxc/lxc-init -- /usr/bin/bash 2 ? S 0:00 /usr/bin/bash 214 ? R+ 0:00 ps ax As far as I can see, lxc uses MS_REC only while mounting the rootfs (in src/lxc/conf.c): static int mount_rootfs_dir(const char *rootfs, const char *target) { return mount(rootfs, target, "none", MS_BIND | MS_REC, NULL); } Need more information on how to reproduce and possibly report this upstream. Also cannot reproduce on F16/x86_64: # rpm -q lxc lxc-libs util-linux lxc-0.7.5-1.fc16.x86_64 lxc-libs-0.7.5-1.fc16.x86_64 util-linux-2.20.1-2.3.fc16.x86_64 # uname -r 3.4.4-4.fc16.x86_64 # echo "lxc.pts = 128" > /tmp/lxc.conf # lxc-execute -f /tmp/lxc.conf --name test /bin/bash # ps ax PID TTY STAT TIME COMMAND 1 ? S 0:00 /usr/lib64/lxc/lxc-init -- /bin/bash 2 ? S 0:00 /bin/bash 94 ? R+ 0:00 ps ax So, closing. |