Hi Tejun,
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.
I keep waffling between thinking this is a problem that needs to be
solved, and thinking "don't do that". But docker at least seems to
have a problem with it right now, because it uses that field as part
of its calculation of paths to write to.
So, do you think it would be worth adding a 'nsroot=' entry in the
optional fields (next shared:) ? I would've just sent a patch, but
it actually isn't quite as simple as it would seem to find a way to
get the absolute path during mountinfo_read(), so I thought I'd ask
before spending more time on it.
thanks,
-serge
Hello, Serge.
On Fri, Mar 11, 2016 at 03:50:10PM -0600, Serge E. Hallyn wrote:
> '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.
I see.
> I keep waffling between thinking this is a problem that needs to be
> solved, and thinking "don't do that". But docker at least seems to
> have a problem with it right now, because it uses that field as part
> of its calculation of paths to write to.
Yeah, given that both are used in pretty simliar context, I think
distinguishing them would be a good idea.
> So, do you think it would be worth adding a 'nsroot=' entry in the
> optional fields (next shared:) ? I would've just sent a patch, but
Yeah, I think so.
> it actually isn't quite as simple as it would seem to find a way to
> get the absolute path during mountinfo_read(), so I thought I'd ask
> before spending more time on it.
Thanks.
--
tejun