2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-28 21:07:43 +00:00
Andrew Vagin af55c059fb mount: fix a race between restoring namespaces and file mappings (v2)
Currently we wait when a namespace will be restored to get its root.
We need to open a namespace root to open a file to restore a memory mapping.

A process restores mappings and only then forks children. So we can have
a situation, when we need to open a file from a namespace, which will be
"restored" by one of our children.

The root task restores all mount namespaces and opens a file descriptor
for each of them. In this patch we open root for each mntns in the root
task.

If we neeed to get root of a namespace which isn't populated, we can get
it from the root task. After the CR_STATE_FORKING stage, the root task
closes all namespace descriptors ane we know that all namespaces are
populated at this moment.

v2: don't close root_fd for root ns, because it was not opened
Signed-off-by: Andrew Vagin <avagin@virtuozzo.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2015-12-10 14:58:59 +03:00
2015-11-05 15:35:17 +03:00
2012-03-25 23:31:20 +04:00
2015-07-23 15:12:50 +03:00
2015-10-27 22:51:09 +03:00
2015-10-09 18:28:07 +03:00
2013-04-01 12:29:06 +04:00
2014-12-19 18:58:46 +03:00
2015-12-08 15:07:26 +03:00
2012-07-30 13:52:37 +04:00
2015-11-05 15:24:04 +03:00
2013-04-30 20:17:55 +04:00
2015-12-08 15:07:26 +03:00
2014-09-30 21:48:10 +04:00
2015-10-19 12:42:29 +03:00
2014-09-30 21:48:13 +04:00
2015-08-18 18:17:31 +03:00
2014-09-30 21:48:13 +04:00
2015-12-08 14:52:26 +03:00
2015-08-18 18:17:31 +03:00
2015-12-08 15:07:26 +03:00
2015-12-07 11:29:53 +03:00
2015-08-03 17:14:18 +03:00
2015-11-26 17:04:37 +03:00
2015-11-12 16:31:19 +03:00
2014-09-03 20:56:58 +04:00
2015-10-09 18:28:00 +03:00
2015-12-08 14:52:26 +03:00
2015-03-16 15:58:32 +03:00
2015-11-26 09:05:13 +03:00
2015-05-19 22:38:06 +03:00
2015-02-10 16:54:31 +03:00
2014-09-30 21:48:13 +04:00
2014-09-30 21:48:13 +04:00
2013-11-29 15:36:07 +04:00
2015-12-08 15:12:19 +03:00
2015-11-17 10:48:56 +03:00
2015-11-12 16:31:21 +03:00
2015-10-05 13:16:14 +03:00

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:

How to contribute

Description
No description provided
Readme 81 MiB
Languages
C 86%
Python 6.1%
Java 2.6%
Shell 2.6%
Makefile 2%
Other 0.7%