criu/lib
Radostin Stoyanov 3441f66b24 crtools/rpc/libcriu: Expose page compression
The compression paths have no supported user or RPC controls, and
clients cannot discover whether CRIU was built with LZ4.

Expose per-page and region compression, LZ4 acceleration, and worker
concurrency for LZ4 decoding and eligible large zero fills through the
CLI, configuration files, RPC, and libcriu. Add compression to the
feature-check API and document each interface.

Define --decompress-threads=0 as automatic worker concurrency and one as
the serial default with zero-fill workers disabled. Values above one
bound aggregate worker concurrency. Automatic mode derives a useful
width from CPU affinity and the work in each batch. Reduce explicit
requests above the available CPU count with a warning.

Document the independent two-slot encoded-input budget. A local restore
overlaps its next read only when it can reserve the second slot without
waiting; otherwise it keeps synchronous I/O.

Use the compression mode as the source of truth and validate every
related value. An explicit RPC OFF clears ambient compression settings
and rejects conflicting fields. Reject combinations unsupported by page
server, stream, TLS, and image-format paths, and cover option and RPC
precedence in the tests.

Assisted-by: Codex:GPT-5
Assisted-by: Claude:claude-fable-5
Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
2026-07-14 10:17:01 +01:00
..
c crtools/rpc/libcriu: Expose page compression 2026-07-14 10:17:01 +01:00
pycriu images: Add compressed page metadata 2026-07-14 10:17:01 +01:00
.gitignore lib: use separate packages for pycriu and crit 2023-11-27 16:47:16 -08:00
Makefile make: improve check for externally managed Python 2024-09-11 16:02:11 -07:00
pyproject.toml pycriu: add missing protobuf dependency 2025-11-05 15:41:34 -08:00
setup.cfg pycriu: add missing protobuf dependency 2025-11-05 15:41:34 -08:00
setup.py lib: use separate packages for pycriu and crit 2023-11-27 16:47:16 -08:00