mirror of
https://github.com/checkpoint-restore/criu
synced 2025-08-23 10:28:05 +00:00
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>