criu/images
Adrian Reber 51a1adbc03 libcriu: add single pre-dump support
In contrast to the CLI it is not possible to do a single pre-dump via
RPC and thus libcriu. In cr-service.c pre-dump always goes into a
pre-dump loop followed by a final dump. runc already works around this
to only do a single pre-dump by killing the CRIU process waiting for the
message for the final dump.

Trying to implement pre-dump in crun via libcriu it is not as easy to
work around CRIU's pre-dump loop expectations as with runc that directly
talks to CRIU via RPC.

We know that LXC/LXD also does single pre-dumps using the CLI and runc
also only does single pre-dumps by misusing the pre-dump loop interface.

With this commit it is possible to trigger a single pre-dump via RPC and
libcriu without misusing the interface provided via cr-service.c. So
this commit basically updates CRIU to the existing use cases.

The existing pre-dump loop still sounds like a very good idea, but so
far most tools have decided to implement the pre-dump loop themselves.

With this change we can implement pre-dump in crun to match what is
currently implemented in runc.

Signed-off-by: Adrian Reber <areber@redhat.com>
2022-04-28 17:53:52 -07:00
..
google/protobuf build: Move @protobuf dir into @images 2016-02-15 15:32:27 +03:00
apparmor.proto lsm: support checkpoint/restore of stacked apparmor profiles 2021-09-03 10:31:00 -07:00
autofs.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
binfmt-misc.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
bpfmap-data.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
bpfmap-file.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
cgroup.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-aarch64.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-arm.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-mips.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-ppc64.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-s390.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core-x86.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
core.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
cpuinfo.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
creds.proto lsm: support checkpoint/restore of stacked apparmor profiles 2021-09-03 10:31:00 -07:00
eventfd.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
eventpoll.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ext-file.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fdinfo.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fh.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fifo.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
file-lock.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fown.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fs.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
fsnotify.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ghost-file.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
img-streamer.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
inventory.proto inventory: save network lock method to reuse in restore 2021-09-03 10:31:00 -07:00
ipc-desc.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ipc-msg.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ipc-sem.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ipc-shm.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ipc-var.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
LICENSE images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
macvlan.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
Makefile lsm: support checkpoint/restore of stacked apparmor profiles 2021-09-03 10:31:00 -07:00
memfd.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
mm.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
mnt.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
netdev.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
ns.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
opts.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
packet-sock.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pagemap.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pidns.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pipe-data.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pipe.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
pstree.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
regfile.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
remap-file-path.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
rlimit.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
rpc.proto libcriu: add single pre-dump support 2022-04-28 17:53:52 -07:00
sa.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
seccomp.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
siginfo.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
signalfd.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sit.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sk-inet.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sk-netlink.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sk-opts.proto sockets: c/r bufer size locks 2022-04-28 17:53:52 -07:00
sk-packet.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sk-unix.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
stats.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
sysctl.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
tcp-stream.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
time.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
timens.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
timer.proto criu: dump and restore notify_thread_id of posix timer 2021-09-03 10:31:00 -07:00
timerfd.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
tty.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
tun.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
userns.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
utsns.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00
vma.proto images: re-license as Expat license (so-called MIT) 2021-09-03 10:31:00 -07:00