spiegel_podman/docs/source/markdown
Radostin Stoyanov 31dad50824
Freeze cgroup during live checkpoint
When checkpointing a container with --leave-running, libpod dumps the
container's memory via the OCI runtime (CRIU) first and only captures
the rootfs diff and named volumes afterwards. CRIU thaws the container
as soon as the memory dump finishes, so the processes inside the
container continue to run between the memory snapshot and the
file-system capture. As a result, the checkpoint can be inconsistent:
have CRIU images and a file system that reflect different points in time.

To fix this, we freeze the container's cgroup before invoking the OCI
runtime and thaw it again only after the checkpoint image/archive has
been written. The OCI runtime calls CRIU with the freezer cgroup and
restores it to its previous state once the dump completes, so a
container that was already frozen stays frozen across the dump and
the file system is captured at the same instant as the CRIU images.
This mirrors the approach other engines (e.g. CRI-O and containerd).

The default (stopping) checkpoint functionality is not affected by this
issue because CRIU leaves the tasks dead after the dump.

This patch also adds a regression test for the consistency of live
(--leave-running) checkpoints. The container runs a workload that
keeps an in-memory counter in sync with a value written to a file
on its root file system, maintaining the invariant that the on-disk
value never gets ahead of the in-memory counter.

Signed-off-by: Radostin Stoyanov <rstoyanov@fedoraproject.org>
(cherry picked from commit 2c7aeab70b)
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
2026-06-24 14:08:33 +02:00
..
links Revert "Rewrite the Quadlet documentation." 2025-09-11 19:00:19 +02:00
options Document container name vs hostname and network DNS 2026-06-10 11:28:14 +02:00
.gitignore Rewrite the Quadlet documentation 2026-05-04 10:53:36 +02:00
podman-artifact-add.1.md.in feat: remove reference to --help from artifact man pages. Resolves: #28373 2026-03-26 11:23:45 +01:00
podman-artifact-extract.1.md feat: remove reference to --help from artifact man pages. Resolves: #28373 2026-03-26 11:23:45 +01:00
podman-artifact-inspect.1.md feat: remove reference to --help from artifact man pages. Resolves: #28373 2026-03-26 11:23:45 +01:00
podman-artifact-ls.1.md.in feat: add list as ls alias for artifact command. Resolved ##28372 2026-03-27 08:08:19 +01:00
podman-artifact-pull.1.md.in #28374 de-duplicated --quiet option from docs 2026-03-28 09:50:41 +00:00
podman-artifact-push.1.md.in #28374 de-duplicated --quiet option from docs 2026-03-28 09:50:41 +00:00
podman-artifact-rm.1.md feat: remove reference to --help from artifact man pages. Resolves: #28373 2026-03-26 11:23:45 +01:00
podman-artifact.1.md feat: add list as ls alias for artifact command. Resolved ##28372 2026-03-27 08:08:19 +01:00
podman-attach.1.md.in [DOCS] Update references common -> container-libs/common 2026-02-04 21:29:17 +10:00
podman-auto-update.1.md.in Revert "Rewrite the Quadlet documentation." 2025-09-11 19:00:19 +02:00
podman-build.1.md.in Add compression-level/format and force-compression links in docs 2026-05-29 09:10:50 -04:00
podman-build.unit.5.md.in docs: fix incorrect page name 2026-05-05 13:00:53 +02:00
podman-commit.1.md cmd, commit: change --pause default to true 2026-06-03 07:28:22 +02:00
podman-completion.1.md Remove unnecessary backslashes 2023-08-02 15:01:16 +01:00
podman-compose.1.md.in [DOCS] Update references common -> container-libs/common 2026-02-04 21:29:17 +10:00
podman-container-checkpoint.1.md Freeze cgroup during live checkpoint 2026-06-24 14:08:33 +02:00
podman-container-cleanup.1.md Remove future tense from man pages 2023-05-16 15:10:33 -04:00
podman-container-clone.1.md.in Fix up example description of podman-container commands 2024-02-19 15:18:51 -05:00
podman-container-diff.1.md.in fix 26348: add container diff --latest doc 2025-06-13 11:28:11 +02:00
podman-container-exists.1.md Remove future tense from man pages 2023-05-16 15:10:33 -04:00
podman-container-inspect.1.md.in Remove slirp4netns from documentation 2026-04-13 09:04:41 -04:00
podman-container-prune.1.md filters: add annotation filter for containers Fixes: #28562 2026-05-11 20:24:28 +09:00
podman-container-restore.1.md fix: enforce --publish option usage with --import in podman restore 2026-02-15 09:38:58 +00:00
podman-container-runlabel.1.md.in Manpages: podman container runlabel added example with --replace 2025-08-05 18:04:37 +05:30
podman-container.1.md man pages and command help: clean up descriptions 2023-05-28 18:57:43 +02:00
podman-container.unit.5.md.in docs: fix incorrect page name 2026-05-05 13:00:53 +02:00
podman-cp.1.md docs: Improve spelling and formatting 2025-03-24 16:35:29 -06:00
podman-create.1.md.in Remove slirp4netns from documentation 2026-04-13 09:04:41 -04:00
podman-diff.1.md.in Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-events.1.md events: support artifact events with refactored event forwarding 2026-05-18 00:05:10 +00:00
podman-exec.1.md.in feat(exec): Add --no-session flag for improved performance 2025-11-19 12:44:48 -05:00
podman-export.1.md Fix up example description of podman-export/export commands 2024-02-18 12:26:33 -05:00
podman-farm-build.1.md.in Add compression-level/format and force-compression links in docs 2026-05-29 09:10:50 -04:00
podman-farm-create.1.md Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-farm-list.1.md Fixes: #26353 2025-08-15 23:14:24 +05:30
podman-farm-remove.1.md Fix up example description of podman-farm commands 2024-02-18 08:02:29 -05:00
podman-farm-update.1.md Fix up example description of podman-farm commands 2024-02-18 08:02:29 -05:00
podman-farm.1.md document new connection/farm storage location 2024-02-08 18:05:32 +01:00
podman-generate-spec.1.md Remove slirp4netns from documentation 2026-04-13 09:04:41 -04:00
podman-generate-systemd.1.md Revert "Rewrite the Quadlet documentation." 2025-09-11 19:00:19 +02:00
podman-generate.1.md Deprecate podman generate systemd 2023-08-03 06:58:53 -04:00
podman-healthcheck-run.1.md podman-healthcheck-run: add --ignore-result flag 2026-02-09 19:52:29 +01:00
podman-healthcheck.1.md Added healthcheck documentation. 2026-02-08 10:56:05 -06:00
podman-history.1.md Apply suggestions from code review 2024-02-20 05:38:19 -05:00
podman-image-diff.1.md Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-image-exists.1.md Fix up example description of podman-image commands 2024-02-18 07:41:47 -05:00
podman-image-inspect.1.md Fix up example description of podman-image commands 2024-02-18 07:41:47 -05:00
podman-image-mount.1.md Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-image-prune.1.md Improve docs on passing multiple --filter flags 2026-04-28 14:33:54 +02:00
podman-image-scp.1.md Add --format to image scp 2026-03-19 17:42:33 +01:00
podman-image-sign.1.md.in Correct markdown in docs 2023-05-18 16:44:24 -07:00
podman-image-tree.1.md Fix up example description of podman-image commands 2024-02-18 07:41:47 -05:00
podman-image-trust.1.md.in trust: switch policy.json lookup to configfile 2026-04-20 15:11:22 +02:00
podman-image-unmount.1.md add more exmples applying current style for each page 2025-06-16 19:52:36 +02:00
podman-image.1.md man pages and command help: clean up descriptions 2023-05-28 18:57:43 +02:00
podman-image.unit.5.md.in docs: fix incorrect page name 2026-05-05 13:00:53 +02:00
podman-images.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-import.1.md Improve the file format documentation of podman-import. 2025-03-31 18:00:23 +02:00
podman-info.1.md info: report configured and discovered CDI devices 2026-06-01 21:45:41 +02:00
podman-init.1.md.in Add examples of --all flag 2025-06-13 04:47:22 -04:00
podman-inspect.1.md.in Improve OOMKilled visibility in podman events and in podman inspect docs 2026-03-11 10:15:56 -05:00
podman-kill.1.md.in Fix up example description of podman-kill.1.md.in 2024-02-19 10:06:05 -05:00
podman-kube-apply.1.md Try to fix the broken formatting of man podman‐kube‐apply(1). 2023-11-06 14:53:35 +01:00
podman-kube-down.1.md.in Rewrite the Quadlet documentation 2026-05-04 10:53:36 +02:00
podman-kube-generate.1.md Add support for Job to kube generate & play 2024-09-05 11:36:38 -04:00
podman-kube-play.1.md.in Rewrite the Quadlet documentation 2026-05-04 10:53:36 +02:00
podman-kube.1.md [CI:DOCS] Update kube docs 2024-04-04 09:28:21 -04:00
podman-kube.unit.5.md.in docs: fix incorrect page name 2026-05-05 13:00:53 +02:00
podman-load.1.md Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-login.1.md.in man pages: refactor two more options 2024-09-03 11:13:46 -06:00
podman-logout.1.md.in man pages: refactor two more options 2024-09-03 11:13:46 -06:00
podman-logs.1.md.in Fix language, typos and markdown layout 2023-07-24 11:18:25 +02:00
podman-machine-cp.1.md Introduce podman machine cp command 2025-02-28 09:56:46 -05:00
podman-machine-info.1.md Add disclaimer to podman machine info manpage. 2024-09-03 15:23:18 -04:00
podman-machine-init.1.md.in Add new flag --import-native-ca for machine init/set 2026-04-01 14:12:30 +02:00
podman-machine-inspect.1.md Fixes: #26353 2025-08-15 23:14:24 +05:30
podman-machine-list.1.md.in Provider obfuscation in command line 2025-10-27 08:40:19 -05:00
podman-machine-os-apply.1.md add bootc transports to os-apply 2026-02-02 09:07:08 -06:00
podman-machine-os-upgrade.1.md Add podman machine os upgrade command 2026-01-16 14:14:06 -06:00
podman-machine-os.1.md Add podman machine os upgrade command 2026-01-16 14:14:06 -06:00
podman-machine-reset.1.md add more exmples applying current style for each page 2025-06-16 19:52:36 +02:00
podman-machine-rm.1.md Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-machine-set.1.md.in Add new flag --import-native-ca for machine init/set 2026-04-01 14:12:30 +02:00
podman-machine-ssh.1.md Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-machine-start.1.md.in Add update-connection to machine start and init 2025-11-04 10:35:28 -06:00
podman-machine-stop.1.md Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-machine.1.md [DOCS] Fix reference to containers.conf 2026-02-04 19:43:26 +10:00
podman-manifest-add.1.md.in Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-manifest-annotate.1.md.in Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-manifest-create.1.md.in Add man page content for artifacts 2024-02-29 11:47:44 -05:00
podman-manifest-exists.1.md Fix up example description of podman-manifest commands 2024-02-17 13:54:04 -05:00
podman-manifest-inspect.1.md.in Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-manifest-push.1.md.in Add --sign-by-sq-fingerprint to push operations 2025-09-11 20:32:32 +02:00
podman-manifest-remove.1.md podman-manifest-remove: update docs and help output 2024-09-17 11:36:12 -04:00
podman-manifest-rm.1.md Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-manifest.1.md podman-manifest-remove: update docs and help output 2024-09-17 11:36:12 -04:00
podman-mount.1.md.in Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-network-connect.1.md Document container name vs hostname and network DNS 2026-06-10 11:28:14 +02:00
podman-network-create.1.md.in Rewrite the Quadlet documentation 2026-05-04 10:53:36 +02:00
podman-network-disconnect.1.md Fix up example description of podman-network commands 2024-02-18 07:48:08 -05:00
podman-network-exists.1.md Fix up example description of podman-network commands 2024-02-18 07:48:08 -05:00
podman-network-inspect.1.md podman network inspect: include running containers 2024-02-28 16:33:26 +01:00
podman-network-ls.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-network-prune.1.md Improve docs on passing multiple --filter flags 2026-04-28 14:33:54 +02:00
podman-network-reload.1.md.in Remove iptables references in docs 2025-11-21 01:10:19 +01:00
podman-network-rm.1.md Removed the 'Deleted: ' prefix from each example 2025-06-17 19:00:44 +09:00
podman-network-update.1.md Fix up example description of podman-network commands 2024-02-18 07:48:08 -05:00
podman-network.1.md Document container name vs hostname and network DNS 2026-06-10 11:28:14 +02:00
podman-network.unit.5.md.in docs: fix incorrect page name 2026-05-05 13:00:53 +02:00
podman-pause.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-pod-clone.1.md.in docs: add resource limit examples to podman pod clone manpage 2025-07-28 20:28:17 +05:30
podman-pod-create.1.md.in Remove slirp4netns from documentation 2026-04-13 09:04:41 -04:00
podman-pod-exists.1.md Fix up example description of podman-pod commands 2024-02-19 10:03:30 -05:00
podman-pod-inspect.1.md.in Fixes: #26353 2025-08-15 23:14:24 +05:30
podman-pod-kill.1.md.in Fix up example description of podman-pod commands 2024-02-19 10:03:30 -05:00
podman-pod-logs.1.md.in Fix up example description of podman-pod commands 2024-02-19 10:03:30 -05:00
podman-pod-pause.1.md Add examples of --all flag 2025-06-13 04:47:22 -04:00
podman-pod-prune.1.md add more exmples applying current style for each page 2025-06-16 19:52:36 +02:00
podman-pod-ps.1.md.in docs: clarify podman pod ps default output 2026-05-15 07:46:47 +01:00
podman-pod-restart.1.md fix podman-pod-restart.1.md typo 2024-04-18 19:53:33 -04:00
podman-pod-rm.1.md.in Fix up example description of podman-pod commands 2024-02-19 10:03:30 -05:00
podman-pod-start.1.md.in Fix up example description of podman-pod commands 2024-02-19 10:03:30 -05:00
podman-pod-stats.1.md.in Bunch of trivial manpage fixes 2025-06-12 02:22:42 -04:00
podman-pod-stop.1.md.in Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-pod-top.1.md.in Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-pod-unpause.1.md Fix up example description of podman-pod commands 2024-02-19 10:03:30 -05:00
podman-pod.1.md man pages and command help: clean up descriptions 2023-05-28 18:57:43 +02:00
podman-pod.unit.5.md.in docs: fix incorrect page name 2026-05-05 13:00:53 +02:00
podman-port.1.md.in Apply suggestions from code review 2024-02-20 05:46:41 -05:00
podman-ps.1.md.in filters: add annotation filter for containers Fixes: #28562 2026-05-11 20:24:28 +09:00
podman-pull.1.md.in Rewrite the Quadlet documentation 2026-05-04 10:53:36 +02:00
podman-push.1.md.in #28374 de-duplicated --quiet option from docs 2026-03-28 09:50:41 +00:00
podman-quadlet-basic-usage.7.md docs: fix incorrect statement in podman-quadlet-basic-usage 2026-06-18 18:58:42 +02:00
podman-quadlet-install.1.md feat: update podman quadlet sub-command 2026-06-02 09:52:49 +00:00
podman-quadlet-list.1.md.in Merge pull request #28413 from simonbrauner/issue-26786 2026-04-28 13:59:42 -04:00
podman-quadlet-print.1.md docs: Add references to quadlet 2025-11-08 08:56:06 +01:00
podman-quadlet-rm.1.md feat: update podman quadlet sub-command 2026-06-02 09:52:49 +00:00
podman-quadlet.1.md Docs: improve readability of quadlet documentation 2026-04-02 14:03:27 +05:30
podman-remote.1.md [DOCS] Update references common -> container-libs/common 2026-02-04 21:29:17 +10:00
podman-rename.1.md Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-restart.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-rm.1.md.in docs: add examples for rm with --force and --time 2026-02-22 19:24:02 +02:00
podman-rmi.1.md Merge pull request #26388 from tyll/rmi-no-prune 2025-06-12 13:42:50 +00:00
podman-run.1.md.in Remove slirp4netns from documentation 2026-04-13 09:04:41 -04:00
podman-save.1.md.in [DOCS] Update references common -> container-libs/common 2026-02-04 21:29:17 +10:00
podman-search.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-secret-create.1.md Fix documentation inconsistency about labels 2026-02-20 16:10:47 +02:00
podman-secret-exists.1.md Remove future tense from man pages 2023-05-16 15:10:33 -04:00
podman-secret-inspect.1.md Update docs/source/markdown/podman-secret-inspect.1.md 2025-06-12 15:52:31 +02:00
podman-secret-ls.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-secret-rm.1.md docs: add an example to podman-secret-rm man page 2025-06-18 21:10:17 +09:00
podman-secret.1.md Add support for secret exists 2023-04-03 15:33:50 +03:00
podman-start.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-stats.1.md.in Remove slirp4netns from documentation 2026-04-13 09:04:41 -04:00
podman-stop.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-system-check.1.md Skip layer digests for podman system check --quick 2025-06-05 17:00:50 +00:00
podman-system-connection-add.1.md Implement TLS API Support 2025-09-26 09:09:54 -06:00
podman-system-connection-default.1.md Fix up example description of podman-system commands 2024-02-20 08:18:51 -05:00
podman-system-connection-list.1.md Implement TLS API Support 2025-09-26 09:09:54 -06:00
podman-system-connection-remove.1.md Add examples of --all flag 2025-06-13 04:47:22 -04:00
podman-system-connection-rename.1.md Fix up example description of podman-system commands 2024-02-20 08:18:51 -05:00
podman-system-connection.1.md Fix up example description of podman-system commands 2024-02-20 08:18:51 -05:00
podman-system-df.1.md Fixes: #26353 2025-08-15 23:14:24 +05:30
podman-system-hyperv-prep.1.md Add command podman system hyperv-prep 2026-04-29 23:00:29 +02:00
podman-system-migrate.1.md Add migration code for BoltDB to SQLite 2026-05-08 14:07:17 -04:00
podman-system-prune.1.md Improve docs on passing multiple --filter flags 2026-04-28 14:33:54 +02:00
podman-system-renumber.1.md [DOCS] Update references common -> container-libs/common 2026-02-04 21:29:17 +10:00
podman-system-reset.1.md add more exmples applying current style for each page 2025-06-16 19:52:36 +02:00
podman-system-service.1.md [DOCS] Update references common -> container-libs/common 2026-02-04 21:29:17 +10:00
podman-system.1.md Add command podman system hyperv-prep 2026-04-29 23:00:29 +02:00
podman-systemd.unit.5.md docs(podman-systemd.unit.5.md): fix a typo 2026-06-03 20:46:11 +05:30
podman-tag.1.md Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-top.1.md.in docs: add missing groups and hgroups descriptors to podman-top documentation 2025-08-15 19:46:56 +05:30
podman-unmount.1.md.in add more exmples applying current style for each page 2025-06-16 19:52:36 +02:00
podman-unpause.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-unshare.1.md Fix up example description of podman-unshare.1.md 2024-02-17 13:54:29 -05:00
podman-untag.1.md Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-update.1.md.in Add ulimits to podman update API 2025-11-20 22:59:50 -08:00
podman-version.1.md [CI:DOCS] man pages: document some --format options 2022-09-15 09:59:32 -06:00
podman-volume-create.1.md Fix documentation inconsistency about labels 2026-02-20 16:10:47 +02:00
podman-volume-exists.1.md Remove future tense from man pages 2023-05-16 15:10:33 -04:00
podman-volume-export.1.md Refactor volume import to support the remote client 2025-06-23 13:42:22 -04:00
podman-volume-import.1.md Refactor volume import to support the remote client 2025-06-23 13:42:22 -04:00
podman-volume-inspect.1.md Only stop chowning volumes once they're not empty 2024-05-22 17:47:01 -04:00
podman-volume-ls.1.md.in docs: Deduplicate --filter descriptions 2025-12-05 00:36:53 +00:00
podman-volume-mount.1.md Fix up example description of podman-volume commands 2024-02-19 10:09:06 -05:00
podman-volume-prune.1.md volume prune: add dry-run support 2026-05-16 19:03:34 +09:00
podman-volume-reload.1.md Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-volume-rm.1.md Add information about --latest support on man pages 2024-01-23 07:28:40 -05:00
podman-volume-unmount.1.md Fix up example description of podman-volume commands 2024-02-19 10:09:06 -05:00
podman-volume.1.md volume prune: match Docker default and add --all 2026-03-19 13:40:45 +01:00
podman-volume.unit.5.md.in docs: fix incorrect page name 2026-05-05 13:00:53 +02:00
podman-wait.1.md.in Fixes: #26691 2025-08-06 22:34:18 +03:00
podman.1.md Remove slirp4netns from documentation 2026-04-13 09:04:41 -04:00
podmansh.1.md Revert "Rewrite the Quadlet documentation." 2025-09-11 19:00:19 +02:00