- 05 Dec, 2016 9 commits
-
-
Pavel Tikhomirov authored
Do it through new --weak-sysctls option to "criu restore". When we migrate from source with newer kernel with some modern sysctl to destination with older kernel without it or just with a kernel configured without it (e.g. no CONFIG_IPV6_ROUTER_PREF), we face a problem that not all of dumped sysctls can be successfuly restored on the destination. So to address these problem introduce weak sysctls migration, where we restore only available sysctls and skip others. https://github.com/xemul/criu/issues/248 While on it, fix workaround for stable_secret eio skip. travis-ci: success for Add ability to restore with missing sysctls on the target node Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
With the recent patches, criu is finally compileable with clang for all architectures. To keep it that way, we need Travis to test that on a regular basis. The downside is, Travis build time is increased about 2x. travis-ci: success for travis: enable arm/arm64/ppc builds with clang Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Adrian Reber authored
When using the option --keep-going to get a quick overview of the test results there is now a summary which tests have failed like: ############# 7 TEST(S) FAILED (TOTAL 268/SKIPPED 83) ############## * zdtm/static/sched_policy00(unknown) * zdtm/static/pthread00(unknown) * zdtm/static/pthread01(unknown) * zdtm/static/maps01(unknown) * zdtm/static/maps00(unknown) * zdtm/transition/maps008(unknown) * zdtm/transition/shmem(unknown) ############################### FAIL ############################### Signed-off-by:
Adrian Reber <areber@redhat.com> Acked-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Vitaly Ostrosablin authored
Those two tests use same socket name and if both of them are run simultaneously, they would fight for socket and one will get EADDRINUSE. This patch gives socket_dgram_data an unique name, so that everyone will be happy. travis-ci: success for test: fix same socket names in socket-{dgram_data, snd_addr} Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Raghavendra Prabhu authored
The installation needs to use python2, but it uses python in the Makefile which fails later with syntax error (since it is written for python2). As per PEP-394 - https://www.python.org/dev/peps/pep-0394/ -, 'all distributions should ensure that python refers to the same target as python2 .', hence this change. Therefore, python2 is used by default in lib/Makefile, though this can be overriden with PYTHON_BIN. Tested with: a) PYTHON_BIN=python2 make install b) make install c) export PYTHON_BIN=python2 make test Signed-off-by: Raghavendra Prabhu <me at rdprabhu dot com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Do not dump external sockets, that are not peers for some processes sockets. We do not use them on restore ==> we do not need to dump them. Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> criu/sk-unix.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Venkateswara Rao Mandela authored
Build in tests/others/rpc folder was failing due to the use of LDFLAGS variable instead of LDLIBS variable to link libprotobuf-c. The makefile uses implicit build rules. $(CC) $(LDFLAGS) n.o $(LOADLIBES) $(LDLIBS) Using LDFLAGS places -llibprotobuf-c before the object files, preventing the library from being searched for required functions. This commit changes the variable to LDLIBS instead to fix the issue. travis-ci: success for test/others/rpc: fix build error Signed-off-by:
Venkateswara Rao Mandela <venkat.mandela@ti.com> Reviewed-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
https://travis-ci.org/criupatchwork/criu/builds/177945936Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
We can MSG_PEEK those and can dump the files easily. The problem is in restore -- we need to first pass through all the fdinfo openings before sending the descriptors out, but by that time some sending sockets may have already closed :( So for now just detect SCM-s in queue and abort the dump, otherwise we'd just have them lost and the state spoiled. https://travis-ci.org/criupatchwork/criu/builds/177945936Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 22 Nov, 2016 6 commits
-
-
Dmitry Safonov authored
1. Dropped check for (fd < 0) - there is check after open() in the test, just two lines upper or so. 2. Combined two test to share common code: they differ only by proc path to open in a dead process. travis-ci: success for pstree: rename lookup_create_{item <=> pid} (rev2) Cc: Tycho Andersen <tycho.andersen@canonical.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Currently each page read request results in pread() call. But we can do better -- if there's no urgent need in data (which is likely the case for non-cow pagemaps) we can save where the date should go to and then read it in in one preadv syscall. For lazy pages we get an ability to do async read_pages call that would send the request to server and return w/o data in the buffer. The explicit sync() method is added since .close is void and nobody checks its return code. v2: Lost limits.h in pagemap.c for IOV_MAX (compilation). v3: split added code into smaller chunks https://travis-ci.org/criupatchwork/criu/builds/175451746Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Flag PR_ASYNC means, that the caller is OK if the routine returns w/o data read into the buffer provided. https://travis-ci.org/criupatchwork/criu/builds/175451746Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
It's already written into page_read->pi_off, so just use one. https://travis-ci.org/criupatchwork/criu/builds/175451746Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Acked-by:
Mike Rapoport <rppt@linux.vnet.ibm.com>
-
Mike Rapoport authored
travis-ci: success for page-xfer: spelling: s/heppen/happen Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Mike Rapoport authored
With in-memory pagemap put_pagemap is not required because it does not frees any resources. Minor modifications to get_pagemap and init_pagemaps allow proper bookkeeping without put_pagemap. Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 21 Nov, 2016 4 commits
-
-
Cyrill Gorcunov authored
travis-ci: success for headers: Switch to common linkage.h Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Cyrill Gorcunov authored
The rest is to be moved into compel, while this particular strucure is only needed by criu. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Cyrill Gorcunov authored
The 2nd big splitting patch -- move most of the code that is infect-related and doesn't know about criu internals (like protobuf) out of types.h headers. This is also big and fat patch, but it just moves the code around. Applies on top of sigframe extracting patch. Travis: https://travis-ci.org/xemul/criu/builds/171439595Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-and-ported-on-dev-by:
Pavel Emelyanov <xemul@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Cyrill Gorcunov authored
There's a lot of code making sigframes for PIE spread all over the asm/restorer.h and arch/crtools.c. This patch collects it all into asm/sigframe.h and arch/sigframe.c for better modularity and for the sake of compel. The patch is huge, but it just moves the code around (making u32/u64 types conversions to uint32/64_t-s where appropriate). travis-ci: success for sigframe: Move sigframe-related code into sigframe.* Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-and-ported-on-dev-by:
Pavel Emelyanov <xemul@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 17 Nov, 2016 2 commits
-
-
Andrei Vagin authored
flake8 --config=scripts/flake8.cfg test/zdtm.py test/zdtm.py:66:1: E305 expected 2 blank lines after class or function definition, found 1 test/zdtm.py:127:1: E305 expected 2 blank lines after class or function definition, found 1 test/zdtm.py:971:1: E305 expected 2 blank lines after class or function definition, found 1 test/zdtm.py:1618:1: E305 expected 2 blank lines after class or function definition, found 1 Makefile:377: recipe for target 'lint' failed travis-ci: success for zdtm: fix flake8 warnings Signed-off-by:
Andrei Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
When C/R-ing a net namespace with --empty-ns net option we should also skip netfilter rules too (as per https://github.com/docker/docker/issues/27597). However, there's one thing to be handled -- local TCP blocking rules are expected to be there on restore by restore_iptables() which is no longer the case, so put them back manually. Test included, checked on zdtm/static/socket-tcpbuf-local :) v2: Full scripts for empty netns setup. https://github.com/xemul/criu/issues/246Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 14 Nov, 2016 1 commit
-
-
Pavel Emelyanov authored
So, this time we've mostly have a lot of code rework for compel. A big portion of it is still in criu-dev, but some has been merged into master. Other than this and a bunch of bugfixes -- .config file, support for Tun-Tap devices and deprecation of several CLI and RPC options by the --external one. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 12 Nov, 2016 18 commits
-
-
Kirill Tkhai authored
Since iprule commit 67a990b81126 command "ip rule del" is not working anymore: iproute: disallow ip rule del without parameters Disallow run `ip rule del` without any parameter to avoid delete any first rule from table. Signed-off-by:
Andrey Jr. Melnikov <temnota.am@gmail.com> So, criu restore fails with: Error (criu/net.c:1277): IP tool failed on rule delete Fix that by explicit passing of rule's table. v2: Use "ip rule flush" to main's and default's table rules at once. travis-ci: success for net: Make criu do not fail on recent iproute2 (rev2) Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Mike Rapoport authored
Introduce helper functions for reading pages from parent snapshot and for reading pages from local pages*img travis-ci: success for criu: pagemap: minor improvements Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Mike Rapoport authored
Some pagemap methods mix up using PIDs and pagemap internal ids. Using the 'pid' name in places that actually refer to PIDs makes the code clearer. travis-ci: success for criu: pagemap: minor improvements Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Ruslan Kuprieiev authored
It is already present in rpc, so lets add it to libcriu too. Signed-off-by:
Ruslan Kuprieiev <rkuprieiev@cloudlinux.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
When using pr_perror(), we should not end the message with \n, as it is added automatically. Unfortunately, I still can't figure a way to check this at compile time, so here's the annual patch. travis-ci: success for Assorted nitpicks Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
In certain places, such as after a syscall, we use pr_perror() to automatically add strerror(errno) to the error message. In places we're not sure if errno was set by a function we called, we should use pr_err() instead. travis-ci: success for Assorted nitpicks Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
1. Make sure to use xmalloc() where an error message makes sense 2. Make sure to not ignore if NULL is returned travis-ci: success for Assorted nitpicks Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
Using xstrdup lets us have an error message printed if malloc() fails. travis-ci: success for Assorted nitpicks Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
We already have a wrapper that spits out an error, use it. travis-ci: success for Assorted nitpicks Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
open_proc* and fopen_proc* are all macros, and they print errors in case something is wrong (and as they are macros they print correct file:line info, too). So, there is no need to print another error message right after calling those. This fixes double error messages like these: (00.047295) Error (criu/proc_parse.c:990): Can't open 18472/status on procfs: No such file or directory (00.047298) Error (criu/proc_parse.c:992): Can't open proc status: No such file or directory travis-ci: success for Assorted nitpicks Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
Our log functions save errno and restore it. Restoring should be at the very end of the __print_on_level() function, but commit 6ae4a973 ("rpc: Report back first error message on failure") messed with it. Move errno restore at the end of the function. travis-ci: success for Assorted nitpicks Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
An errno from setns might be lost after close()s, so change the order. travis-ci: success for Assorted nitpicks Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
travis-ci: success for tests: Add RPC testing to CI (rev2) Acked-by:
Andrey Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Travis sets up the GCOV variable to collect coverage and provides an external mount for this. Thus handling this option in RPC mode is essential. travis-ci: success for tests: Add RPC testing to CI (rev2) Acked-by:
Andrey Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
travis-ci: success for tests: Add RPC testing to CI (rev2) Acked-by:
Andrey Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
Now the --ext-mount-map is deprecated option, so fix it to become the --external one. travis-ci: success for tests: Add RPC testing to CI (rev2) Acked-by:
Andrey Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
It seems to me most of the clean hooks (used by cgroup*, macvlan* cr_veth* and mnt_tracefs* were all designed to be run to clean up after the test, no matter whether it failed or succeeded. Let's always run them, so Andrei doesn't hate me :D travis-ci: success for zdtm.py: run --clean hook on test failure Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> CC: Andrei Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrei Vagin authored
06:46:44.191: 24: ERR: fifo_loop.c:52: can't make fifo "fifo_loop.test-00" (errno = 17 (File exists)) Reported-by: Mr Jenkins travis-ci: success for zdtm: cleanup fifo_loop.test-0* Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-