[lxc-devel] Strange problem (stray mounts) with lxc-create...

Serge Hallyn serge.hallyn at ubuntu.com
Wed Oct 9 17:08:46 UTC 2013


Quoting Michael H. Warfield (mhw at WittsEnd.com):
> On Wed, 2013-10-09 at 10:10 -0500, Serge Hallyn wrote: 
> > Quoting Michael H. Warfield (mhw at WittsEnd.com):
> > > On Wed, 2013-10-09 at 09:50 -0500, Serge Hallyn wrote: 
> > > > > lxc-create -n Ubuntu-test -t ubuntu
> > > > > 
> > > > > Bingo...
> > > > > 
> > > > > /dev/mapper/fedora-root on /usr/lib64/lxc/rootfs type ext4 (rw,relatime,seclabel,data=ordered)
> > > > > 
> > > > > Why is lxc-create even creating that mount?  I don't see any reason for
> > > > 
> > > > Check lxccontainer.c:785 and line 805.  We call bdev_mount() in case its
> > > > a blockdev.  In the case of a dir-backed container we still end up doing
> > > > a bind mount of the rootfs.
> > > > 
> > > > > it.  We're never running the container in lxc-create.  Running
> > > > > "umount /usr/lib64/lxc/rootfs" clears it and we're off to the races
> > > > > again.
> > > > > 
> > > > > If I were to venture a WAG (Wild Ass Guess) some initialization code is
> > > > > creating that bind mount that is not needed and that the cleanup code in
> > > > > lxc-create is unaware of.  But I haven't gone to the trouble of trying
> > > > > to track the code down yet.
> > > 
> > > > Now is your / still MS_SHARED?  The bdev create and templates
> > > > run in a private namespace, but if MS_SHARED then the mounts get
> > > > bounced back to host.  Maybe we need to manually set MS_PRIVATE every
> > > > time after doing an unshare() in lxc code.
> > > 
> > > It doesn't seem to be...  Am I looking in the right spot.  I don't see
> > > it in the options...
> > > 
> > > [root at hydra mhw]# mount | grep ' / '
> > > /dev/mapper/fedora-root on / type ext4 (rw,relatime,seclabel,data=ordered)
> 
> > What does /proc/self/mountinfo on the host looks like?
> 
> [root at hydra mhw]# grep ' / ' /proc/self/mounts
> rootfs / rootfs rw 0 0

What about 'grep -i shared /proc/self/mount*?

> /dev/mapper/fedora-root / ext4 rw,seclabel,relatime,data=ordered 0 0
> [root at hydra mhw]# grep ' /usr/lib64/lxc/rootfs ' /proc/self/mounts
> /dev/mapper/fedora-root /usr/lib64/lxc/rootfs ext4 rw,seclabel,relatime,data=ordered 0 0

What about /proc/self/mountinfo?




More information about the lxc-devel mailing list