diff options
author | Adrian Reber <areber@redhat.com> | 2021-12-03 17:32:33 +0300 |
---|---|---|
committer | Andrei Vagin <avagin@gmail.com> | 2022-04-29 03:53:52 +0300 |
commit | 51a1adbc03f1860881721d4fe2094e4f6a229203 (patch) | |
tree | 8e4b4a7bd1c32f1954ad2828fc67d6fe4b7b5585 /images | |
parent | 119a7988568ede335ce03d86ef404b4ea6820b62 (diff) |
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>
Diffstat (limited to 'images')
-rw-r--r-- | images/rpc.proto | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/images/rpc.proto b/images/rpc.proto index a9f51ac4b..1d3befd23 100644 --- a/images/rpc.proto +++ b/images/rpc.proto @@ -172,6 +172,8 @@ enum criu_req_type { WAIT_PID = 11; PAGE_SERVER_CHLD = 12; + + SINGLE_PRE_DUMP = 13; } /* |