mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-20 16:51:37 +00:00
No description
blcrcheckpointcontainercontainerscriudmtcphighly-availablelinuxmemory-trackingmigrationparasitepost-copyrestoresnapshotsuspenduserfaultfdzero-downtime
Initially, the cgroupns patchset that went into the Ubuntu kernels had the nsroot= argument in mountopts, which allowed us to distinguish between cgroupfs mounts. The upstream kernel doesn't have this (the reasoning was that it showed up in the root field of mountinfo), so all cgroup mounts look idential if we don't consider the root mount, and we wrongly detect the mounts as bind mounts. Instead, let's remember the root path and compare this when considering when a mount is a bind mount. This patch is a little ugly because it intorduces cgroup specific behavior into the generic code, which we've thus far been able to avoid. One way to deal with this might be able to add a ->sb_equal hook to the fstype struct that could compare mountinfos' superblocks, and then fall back to mounts_sb_equal if that isn't present. Or we can leave this specific code in the generic bits until more of these appear. Either way is fine with me. v2: move the cgroup specific code to mounts_sb_equal() Signed-off-by: Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com> |
||
|---|---|---|
| contrib | ||
| coredump | ||
| crit | ||
| criu | ||
| Documentation | ||
| images | ||
| lib | ||
| scripts | ||
| test | ||
| .gitignore | ||
| .mailmap | ||
| .travis.yml | ||
| COPYING | ||
| CREDITS | ||
| INSTALL.md | ||
| Makefile | ||
| Makefile.install | ||
| Makefile.versions | ||
| README.md | ||
CRIU (Checkpoint and Restore in Userspace)
An utility to checkpoint/restore tasks. Using this tool, you can freeze a running application (or part of it) and checkpoint it to a hard drive as a collection of files. You can then use the files to restore and run the application from the point it was frozen at. The distinctive feature of the CRIU project is that it is mainly implemented in user space.
The project home is at http://criu.org.
Pages worth starting with are:
- Kernel configuration, compilation, etc
- A simple example of usage
- More sophisticated example with graphical app
A video tour on basic CRIU features
How to contribute
- How to submit patches;
- Send all bug reports to mailing list;
- Spread the word about CRIU in social networks;
