[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 01:44:13 PDT 2014


On Fri, Jun 06, 2014 at 12:31:26PM +0400, Pavel Emelyanov wrote:
> On 06/06/2014 12:20 PM, Andrew Vagin wrote:
> > Looks good to me.
> > 
> > I would like to have a test for this option.
> 
> In zdtm/ suite? It's not ready for anything that sits outside
> of the processes it dumps :)

You can write a separate test as you like;)
> 
> > On Thu, Jun 05, 2014 at 07:10:43PM +0400, Pavel Emelyanov wrote:
> >> So, the 1st attempt with modifying original mount points roots is
> >> not working since the paths we see in /proc and dump are relative
> >> to the FS's root, not relative to global (well, CRIU's) root.
> >>
> >> That said, we can try to go another route and here it is.
> >>
> >> On dump we use one or more --ext-mount option with A=B arguments.
> >> A denotes a mountpoint (as seen from the target mount namespace)
> >> criu dumps and B is the string that will be written into the
> >> image file instead of the mountpoint's root. E.g. if we have a
> >> /foo/bar bind mounted into container under /x name, then the
> >> --ext-mount /x=foobar option will tell criu, that /x is a mount
> >> point with external source and it should write "foobar" into image
> >> instead of the path read from /proc.
> >>
> >> On restore we use the same --ext-mount option(s) with similar
> >> A=B arguments, but this time criu treats A as string from the
> >> image's root field (foobar in the example above) and B as the
> >> path in criu's mount namespace the should be bind mounted into
> >> the mountpoint.
> >>
> >> For example, let's again imagine we have /foo/bar bind mounted
> >> into container under /x name and /foo/bar is inaccessible from
> >> this container.
> >>
> >> On dump we say --ext-mount /x=foobar and mountpoints.img will
> >> contain a mountpoint with root=foobar and mountpoint=/x. On restore
> >> we use --ext-mount foobar=/foo2/bar option. This will result the
> >> /foo2/bar from criu's namespace get bind-mounted to /x inside the
> >> container we restore.
> >>
> >>
> >> Thanks,
> >> Pavel
> >> _______________________________________________
> >> CRIU mailing list
> >> CRIU at openvz.org
> >> https://lists.openvz.org/mailman/listinfo/criu
> > .
> > 
> 
> 


More information about the CRIU mailing list