mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-17 16:47:50 +00:00
Present pagemap entries currently imply one PAGE_SIZE payload per page. That is not enough to locate packed zero, raw, and LZ4 blocks or to describe region compression. Record the compression mode and region size in the inventory. Add packed per-block sizes, their total, and the region width to pagemap entries, plus PE_PAYLOAD_ALIGNED for entries whose payload starts after padding. Keep the fields optional so ordinary and older images retain their existing representation. Assisted-by: Codex:GPT-5 Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
47 lines
1.4 KiB
Protocol Buffer
47 lines
1.4 KiB
Protocol Buffer
// SPDX-License-Identifier: MIT
|
|
|
|
syntax = "proto2";
|
|
|
|
import "core.proto";
|
|
|
|
enum lsmtype {
|
|
NO_LSM = 0;
|
|
SELINUX = 1;
|
|
APPARMOR = 2;
|
|
}
|
|
|
|
// It is not possible to distinguish between an empty repeated field
|
|
// and unset repeated field. To solve this problem and provide backwards
|
|
// compabibility, we use the 'plugins_entry' message.
|
|
message plugins_entry {
|
|
repeated string plugins = 12;
|
|
};
|
|
|
|
message inventory_entry {
|
|
required uint32 img_version = 1;
|
|
optional bool fdinfo_per_id = 2;
|
|
optional task_kobj_ids_entry root_ids = 3;
|
|
optional bool ns_per_id = 4;
|
|
optional uint32 root_cg_set = 5;
|
|
optional lsmtype lsmtype = 6;
|
|
optional uint64 dump_uptime = 8;
|
|
optional uint32 pre_dump_mode = 9;
|
|
optional bool tcp_close = 10;
|
|
optional uint32 network_lock_method = 11;
|
|
optional plugins_entry plugins_entry = 12;
|
|
// Remember the criu_run_id when CRIU dumped the process.
|
|
// This is currently used to delete the correct nftables
|
|
// network locking rule.
|
|
optional string dump_criu_run_id = 13;
|
|
optional bool allow_uprobes = 14;
|
|
/*
|
|
* Memory page compression mode. Encodes enum compress_mode:
|
|
* 0 = COMPRESS_OFF
|
|
* 1 = COMPRESS_PER_PAGE
|
|
* 2 = COMPRESS_REGION
|
|
* Absent or 0 means no compression was applied to the dump.
|
|
*/
|
|
optional uint32 compress = 15;
|
|
/* Region size in bytes when compress = 2. Informational. */
|
|
optional uint32 compress_region_size = 16;
|
|
}
|