[CRIU] [RFC][PATCH 0/3] Proposal for native (w/o plugins) support for external bind mounts v2

Andrew Vagin avagin at parallels.com
Fri Jun 6 05:34:48 PDT 2014


On Fri, Jun 06, 2014 at 03:24:06PM +0400, Pavel Emelyanov wrote:
> On 06/06/2014 03:21 PM, Andrew Vagin wrote:
> 
> [snip]
> 
> >>>> Does it make sense?
> >>>
> >>> I'm not sure that I understand you. Look at this:
> >>>
> >>> I just want to show mountinfo for a real docket CT.
> >>>
> >>> $ cat /proc/1554/mountinfo
> 
> [snip]
> 
> >>> 112 102 0:12 /7 /dev/console rw,nosuid,noexec,relatime - devpts devpts rw,gid=5,mode=620,ptmxmode=000
> >>>
> >>> So we have two types of bind-mounts:
> >>> * /var/lib/docker/containers/CTID
> >>> * /dev/console, /etc/resolv.conf
> >>>
> >>> and the option should be able to handle all these cases...
> >>>
> >>> For example:
> >>>
> >>> on dump:
> >>> --ext-mount s:/var/lib/docker/containers/37192b3177f945beb4a92e182638652b35fa71b14ae5b11072e4bfe22e21d280/=CTPATH
> >>> 	all source subpath is replaced on CTPATH
> >>
> >> There's no such thing as "source subpath". If /var/lib is not directory on /, but
> >> a mountpoint, criu would only see the /docker/containers/ID/... paths in mountinfo.
> > 
> > I know this and in this case you will need to say
> > --ext-mount s:/docker/containers/37192b3177f945beb4a92e182638652b35fa71b14ae5b11072e4bfe22e21d280/=CTPATH
> > 
> > or criu can cut "/var/lib" and compare a device number to be sure that a
> > bind-mount belons to the specified path.
> 
> Now I don't get the idea :)
> 
> Let's imagine we have /a/a being a mountpoint and we bind mount /a/a/a/a/a/a into container.
> We tell to criu on dump that --ext-mount s:/a/a/a/a=A. What should it do?

In the image source will be equal to A/a/a. CRIU should try to resolve
path for an external mount point in a specified directory. It isn't easy
because a directory can contain other mounts.

> 
> Thanks,
> Pavel


More information about the CRIU mailing list