No description
Find a file
Cyrill Gorcunov c19cbc5c52 tty: Don't flush tty data on checkpoint stage
In case if we're dumping the peer which another
end belongs not to us but some other application
the attempts to flush data may lead to endless
SIGTTOU storm:

 | 1158  ioctl(53, TCFLSH, 0x2)            = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
 | 1158  --- SIGTTOU {si_signo=SIGTTOU, si_code=SI_KERNEL, si_value={int=5, ptr=0x5}} ---
 | 1158  --- stopped by SIGTTOU ---
 | 1158  ioctl(53, TCFLSH, 0x2)            = ? ERESTARTSYS (To be restarted if SA_RESTART is set)
 | 1158  --- SIGTTOU {si_signo=SIGTTOU, si_code=SI_KERNEL, si_value={int=5, ptr=0x5}} ---
 | 1158  --- stopped by SIGTTOU ---

so simply don't flush data, the initial attempt to use
TCIOFLUSH was rather "hey, we don't have a way to
say the kernel to freeze tty link for a while, lets
try to workaround this limitation" but without proper
kernel help this won't work anyway as Andrey has discovered.

Reported-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Cyrill Gorcunov <gorcunov@openvz.org>
Acked-by: Andrew Vagin <avagin@parallels.com>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2012-11-22 19:04:12 +04:00
arch/x86 make: move syscalls files and build to separated directory 2012-11-22 18:52:59 +04:00
Documentation docs: Update documentation 2012-10-18 19:47:17 +04:00
include cr-restore: remove unshared pages from inherited private mappings (v2) 2012-11-20 20:48:33 +04:00
pie make: cleanup pie build 2012-11-22 18:53:59 +04:00
protobuf make: cleanup the whole infrastructure a bit 2012-11-22 18:51:41 +04:00
test test/app-emu: dump/restore of VNC server 2012-11-22 18:56:48 +04:00
.gitignore Update .gitignore 2012-07-09 15:03:38 +04:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
COPYING Add COPYING file 2011-12-05 14:11:05 +04:00
cr-check.c check: Set error log level before checking 2012-11-12 17:04:24 +03:00
cr-dump.c dump: Fix message in thread dumping 2012-11-12 17:42:59 +04:00
cr-restore.c restore: add statistics about restored pages 2012-11-20 20:48:34 +04:00
cr-show.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
CREDITS Add the CREDITS file 2012-07-30 13:52:37 +04:00
crtools.c crtools: update the usage message for log level 2012-11-02 13:45:25 +04:00
eventfd.c eventfd: Add LOG_PREFIX 2012-08-20 15:14:43 +04:00
eventpoll.c files: Hide pslist selection logic into file desc handlers 2012-09-14 21:53:51 +04:00
fifo.c fd: Remove per-filetype make_gen_id abstraction 2012-08-11 22:41:29 +04:00
file-ids.c protobuf: Start switching our image entries to Google's protobuf 2012-07-17 07:10:41 +04:00
files-reg.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
files.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
image.c tty: Add show method 2012-09-12 20:00:55 +04:00
inotify.c inotify: Add LOG_PREFIX 2012-08-20 15:14:57 +04:00
ipc_ns.c ipc_ns: close file immediately when we don't need it 2012-10-26 00:08:47 +04:00
kcmp-ids.c parasite: remove excessive header deps from parasite.h and friends 2012-05-30 12:50:18 +04:00
libnetlink.c libnetlink: Make sure there is no error happened when dumping is done 2012-11-06 13:41:36 +04:00
log.c log: Don't show time stamp on pr_msg 2012-11-06 13:37:15 +04:00
Makefile make: insert Makefile.inc into Makefile 2012-11-22 18:54:21 +04:00
mount.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
namespaces.c crtools: use a special function for executing external utils 2012-09-28 14:09:58 +04:00
net.c fix many unclosed file opened by open_image_ro 2012-10-24 16:51:50 +04:00
netfilter.c sockets, inet: Use inet_sk_entry as a reference in inet_sk_info 2012-07-16 07:03:59 +04:00
parasite-syscall.c parasite: Macro for getting parasite symbols 2012-11-13 20:51:32 +03:00
pipes.c files: Formalize fd restore priorities 2012-09-14 22:09:22 +04:00
proc_parse.c proc: Fix anon shmem mapping detection 2012-11-06 19:07:38 +03:00
protobuf.c protobuf: Drop dangling \Space 2012-11-11 13:28:59 +04:00
pstree.c pstree: Allow to dump and restore session non-leaders if --shell-job passed 2012-10-18 15:51:58 +04:00
ptrace.c Helper for si_code event extraction. 2012-04-25 21:35:40 +04:00
rbtree.c code: Fix spaced indentation where found 2012-08-11 21:36:03 +04:00
README Drop kernel patching from README 2012-01-29 16:26:36 +04:00
shmem.c shmem: Get rid of static array of dumped shmem areas 2012-08-17 00:20:58 +04:00
signalfd.c fd: Remove per-filetype make_gen_id abstraction 2012-08-11 22:41:29 +04:00
sk-inet.c skopts: Prepare for xmalloc-able entries on SkOptsEntry 2012-11-01 17:53:57 +03:00
sk-packet.c packet: Support mmap-ing of packet sockets 2012-11-02 16:00:18 +03:00
sk-queue.c socket: increase socket buffers for restoring queues (v2) 2012-11-02 13:40:54 +04:00
sk-tcp.c tcp: check a state in refresh_inet_sk (v2) 2012-11-20 17:17:51 +04:00
sk-unix.c unix: restore file params and sockopts for all standalone sockets 2012-11-02 14:38:48 +04:00
sockets.c socket: increase socket buffers for restoring queues (v2) 2012-11-02 13:40:54 +04:00
sysctl.c parasite: remove excessive header deps from parasite.h and friends 2012-05-30 12:50:18 +04:00
tty.c tty: Don't flush tty data on checkpoint stage 2012-11-22 19:04:12 +04:00
util-net.c fown: get pid and uid-s from parasite 2012-09-05 16:41:14 +04:00
util.c util: Fix vma shmid printing format 2012-11-02 14:46:51 +03:00
uts_ns.c code: Remove trailing whitespaces over .c and .h files 2012-08-11 21:34:35 +04:00

crtools
=======

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)