mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-18 00:58:31 +00:00
No description
blcrcheckpointcontainercontainerscriudmtcphighly-availablelinuxmemory-trackingmigrationparasitepost-copyrestoresnapshotsuspenduserfaultfdzero-downtime
The root yard is used to clean up ghost files.
Now try_clean_remaps() is called from depopulate_roots_yard(), so
the code about switching mount namespaces was moved to
depopulate_roots_yard().
v2: call clean_remaps() when processes are restored in
the host mount namespace.
Now depopulate_roots_yard() is called from the root task before
finishing CR_STATE_FORKING.
I moved it to the criu process and do it after clean_remaps(), because
clean_remaps() uses the roots yard.
It's called after openning all files, because only at this moment we can
be sure that all link remap files can be removed.
restore_task_with_children() | restore_root_task()
-----------------------------------------------------------------------
depopulate_roots_yard() |
restore_finish_stage(CR_STATE_FORKING) |
prepare_fds() |
open_vmas() |
| restore_switch_stage(CR_STATE_RESTORE_SIGCHLD)
| clean_remaps = 0;
If something fails between CR_STATE_FORKING and CR_STATE_RESTORE_SIGCHLD,
try_clean_remaps will be called().
try_clean_remaps()
try_clean_ghost()
rst_get_mnt_root()
print_ns_root()
snprintf(buf, bs, "%s/%d", mnt_roots, ns->id);
it uses mnt_roots, actually it is what we called the roots yard.
Signed-off-by: Andrew Vagin <avagin@virtuozzo.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;
