No description
Find a file
Andrey Vagin ef3ca3a104 restore: do not kill processes if not-all of them have been created
If processes are restored without pidns, criu knows pidtheir -s from images,
but part of those task may have not yet forked, and thus the pids can not
exist or (!) be used by other processes.

To address that we abort stages RESTORE_NS and FORKING without killing tasks,
but with task_entries->start futex by writing STATE_FAIL into it and making
the tasks to check that. Since during RESTORE_NS and FORKING stages tasks can
only block on the mentioned futes, we can safely do it.

Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2013-08-20 15:17:30 +04:00
arch atomic: Use atomic_read instead of atomic_get 2013-08-16 19:37:06 +04:00
Documentation Documentation/Makefile: fix clean target 2013-05-10 11:01:57 +04:00
include restore: do not kill processes if not-all of them have been created 2013-08-20 15:17:30 +04:00
lib v2 criu: Initial skeleton for criu library 2013-07-18 21:47:11 +04:00
pie rst: Remove threads restore serialization 2013-08-12 09:17:02 +04:00
protobuf stats: Account total time to restore 2013-08-11 21:25:42 +04:00
scripts make: config -- Add test for prlimit call 2013-05-23 15:12:56 +04:00
test zdtm: add a new test, where both sides of a tcp connection is dumped 2013-08-20 14:58:14 +04:00
.gitignore git: Drop include/config.h from monitoring 2013-05-24 20:12:07 +04:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
COPYING Add LGPL licence for library directory 2013-04-01 12:29:06 +04:00
cr-check.c util: Rename pie's util-net.c into util.c 2013-07-29 12:43:30 +04:00
cr-dump.c util: Make set_proc_fd report success/error only 2013-08-11 19:51:02 +04:00
cr-exec.c exec: Add support for return-arguments 2013-06-08 00:37:05 +04:00
cr-restore.c restore: do not kill processes if not-all of them have been created 2013-08-20 15:17:30 +04:00
cr-show.c posix-timer: Add fd, magic and show functionality. 2013-07-01 16:19:24 +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 page-server: Convert opts.addr into char * 2013-08-11 12:01:14 +04:00
eventfd.c files: Compact the code by removing per-file dump helpers 2013-06-14 00:11:08 +04:00
eventpoll.c files: Compact the code by removing per-file dump helpers 2013-06-14 00:11:08 +04:00
fifo.c files: Compact the code by removing per-file dump helpers 2013-06-14 00:11:08 +04:00
file-ids.c x86: moved x86-specific files into the directory arch/x86. 2013-01-09 17:02:47 +04:00
file-lock.c Fix typos in log messages 2013-04-15 12:46:25 +04:00
files-reg.c files-reg: Show ghost file name on error 2013-07-01 16:39:01 +04:00
files.c files: Convert fdescs hash from list-s into hlist-s 2013-08-10 16:41:18 +04:00
fsnotify.c files: Compact the code by removing per-file dump helpers 2013-06-14 00:11:08 +04:00
image-desc.c posix-timer: Add fd, magic and show functionality. 2013-07-01 16:19:24 +04:00
image.c image: Move image descriptors to own files 2013-05-28 22:12:06 +04:00
ipc_ns.c ipc_ns: allocate enough memrory for the buffer 2013-05-21 19:06:03 +04:00
kcmp-ids.c x86: moved x86-specific files into the directory arch/x86. 2013-01-09 17:02:47 +04:00
kerndat.c kerndat: Produce sane error messgaes 2013-08-09 15:37:35 +04:00
libnetlink.c netlink: Lower netlink error report log level 2013-07-04 15:49:02 +04:00
log.c log: log_init -- Check for dup return code 2013-04-12 20:50:27 +04:00
Makefile util: Rename pie's util-net.c into util.c 2013-07-29 12:43:30 +04:00
Makefile.config make: config -- Add test for prlimit call 2013-05-23 15:12:56 +04:00
Makefile.crtools image: Move image descriptors to own files 2013-05-28 22:12:06 +04:00
Makefile.inc Makefiles: add install target 2013-05-03 01:56:30 +04:00
mem.c parasite: Rename ack-waiting function to look better 2013-07-17 08:56:17 +04:00
mount.c mount: move is_root, is_root, fsroot_mounted to the top of the file 2013-08-09 15:44:35 +04:00
namespaces.c files: Compact the code by removing per-file dump helpers 2013-06-14 00:11:08 +04:00
net.c net: Print link kind when reporting inability to dump such 2013-06-11 16:49:11 +04:00
netfilter.c tcp: block connections in both directions 2013-08-06 14:21:12 +04:00
page-pipe.c page-pipe: fixed format strings 2013-04-30 18:31:34 +04:00
page-read.c mm: handle new processes which created between snapshots (v2) 2013-06-27 23:47:15 +04:00
page-xfer.c page-server: Convert opts.addr into char * 2013-08-11 12:01:14 +04:00
parasite-syscall.c parasite: Rename ack-waiting function to look better 2013-07-17 08:56:17 +04:00
pipes.c util: Rename pie's util-net.c into util.c 2013-07-29 12:43:30 +04:00
proc_parse.c proc: fix memory leak 2013-07-08 13:40:23 +04:00
protobuf-desc.c posix-timer: Add protobuf message and rename to protobuf/timer.proto 2013-07-01 16:19:23 +04:00
protobuf.c protobuf: Move descriptors definitions to own file 2013-05-28 22:11:59 +04:00
pstree.c pstree: Allocate and free sas entry 2013-07-10 17:31:09 +04:00
ptrace.c Change crtools to criu in criu messages 2013-05-10 11:02:20 +04:00
rbtree.c code: Fix spaced indentation where found 2012-08-11 21:36:03 +04:00
README README: crtools to criu rename 2013-05-10 11:02:02 +04:00
shmem.c shmem: Print shmem ID on dump in decimal 2013-05-16 16:20:17 +04:00
sigframe.c restore: Add restoration of alternative signal stack 2013-07-10 17:31:12 +04:00
signalfd.c files: Compact the code by removing per-file dump helpers 2013-06-14 00:11:08 +04:00
sk-inet.c sockets: inet -- Fix typo in message 2013-08-16 18:57:21 +04:00
sk-netlink.c files: Compact the code by removing per-file dump helpers 2013-06-14 00:11:08 +04:00
sk-packet.c files: Compact the code by removing per-file dump helpers 2013-06-14 00:11:08 +04:00
sk-queue.c util: Rename pie's util-net.c into util.c 2013-07-29 12:43:30 +04:00
sk-tcp.c tcp: show PB_TCP_STREAM as a single entry 2013-07-31 17:14:18 +04:00
sk-unix.c util: Rename pie's util-net.c into util.c 2013-07-29 12:43:30 +04:00
sockets.c util: Rename pie's util-net.c into util.c 2013-07-29 12:43:30 +04:00
stats.c atomic: Use atomic_read instead of atomic_get 2013-08-16 19:37:06 +04:00
sysctl.c sysctl: Don't forget to close fds 2013-04-05 08:23:17 +04:00
tty.c util: Rename pie's util-net.c into util.c 2013-07-29 12:43:30 +04:00
util.c util: Make set_proc_mountpoint static 2013-08-11 20:02:33 +04:00
uts_ns.c ns: Extend ns_desc to carry the length of the ns name 2013-05-18 03:36:56 +04:00

criu
====

An utility to checkpoint/restore tasks.

Some code snippets are borrowed from

 - Linux kernel (http://kernel.org/)
 - git (http://git-scm.com/)
 - kvm-tools (https://github.com/penberg/linux-kvm)
 - ptrace-parasite (https://code.google.com/p/ptrace-parasite/)

Many thanks to these projects.

Licensed under GPLv2 (http://www.gnu.org/licenses/gpl-2.0.txt)