[CRIU] Towards an in-process libcriu

Tycho Andersen tycho.andersen at canonical.com
Wed Jul 16 12:22:04 PDT 2014


Hi Ruslan,

On Wed, Jul 16, 2014 at 10:16:01PM +0300, Ruslan Kuprieiev wrote:
> So, that lib would do smth like fork+exec criu? And criu process
> would be in the
> tree that you want to dump, right?

The way I was thinking of libcriu is just as a set of c functions:

void dump(pid_t, ...);
bool restore(char *image_dir, ...);

that you could call and criu would do what it normally does (although
probably this implies --restore-detached, among other things), so
there wouldn't be any forking to start the criu daemon. If such a
thing doesn't exist, the next way to do it would simply be to fork a
criu daemon, pass it a message, wait for it to finish, and then kill
the criu daemon.

Tycho

> On 16.07.2014 21:41, Tycho Andersen wrote:
> >Hi Ruslan,
> >
> >On Wed, Jul 16, 2014 at 09:10:36PM +0300, Ruslan Kuprieiev wrote:
> >>Hi Tycho,
> >>
> >>could you describe what do you want to do and why libcriu and RPC
> >>don't match
> >>your needs?
> >I'm working on integrating criu directly into lxc, so there can be
> >commands like lxc-checkpoint and lxc-restore. If I understand things
> >correctly, we'll either have to run a criu daemon all the time, or
> >spawn one when they run lxc-{checkpoint,restore}, do the checkpoint or
> >restore, and then kill it off. It seems much cleaner to me just to
> >have a set of library functions that we could do this with in process.
> >
> >I'm not necessarily opposed to the idea of using the RPC, I just
> >figured it probably wouldn't be that hard to get at least a tiny
> >libcriu going that would do what I needed.
> >
> >Tycho
> >
> >>Thanks,
> >>Ruslan
> >>
> >>On 16.07.2014 19:37, Tycho Andersen wrote:
> >>>Hi all,
> >>>
> >>>I'm interested in making an in-process version of libcriu, as opposed
> >>>to the RPC version that currently exists today. I can tack it on to
> >>>the existing libcriu and include the necessary symbols, or I could
> >>>start out fresh. Which option is preferable? Also, if I start fresh,
> >>>what should I call such a thing?
> >>>
> >>>Thanks,
> >>>
> >>>Tycho
> >>>_______________________________________________
> >>>CRIU mailing list
> >>>CRIU at openvz.org
> >>>https://lists.openvz.org/mailman/listinfo/criu
> 


More information about the CRIU mailing list