2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-31 14:25:49 +00:00
Cyrill Gorcunov caa64d974d tty: Use regular files engine to save paths to the peers, v5
Currently we're using predefined format for master/slave pty peers:
masters are always /dev/ptmx, while slaves are /dev/pts/$index,
where $index is the peer number.

While fitting most of distros this is not always correct and slave peers
might be mounted to an arbitrary place, so that we need to somehow
carry paths with ourself in image.

Instead of bloating current tty image lets use regular file engine instead
and on checkpoint stage save a path to the link in regfiles set, then on
restore simply fetch it from the image.

Such approach will help in future when we need to support multiple
instances of devpts filesystem.

To support backward compatibility with images where no regfile
records are present we generate new one on the fly in
pty_alloc_reg() helper.

Because of the need to restore dead slave peers and restore of
the controlling terminal we need to generate that named "fake
inverted" pty_alloc_fake_reg() helper: in particular if
we need to open dead slave peer we generate fake master peer,
open it and the close out. Almost the same situation in
restoring contolling terminal -- we get master peer, generate
appropriate fake slave object, open it, manipulate, then
close it out and free.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Tycho Andersen <tycho.andersen@canonical.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-10-23 17:54:23 +04:00
2014-10-14 14:22:01 +04:00
2014-10-09 19:17:59 +04:00
2014-08-04 13:57:18 +04:00
2014-09-30 21:51:16 +04:00
2014-09-09 22:07:57 +04:00
2013-04-01 12:29:06 +04:00
2014-09-30 21:48:13 +04:00
2014-01-14 09:33:19 +04:00
2014-10-03 13:26:56 +04:00
2013-04-30 20:17:55 +04:00
2014-10-14 14:21:05 +04:00
2014-09-30 21:48:10 +04:00
2014-09-30 21:48:10 +04:00
2014-09-30 21:48:13 +04:00
2014-09-30 21:48:13 +04:00
2014-09-30 21:48:13 +04:00
2014-10-23 17:51:32 +04:00
2014-09-30 21:48:10 +04:00
2014-04-22 12:51:15 +04:00
2014-08-15 23:10:44 +04:00
2014-09-03 20:58:24 +04:00
2014-10-01 13:34:38 +04:00
2014-10-14 18:01:56 +04:00
2014-10-14 18:01:27 +04:00
2014-10-14 18:01:38 +04:00
2014-09-03 20:56:58 +04:00
2014-09-30 21:48:13 +04:00
2014-09-30 21:48:13 +04:00
2014-09-30 21:48:13 +04:00
2014-09-03 20:48:36 +04:00
2014-09-30 21:48:53 +04:00
2013-12-12 10:00:45 +04:00
2013-12-12 09:58:50 +04:00
2013-12-12 09:58:50 +04:00
2014-09-30 21:48:13 +04:00
2014-09-30 21:48:10 +04:00
2014-09-30 21:48:10 +04:00
2014-09-30 21:48:10 +04:00
2014-09-30 21:48:10 +04:00
2014-09-30 21:48:13 +04:00
2014-09-30 21:48:13 +04:00
2014-09-30 21:48:10 +04:00
2014-10-14 14:21:05 +04:00
2014-09-30 21:48:13 +04:00
2013-11-29 15:36:07 +04:00
2014-10-08 19:23:24 +04:00
2014-09-30 21:48:10 +04:00
2014-09-30 21:48:13 +04:00

criu
====

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: http://criu.org/Installation
* A simple example of usage: http://criu.org/Simple_loop
* More sophisticated example with graphical app: http://criu.org/VNC
Description
No description provided
Readme 81 MiB
Languages
C 86%
Python 6.1%
Java 2.6%
Shell 2.6%
Makefile 2%
Other 0.7%