No description
Find a file
Cyrill Gorcunov 87273ccdb8 cpuinfo: x86 -- Add dump and validation of cpuinfo image, v2
On Wed, Oct 01, 2014 at 04:57:40PM +0400, Pavel Emelyanov wrote:
> On 10/01/2014 01:07 AM, Cyrill Gorcunov wrote:
> > On Tue, Sep 30, 2014 at 09:18:53PM +0400, Cyrill Gorcunov wrote:
> >> If a user requested criu to dump cpuinfo image then we
> >> write one on dump and verify on restore. At the moment
> >> we require all cpu feature bits to match the destination
> >> cpu in a sake of simplicity, but in future we need deps
> >> engine which would filer out bits and test if cpu we're
> >> restoring on is more capable than one we were dumping at
> >> allowing to proceed restore procedure.
> >>
> >> Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
> >
> > Updated to new img format

Something like attached?

>From 59272a9514311e6736cddee08d5f88aa95d49189 Mon Sep 17 00:00:00 2001
From: Cyrill Gorcunov <gorcunov@openvz.org>
Date: Thu, 25 Sep 2014 16:04:10 +0400
Subject: [PATCH] cpuinfo: x86 -- Add dump and validation of cpuinfo image

If a user requested criu to dump cpuinfo image then we
write one on dump and verify on restore. At the moment
we require all cpu feature bits to match the destination
cpu in a sake of simplicity, but in future we need deps
engine which would filer out bits and test if cpu we're
restoring on is more capable than one we were dumping at
allowing to proceed restore procedure.

Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-10-03 13:26:57 +04:00
arch cpuinfo: x86 -- Add dump and validation of cpuinfo image, v2 2014-10-03 13:26:57 +04:00
contrib Add a convenience shell script for Docker container C/R 2014-09-09 16:08:22 +04:00
Documentation cpuinfo: Update documentation for --cpu-cap 2014-10-03 13:25:57 +04:00
include cpuinfo: x86 -- Add dump and validation of cpuinfo image, v2 2014-10-03 13:26:57 +04:00
lib restore: Introduce the --restore-sibling option 2014-09-10 18:30:30 +04:00
pie x86: don't call wait4 as waitpid 2014-09-23 20:36:44 +04:00
protobuf cpuinfo: x86 -- Add protobuf entry 2014-10-03 13:26:56 +04:00
scripts criu: add .travis.yml (v3) 2014-09-30 21:51:16 +04:00
test test: expand the default test set 2014-10-02 14:58:37 +04:00
.gitignore lib: Generate pkgconfig file 2014-08-04 13:57:18 +04:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
.travis.yml criu: add .travis.yml (v3) 2014-09-30 21:51:16 +04:00
action-scripts.c scripts: Fix path assignment 2014-09-09 22:07:57 +04:00
bfd.c bfd: Use ERR_PTR and such instead of BREADERR 2014-10-02 14:56:39 +04:00
cgroup.c restore: copy special cpuset props recursively 2014-10-02 14:57:36 +04:00
COPYING Add LGPL licence for library directory 2013-04-01 12:29:06 +04:00
cr-check.c net: Pre-create nl diag sk 2014-10-01 13:34:29 +04:00
cr-dedup.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
cr-dump.c cpuinfo: x86 -- Add dump and validation of cpuinfo image, v2 2014-10-03 13:26:57 +04:00
cr-exec.c criu: Several formatting fixes 2014-01-14 09:33:19 +04:00
cr-restore.c cpuinfo: x86 -- Add dump and validation of cpuinfo image, v2 2014-10-03 13:26:57 +04:00
cr-service.c service: page-server: allow requesting page-server without setting any ps_info 2014-09-22 16:30:37 +04:00
cr-show.c cpuinfo: x86 -- Add protobuf entry 2014-10-03 13:26:56 +04:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
crtools crtools: rename binary to criu 2013-04-30 20:17:55 +04:00
crtools.c cpuinfo: x86 -- Add dump and validation of cpuinfo image, v2 2014-10-03 13:26:57 +04:00
eventfd.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
eventpoll.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
fifo.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
file-ids.c files-ids: generate id-s accoding with mnt_id, st->st_dev and st->st_ino 2014-04-21 22:39:28 +04:00
file-lock.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
files-ext.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
files-reg.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
files.c rst: Rework the rst_info referencing 2014-10-01 13:34:38 +04:00
fsnotify.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
image-desc.c cpuinfo: x86 -- Add protobuf entry 2014-10-03 13:26:56 +04:00
image.c pstree: Store task's netns on pstree-item 2014-10-01 13:35:11 +04:00
ipc_ns.c ns: Factor out namespace switching call 2014-09-30 21:54:11 +04:00
irmap.c irmap: Get root mntfd before releasing tasks on predump 2014-10-01 09:37:04 +04:00
kcmp-ids.c kcmp: Fix ret code comparison 2014-04-22 12:51:15 +04:00
kerndat.c Dump capabilities from the parasite 2014-08-15 23:10:44 +04:00
libnetlink.c netlink: Lower netlink error report log level 2013-07-04 15:49:02 +04:00
log.c restore: open the pidfile with O_EXCL 2014-09-03 20:58:24 +04:00
Makefile test: clean the "test" directory from test/Makefile 2014-09-02 16:10:55 +04:00
Makefile.config crtools: check for setproctitle_init 2014-09-02 16:14:39 +04:00
Makefile.crtools bfd: File-descriptors based buffered read 2014-09-23 20:48:38 +04:00
Makefile.inc install: install criu-service logrotate config 2014-02-18 12:39:50 +04:00
mem.c rst: Rework the rst_info referencing 2014-10-01 13:34:38 +04:00
mount.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
namespaces.c predump: Collect mnt and net namespaces properly 2014-10-02 14:30:31 +04:00
net.c net: Move NETLINK_INET_DIAG from socket.c to net.c 2014-10-02 14:48:28 +04:00
netfilter.c iptables: use cr_system instead of system 2013-10-02 20:09:37 +04:00
page-pipe.c log: Use pr_quelled helper 2014-09-03 20:56:58 +04:00
page-read.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
page-xfer.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
pagemap-cache.c pagemap-cache: Use page.h helpers 2014-02-21 16:29:41 +04:00
parasite-syscall.c parasite: Precreate daemon control sockets 2014-10-01 13:35:26 +04:00
pipes.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
plugin.c plugin: Rework plugins API, v2 2014-09-03 20:48:36 +04:00
proc_parse.c mount: proc-parse -- Show @mnt_id on debug print as well 2014-10-03 13:21:16 +04:00
protobuf-desc.c cpuinfo: x86 -- Add protobuf entry 2014-10-03 13:26:56 +04:00
protobuf.c img: Prepare to use bfd engine 2014-09-30 21:48:53 +04:00
pstree.c pstree: Introduce item's dump info 2014-10-01 13:34:53 +04:00
ptrace.c unseize: Don't print error when unseizing stopped task into stopped state 2013-12-20 23:22:04 +04:00
rbtree.c code: Fix spaced indentation where found 2012-08-11 21:36:03 +04:00
README Update README file so that it looks more informative on github front page 2014-01-24 20:42:08 +04:00
rst-malloc.c whitespace-at-eol cleanup 2013-12-12 10:00:45 +04:00
sd-daemon.c systemd socket activation support 2013-12-12 09:58:50 +04:00
sd-daemon.h systemd socket activation support 2013-12-12 09:58:50 +04:00
security.c security: skip obtaining additional groups for root, as they don't matter 2014-08-06 18:58:44 +04:00
shmem.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
sigframe.c sigframe: cast the pointer to the field ucontext::uc_sigmask to k_rtsigset_t 2014-04-08 15:36:09 +04:00
signalfd.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
sk-inet.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
sk-netlink.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
sk-packet.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
sk-queue.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
sk-tcp.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
sk-unix.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
sockets.c net: Move NETLINK_INET_DIAG from socket.c to net.c 2014-10-02 14:48:28 +04:00
stats.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
string.c string: Add strlcat helper 2013-11-29 15:36:07 +04:00
sysctl.c sysctl: don't write '\0' at the end of buffer in a sysctl file 2014-08-14 12:21:48 +04:00
sysfs_parse.c Use --root instead of --aufs-root 2014-08-27 14:31:40 +04:00
timerfd.c img: Rename fdset -> imgset 2014-09-30 21:48:10 +04:00
tty.c rst: Rework the rst_info referencing 2014-10-01 13:34:38 +04:00
tun.c img: Introduce the struct cr_img 2014-09-30 21:48:13 +04:00
util.c proc: Keep /proc/self cached separately from /proc/pid 2014-09-29 13:21:43 +04:00
uts_ns.c ns: Factor out namespace switching call 2014-09-30 21:54:11 +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