- 18 Jan, 2016 3 commits
-
-
Pavel Emelyanov authored
Recent kernels allow for user to read proc pagemap file, but zero pfns in it. Support this mode for user dumps. https://github.com/xemul/criu/issues/101Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Andrew Vagin <avagin@virtuozzo.com>
-
Laurent Dufour authored
The descriptor for test netns-nf and netns are referencing /bin/diff. On Fedora this is a hard link to /usr/bin/diff created during the install of the package diffutils. However this hard link doesn't exist on Debian like systems. Referencing /usr/bin/diff works in both cases. Signed-off-by:
Laurent Dufour <ldufour@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
It turns out we can't just test for /proc/<pid>, because the kernel appends (deleted), since the directory is actually deleted (vs. something like /proc/1/mountinfo, where the file still exists in the unlinked directory, so there is no (deleted)). See comment for details. v2: s/ret/is_dead in /proc/<pid>/xxx test, split tests to correctly test both cases Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 13 Jan, 2016 8 commits
-
-
Andrew Vagin authored
Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrew Vagin authored
A static test should not change its state during C/R. Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Sergey Bronnikov authored
This patch updates Makefile for measuring code coverage in CRIU. criu binary should be compiled with option --coverage and linked with -lgcov option. lcov utility creates HTML pages containing the source code annotated with coverage information. make GCOV=1 make test make gcov Look at gcov/html/index.html Changes: - disable optimization on compilation for gathering coverage data - mention an option for coverage in help - cleanup the files produced for code coverage - make path to coverage files produced by tests in ns independent on environment - add an option lcov_branch_coverage as branch coverage disabled by default Signed-off-by:
Sergey Bronnikov <sergeyb@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrew Vagin authored
A static test should not change its state during C/R ===================== Run zdtm/live/static/session00 in ns ===================== Start test ./session00 --pidfile=session00.pid --outfile=session00.out Run criu dump Run criu restore 7: Old files lost: set(['4']) 7: New files appeared: set([]) ############# Test zdtm/live/static/session00 FAIL at fds compare ############## Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Vijaya Kumar K authored
Define correct syscall numbers for fanotify_init and fanotify_mark for arm64. Signed-off-by:
Vijaya Kumar K <vijayak@caviumnetworks.com> Reviewed-by:
Christopher Covington <cov@codeaurora.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Vijaya Kumar K authored
Replace stack alignment magic constant with __stack_aligned__ macro. Also align stack for sigaltstack test case. Signed-off-by:
Vijaya Kumar K <vijayak@caviumnetworks.com> Reviewed-by:
Christopher Covington <cov@codeaurora.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 30 Dec, 2015 2 commits
-
-
Andrew Vagin authored
dev_t is %ul on x86_64 and %ull on arm32 tty.c: In function 'get_tty_driver': tty.c:247:2: error: format '%lx' expects argument of type 'long unsigned int', but argument 4 has type 'dev_t' [-Werror=format=] snprintf(id, sizeof(id), "tty[%lx:%lx]", rdev, dev); Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Otherwise non-parallel jenkins jobs miss the error logs in e-mails Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 29 Dec, 2015 14 commits
-
-
Andrew Vagin authored
Cc: Vijaya Kumar K <Vijaya.Kumar@caviumnetworks.com> Fixes: c9448e1f ("arm: Fix wrong system call number") Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Vijaya Kumar K authored
arm64 requires stack pointer to be aligned to 16 bytes. Update all test cases that are using clone system call to have 16 byte aligned stack pointer. Signed-off-by:
Vijaya Kumar K <vijayak@caviumnetworks.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Vijaya Kumar K authored
arm64 requires stack to be aligned to 16 bytes. update RESTORE_ALIGN_STACK macro to always align to 16 bytes. Signed-off-by:
Vijaya Kumar K <vijayak@caviumnetworks.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Vijaya Kumar K authored
arm64 expects stack to be aligned to 16 bytes. If stack pointer is not aligned clone system call fails during restore. Signed-off-by:
Vijaya Kumar K <vijayak@caviumnetworks.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Vijaya Kumar K authored
System call number 78 corresponds to readlinkat. Where as 78 is mapped to readlink() in syscall.def for arm. With this patch, use sys_readlinkat instead of sys_readlink and update syscall.def to point syscall number 78 to readlinkat() instead of readlink() Signed-off-by:
Vijaya Kumar K <vijayak@caviumnetworks.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Dmitry Safonov authored
Impact: small cleanup Signed-off-by:
Dmitry Safonov <dsafonov@odin.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Dmitry Safonov authored
prepare_loginuid() called on kerndat_loginuid where it tests for loginuid restore feature. Let's omit error printing for feature test. Signed-off-by:
Dmitry Safonov <dsafonov@odin.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Currently if criu segfaulted, the inventory image isn't removed and we can't detect that images are incomplete. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
It's an example how it can be used Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
v2: set a control terminal Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
Now we can use the --inherit-fd option to mark external terminals on dump and to tell which file desdriptors should be used to restore these terminals. Here is an example how it works: $ setsid sleep 1000 $ ipython In [1]: import os In [2]: st = os.stat("/proc/self/fd/0") In [3]: print "tty[%x:%x]" % (st.st_rdev, st.st_dev) tty:[8800:d] $ps -C sleep PID TTY TIME CMD 4109 ? 00:00:00 sleep $ ./criu dump --external 'tty[8800:d]' -D imgs -v4 -t 4109 $ ./criu restore --inherit-fd 'fd[1]:tty[8800:d]' -D imgs -v4 v2: add missed break remove @non_file from tty_driver Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
This option is used to mark external resources on dump. Currently it's going to be used to handle external tty-s, but in a future it can be used to any type of resources. We can have a few ways to restore external resources and we will have a separate options to say how to restore each type. For example, we can use --inherit-fd to restore external file descriptors. Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
We can't use only a terminal device, because we can not distinguish two pty-s from different mounts in this case. $ mount -t devpts -o newinstance xxx pts1 $ mount -t devpts -o newinstance xxx pts2 $ stat pts1/0 Device: 27h/39d Inode: 3 Links: 1 Device type: 88,0 $ stat pts2/0 Device: 28h/40d Inode: 3 Links: 1 Device type: 88,0 Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 28 Dec, 2015 9 commits
-
-
Pavel Emelyanov authored
Right now if we bind-mount / of some FS into container and want this to be 'external' mount, criu would refuse to dump this mountpoint. Tune the check in validate_mounts() to always accept any external mps regardless of whether they are fsroot or not. https://github.com/xemul/criu/issues/93Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Tested-by:
Dengguangxing <dengguangxing@huawei.com>
-
Andrew Vagin authored
Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
timer_t is (void *) in glibc, but timer_t is (int) in kernel. When we call system calls, we need to use timer_t from kernl. https://github.com/xemul/criu/issues/98Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Use explicit type to placate the compiler. | proc_parse.c: In function 'vma_get_mapfile': | proc_parse.c:282:6: error: format '%lx' expects argument of type 'long unsigned | int', but argument 5 has type 'uint64_t' [-Werror=format=] | pr_err("Strange file mapped at %lx [%s]:%d.%d.%ld\n", | ^ | proc_parse.c:335:5: error: format '%lx' expects argument of type 'long unsigned | int', but argument 5 has type 'uint64_t' [-Werror=format=] | pr_err("Failed to resolve mapping %lx filename\n", | ^ | cc1: all warnings being treated as errors Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
We were not going to change it on dump Cc: Dmitry Safonov <dsafonov@odin.com> Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Dmitry Safonov authored
Loginuid tests should run only when kdat.has_loginuid set. This is for > 3.13 kernels with CONFIG_AUDITSYSCALL enabled. Signed-off-by:
Dmitry Safonov <dsafonov@odin.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Dmitry Safonov authored
Dump/Restore loginuid value only when kdat.has_loginuid set. Signed-off-by:
Dmitry Safonov <dsafonov@odin.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Dmitry Safonov authored
This value will differ on C/R: - on checkpoint it means that it's possible to dump logiuid values; - on restore it means that it's possible to unset loginuid and write saved value to unsetted loginuid. Signed-off-by:
Dmitry Safonov <dsafonov@odin.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 25 Dec, 2015 2 commits
-
-
Cyrill Gorcunov authored
rst_mem_alloc rules might move previously allocated blocks which means we can't reuse previously allocated pointer if new block is created. Thus remember pointers positions where needed and adjust them accordingly. https://github.com/xemul/criu/issues/97Reported-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
On restore we try to put data back into recv queue with quite big chunks. However the kernel doesn't try hard to split the data into packets in repair mode for this queue and just allocates the linear skb of the given size. If the size is moderately big, the allocation is subject to fail, slab doesn't reliably allocates memory over 4k. So, when failing with big chunk on recv queue -- shrink the chunk and try again. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@virtuozzo.com>
-
- 24 Dec, 2015 2 commits
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Some tests require criu to be root, e.g. tcp tests of unlink-mmaps ones, so mark those in desc files as such. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Looks-good-to-me: Andrew Vagin <avagin@virtuozzo.com>
-