No description
Find a file
Andrey Vagin 494c044384 mount: dump one file system only once (v2)
A file system can be bind-mounted a few times and some of these mounts
can be non-root. We need to find one of root mounts and dump it.

v2: don't forget to check pm->dumped and pm->parent
    don't dump a root file system, it's always external for now.

Reported-by: Saied Kazemi <saied@google.com>
Signed-off-by: Andrey Vagin <avagin@openvz.org>
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
2014-06-17 10:40:00 +04:00
arch vdso: x86 -- Use dynamic symbols for parsing 2014-06-06 15:26:31 +04:00
Documentation crtools: Introduce the --ext-mount-map option (v3) 2014-06-17 10:36:30 +04:00
include mount: dump one file system only once (v2) 2014-06-17 10:40:00 +04:00
lib lib: criu -- Test for nil on malloc/strdup calls 2014-04-01 11:23:21 +04:00
pie vdso: Make it arch specific 2014-05-27 23:41:31 +04:00
protobuf mnt: Handle external bind mounts according to --ext-mount option (v3) 2014-06-17 10:36:52 +04:00
scripts make: clean up obj-ext-src-y objects on "make clean" 2014-05-26 17:38:49 +04:00
test zdtm: Add test for mount namespace w/o mountpoints 2014-06-09 15:29:52 +04:00
.gitignore git: update .gitignore 2014-05-14 17:34:41 +04:00
.mailmap repo: Add mailmap file 2012-03-25 23:31:20 +04:00
cgroup.c cg: Restore tasks into proper cgroups 2014-05-27 23:48:06 +04:00
COPYING Add LGPL licence for library directory 2013-04-01 12:29:06 +04:00
cr-check.c restore: Open /proc/sys/kernel/ns_last_pid via helpers 2014-06-09 15:29:49 +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 cg: Dump cgroups tasks live in 2014-05-27 23:48:06 +04:00
cr-exec.c criu: Several formatting fixes 2014-01-14 09:33:19 +04:00
cr-restore.c restore: Open /proc/sys/kernel/ns_last_pid via helpers 2014-06-09 15:29:49 +04:00
cr-service.c crtools: Introduce the --ext-mount-map option (v3) 2014-06-17 10:36:30 +04:00
cr-show.c image: Add bits and pieces for cgroups image 2014-05-27 23:48:06 +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 crtools: Introduce the --ext-mount-map option (v3) 2014-06-17 10:36:30 +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 image: Add O_OPT when trying to open optional image files 2014-03-17 14:21:21 +04:00
files-ext.c files-ext: Mark dump callback as static 2014-02-24 17:30:42 +04:00
files-reg.c files: Fix open_path() to provide mntns root fd to callbacks 2014-06-06 12:20:02 +04:00
files.c fs: Opening FE-s after fchdir doesn't work 2014-06-10 17:47:32 +04:00
fsnotify.c fsnotify: Use mnt_id when restoring mount mark 2014-05-23 13:31:32 +04:00
image-desc.c tmpfs: use device number instead of mnt_id in image names 2014-06-17 10:39:52 +04:00
image.c cg: Restore tasks into proper cgroups 2014-05-27 23:48:06 +04:00
ipc_ns.c crtools: move cr_options in a separate header 2013-11-06 18:17:52 +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 vdso: make -- Arch targets depends on config 2014-05-28 00:51:07 +04:00
Makefile.config vdso: make -- Export VDSO and CONFIG_VDSO 2014-05-27 23:39:51 +04:00
Makefile.crtools cg: Skeleton for cgroup code 2014-05-27 23:48:06 +04:00
Makefile.inc install: install criu-service logrotate config 2014-02-18 12:39:50 +04:00
mem.c mem: Don't shrink the number of IOVs needed for page transferring 2014-05-12 14:46:41 +04:00
mount.c mount: dump one file system only once (v2) 2014-06-17 10:40:00 +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 page-pipe: Don't increase the page_pipe::nr_pipes if we reuse pipes 2014-05-07 21:01:35 +04:00
page-read.c page-read: remove redundant initialisation 2014-03-21 08:38:18 +04:00
page-xfer.c page-xfer: make err-message reflect what realy happen 2014-04-14 15:16:05 +04:00
pagemap-cache.c pagemap-cache: Use page.h helpers 2014-02-21 16:29:41 +04:00
parasite-syscall.c parasite-syscall: Print which @syscall_ip is selected 2014-05-12 14:46:24 +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: Open /proc/self/maps via helpers 2014-06-09 15:29:47 +04:00
protobuf-desc.c image: Add bits and pieces for cgroups image 2014-05-27 23:48:06 +04:00
protobuf.c image: Add O_OPT when trying to open optional image files 2014-03-17 14:21:21 +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 headers: Drop uintX_t usage 2013-12-12 10:03:07 +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 headers: Drop uintX_t usage 2013-12-12 10:03:07 +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 unix: Get ns root fd only once. 2014-04-23 02:51:11 +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: Fix restore pages stats 2014-02-04 14:03:10 +04:00
string.c string: Add strlcat helper 2013-11-29 15:36:07 +04:00
sysctl.c sysctl: Don't forget to close fds 2013-04-05 08:23:17 +04:00
tty.c files: Rework select_ps_list fdsec ops callback 2014-02-05 16:17:59 +04:00
tun.c criu: rename current_ns_mask to root_ns_mask (v2) 2014-04-21 22:38:33 +04:00
util.c util: Prepare proc opening helpers to open any files 2014-06-09 15:29:46 +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