UBUNTU: SAUCE: (noup) cgroup namespaces: add a 'nsroot=' mountinfo field
BugLink: http://bugs.launchpad.net/bugs/1560489 [ note - this is a version of the patch I just sent to lkml ported to our xenial tree. It's needed for things like docker and lxc to be certain of which cgroup tasks file is their own in certain nesting situations. We currently work around it by blindly assuming that there are no legacy container managers running on cgroup-ns-enabled kernels ] One practical problem I've found with cgroup namespaces is that there is no way to disambiguate between a cgroupfs mount which was done in a cgroup namespace, and a bind mount of a cgroupfs directory. So whether I do unshare --cgroup -- bash -c "mount -t cgroup -o freezer f /mnt; cat /proc/self/mountinfo" or whether I just mount --bind /sys/fs/cgroup/freezer/$(awk -F: '/freezer/ { print $3 }' /proc/self/cgroup) /mnt 'mount root' field (field 3) in /proc/self/mountinfo will show the same thing, the result of awk -F: '/freezer/ { print $3 }' /proc/self/cgroup. This patch adds a 'nsroot=' field to cgroup mountinfo entries, so that userspace can distinguish a mount made in a cgroup namespace from a bind mount from a cgroup subdirectory. Signed-off-by:Serge Hallyn <serge.hallyn@ubuntu.com> Signed-off-by:
Tim Gardner <tim.gardner@canonical.com>
Showing
Please register or sign in to comment