[lxc-devel] [PATCH 1/2] c/r: use --restore-sibling option in CRIU
Serge Hallyn
serge.hallyn at ubuntu.com
Mon Sep 15 18:25:55 UTC 2014
Quoting Tycho Andersen (tycho.andersen at canonical.com):
> On Fri, Sep 12, 2014 at 11:07:14PM +0000, Serge Hallyn wrote:
> > Quoting Tycho Andersen (tycho.andersen at canonical.com):
> > > In order for LXC to be the parent of the restored process, CRIU needs to
> > > restore init as its sibling, not as its child. This was previously accomplished
> > > essentially via luck :). CRIU now has a --restore-sibling option which forces
> > > this behavior that LXC expects. See more discussion in this thread:
> > > http://lists.openvz.org/pipermail/criu/2014-September/thread.html#16330
> > >
> > > Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
> >
> > Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
>
> After looking through some logs, it is a little cleaner to do it as
> below, instead of what I originally posted.
Yup, looks good, thanks.
> Tycho
>
>
>
> In order for LXC to be the parent of the restored process, CRIU needs to
> restore init as its sibling, not as its child. This was previously accomplished
> essentially via luck :). CRIU now has a --restore-sibling option which forces
> this behavior that LXC expects. See more discussion in this thread:
> http://lists.openvz.org/pipermail/criu/2014-September/thread.html#16330
>
> v2: don't pass --restore-sibling to dump. This is mostly cosmetic, but will
> look less confusing in the logs if people ever look at them.
>
> Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
> Acked-by: Serge E. Hallyn <serge.hallyn at ubuntu.com>
> ---
> src/lxc/lxccontainer.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/lxc/lxccontainer.c b/src/lxc/lxccontainer.c
> index ff5167a..880055e 100644
> --- a/src/lxc/lxccontainer.c
> +++ b/src/lxc/lxccontainer.c
> @@ -3562,8 +3562,8 @@ static void exec_criu(struct criu_opts *opts)
> if (!opts->stop)
> static_args++;
> } else if (strcmp(opts->action, "restore") == 0) {
> - /* --root $(lxc_mount_point) --restore-detached --pidfile $foo */
> - static_args += 5;
> + /* --root $(lxc_mount_point) --restore-detached --restore-sibling --pidfile $foo */
> + static_args += 6;
> } else {
> return;
> }
> @@ -3629,6 +3629,7 @@ static void exec_criu(struct criu_opts *opts)
> DECLARE_ARG("--root");
> DECLARE_ARG(opts->c->lxc_conf->rootfs.mount);
> DECLARE_ARG("--restore-detached");
> + DECLARE_ARG("--restore-sibling");
> DECLARE_ARG("--pidfile");
> DECLARE_ARG(opts->pidfile);
>
> --
> 1.9.1
>
> _______________________________________________
> lxc-devel mailing list
> lxc-devel at lists.linuxcontainers.org
> http://lists.linuxcontainers.org/listinfo/lxc-devel
More information about the lxc-devel
mailing list