No description
Find a file
Andrey Vagin bff466c291 tty: open tty-s with O_NOCTTY
When we open tty, we don't want to set it as controlling terminal.

[xemul: We do it in all the other places, this one is forgotten.
 The "controlling tty" feature is setup explicitly later with
 the ioctl (TIOCSCTTY) call. ]

This bug was caught by pty04. Where we get unexpected SIGCONT,
which is sent after closing a controlling terminal.

./pty04 --pidfile=pty04.pid --outfile=pty04.out
Dump 9578
Restore
Test: zdtm/live/static/pty04, Result: FAIL
==================================== ERROR ====================================
Test: zdtm/live/static/pty04, Namespace:
Dump log   : /home/jenkins/workspace/Rpi-CRIU/test/dump/static/pty04/9578/1/dump.log
--------------------------------- grep Error ---------------------------------
------------------------------------- END -------------------------------------
Restore log: /home/jenkins/workspace/Rpi-CRIU/test/dump/static/pty04/9578/1/restore.log
--------------------------------- grep Error ---------------------------------
(00.083420) Error (cr-restore.c:1092): 9578 killed by signal 0
(00.083708) Error (cr-restore.c:1713): Restoring FAILED.
------------------------------------- END -------------------------------------
================================= ERROR OVER =================================

Reported-by: Mr Jenkins
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Acked-by: Cyrill Gorcunov <gorcunov@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-08-15 13:28:16 +04:00
arch vdso: aarch64 -- Merge fixes from x86 2014-08-07 10:23:02 +04:00
Documentation Small spelling fixes in criu.8 manpage 2014-08-04 13:09:54 +04:00
include Bug-fix in size calculation 2014-08-13 13:04:58 +04:00
lib opts: add --manage-cgroups option 2014-08-12 14:32:50 +04:00
pie timerfd: Implement c/r procedure 2014-08-06 19:20:09 +04:00
protobuf cg: Use relative paths in cgroup dirs image 2014-08-14 12:27:19 +04:00
scripts Ensure LDFLAGS is passed to CC not LD. 2014-06-26 16:29:28 +04:00
test zdtm: add a small program to create a zdtm container (v2) 2014-08-14 18:28:38 +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
cgroup.c cg: Use relative paths in cgroup dirs image 2014-08-14 12:27:19 +04:00
COPYING Add LGPL licence for library directory 2013-04-01 12:29:06 +04:00
cr-check.c timerfd: Implement check routine 2014-08-07 10:18:09 +04:00
cr-dedup.c v2 page-read: rework open_page_read to use in shmem restore 2014-03-18 11:48:58 +04:00
cr-dump.c mount: save remapped links on tmpfs (v2) 2014-08-05 16:35:41 +04:00
cr-exec.c criu: Several formatting fixes 2014-01-14 09:33:19 +04:00
cr-restore.c restore: Set CLONE_PARENT iif pdeath_sig is present, v4 2014-08-15 13:26:36 +04:00
cr-service.c opts: add --manage-cgroups option 2014-08-12 14:32:50 +04:00
cr-show.c show: Print filelocks.img pids as %u 2014-08-12 15:45:34 +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 opts: add --manage-cgroups option 2014-08-12 14:32:50 +04:00
eventfd.c anon-inode: Don't readlink fd/fd multiple times 2014-02-02 22:14:29 +04:00
eventpoll.c files: Rework select_ps_list fdsec ops callback 2014-02-05 16:17:59 +04:00
fifo.c files: Fix open_path() to provide mntns root fd to callbacks 2014-06-06 12:20:02 +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 locks: Dump virtual pid of a lock owner 2014-08-12 15:48:31 +04:00
files-ext.c files-ext: Mark dump callback as static 2014-02-24 17:30:42 +04:00
files-reg.c link-remap: open link-remap files from correct mountpoints (v3) 2014-08-06 19:14:16 +04:00
files.c timerfd: Implement c/r procedure 2014-08-06 19:20:09 +04:00
fsnotify.c notify: open files form a correct mount points (v2) 2014-08-06 19:14:18 +04:00
image-desc.c flock: Merge all file lock entries into single image file 2014-08-12 14:38:49 +04:00
image.c cg: Restore tasks into proper cgroups 2014-05-27 23:48:06 +04:00
ipc_ns.c ipc: set the msgmni sysctl after auto_msgmni 2014-08-14 12:21:43 +04:00
irmap.c mnt: Turn mntns_get_root_fd into accepting mnt ns_id 2014-04-23 02:31:16 +04:00
kcmp-ids.c kcmp: Fix ret code comparison 2014-04-22 12:51:15 +04:00
kerndat.c mount: detect the newinstance option for devpts (v2) 2014-04-08 15:32:35 +04:00
libnetlink.c netlink: Lower netlink error report log level 2013-07-04 15:49:02 +04:00
log.c log: Don't override -v0 with -v2 2014-02-04 20:54:25 +04:00
Makefile Customize AArch64 VDSO code 2014-08-06 19:00:17 +04:00
Makefile.config vdso: make -- Export VDSO and CONFIG_VDSO 2014-05-27 23:39:51 +04:00
Makefile.crtools timerfd: Implement c/r procedure 2014-08-06 19:20:09 +04:00
Makefile.inc install: install criu-service logrotate config 2014-02-18 12:39:50 +04:00
mem.c vdso: dump -- Don't dump contents of vvar zone 2014-06-24 22:48:41 +04:00
mount.c restore: use /proc/self/mountinfo for collecting mounts fo the root task (v3) 2014-08-12 14:35:25 +04:00
namespaces.c ns: initialize nsid in rst_add_ns_id 2014-04-23 14:46:19 +04:00
net.c criu: rename current_ns_mask to root_ns_mask (v2) 2014-04-21 22:38:33 +04:00
netfilter.c iptables: use cr_system instead of system 2013-10-02 20:09:37 +04:00
page-pipe.c iov: Add iov_init() helper 2014-06-20 16:35:51 +04:00
page-read.c iov: Add iovec2pagemap() helper 2014-06-20 16:35:52 +04:00
page-xfer.c iov: Add page_server_iov to iov and back helpers 2014-06-20 16:35:54 +04:00
pagemap-cache.c pagemap-cache: Use page.h helpers 2014-02-21 16:29:41 +04:00
parasite-syscall.c Bug-fix in size calculation 2014-08-13 13:04:58 +04:00
pipes.c crtools: move pid_rst_prio to pid.h 2013-11-06 18:18:12 +04:00
plugin.c plugin: Use sizeof(*ptr) in cr_lib_load 2014-01-16 22:09:42 +04:00
proc_parse.c restore: use /proc/self/mountinfo for collecting mounts fo the root task (v3) 2014-08-12 14:35:25 +04:00
protobuf-desc.c timerfd: Add protobuf entries into the image 2014-08-06 19:18:34 +04:00
protobuf.c img: Add ability to check whether optional image collection happened 2014-08-12 14:38:22 +04:00
pstree.c mount: Don't create kids with CLONE_NEWNS 2014-05-12 14:20:17 +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 v2 dedup: make bunched auto-deduplication on restore for shmem 2014-03-18 11:48:59 +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 anon-inode: Don't readlink fd/fd multiple times 2014-02-02 22:14:29 +04:00
sk-inet.c tcp: don't forget to wake up the port->users futex 2014-07-08 17:43:54 +04:00
sk-netlink.c crtools: move pid_rst_prio to pid.h 2013-11-06 18:18:12 +04:00
sk-packet.c vma: Turn embeded VmaEntry on vma_area into pointer 2014-02-04 11:44:01 +04:00
sk-queue.c crtools: move pid_rst_prio to pid.h 2013-11-06 18:18:12 +04:00
sk-tcp.c criu: rename current_ns_mask to root_ns_mask (v2) 2014-04-21 22:38:33 +04:00
sk-unix.c stat: Pass namespace into phys_stat_dev_match, not mnt tree 2014-08-06 10:57:25 +04:00
sockets.c criu: rename current_ns_mask to root_ns_mask (v2) 2014-04-21 22:38:33 +04:00
stats.c stats: Properly initialize dump stats 2014-08-12 14:37:51 +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
timerfd.c timerfd: Implement check routine 2014-08-07 10:18:09 +04:00
tty.c tty: open tty-s with O_NOCTTY 2014-08-15 13:28:16 +04:00
tun.c criu: rename current_ns_mask to root_ns_mask (v2) 2014-04-21 22:38:33 +04:00
util.c scripts: set CRIU_IMAGE_DIR when running scripts 2014-08-12 22:43:37 +04:00
uts_ns.c crtools: move pid_rst_prio to pid.h 2013-11-06 18:18:12 +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