- 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 26 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>
-
Kir Kolyshkin authored
Apparently, there's no clang-3.8 for Ubuntu Trusty arm64. The latest available version is 3.6, let's try to use it. https://travis-ci.org/kolyshkin/criu/builds/173168198Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
As recommended by [1], "Always combine RUN apt-get update with apt-get install in the same RUN statement". Also, ditch "apt-get clean", as it seems to be useless. [1] https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/ https://travis-ci.org/kolyshkin/criu/builds/173168198 Cc: Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
travis-ci: success for series starting with [1/2] ppc: Add atomic_dec_return() Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Borrowed from Linux kernel. travis-ci: success for series starting with [1/2] ppc: Add atomic_dec_return() Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
I'm unsure where all these %%s before register names comes from, but they confuse clang, like this: > criu/arch/arm/parasite-head.S:6:6: error: unexpected token in operand > sub %r2, %pc, #8 @ get the address of this instruction > ^ This patch looks scary, but all it does is removing %s before register names, fixing a few "many spaces instead of a tab" issues along the way. travis-ci: success for Fixes to compile on arm with clang Cc: Christopher Covington <cov@codeaurora.org> Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Reviewed-by:
Christopher Covington <cov@codeaurora.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
I got the following then trying to compile CRIU on ARM with clang: > criu/cr-restore.c:2476:22: error: implicit conversion from 'unsigned > long long' to 'unsigned long' changes value from 18446744073709551615 to > 4294967295 [-Werror,-Wconstant-conversion] > return ival == -1 ? RLIM_INFINITY : ival; > ~~~~~~ ^~~~~~~~~~~~~ > /usr/include/arm-linux-gnueabihf/bits/resource.h:117:24: note: expanded > from macro 'RLIM_INFINITY' > # define RLIM_INFINITY 0xffffffffffffffffuLL > ^~~~~~~~~~~~~~~~~~~~~ > 1 error generated. Fix by using provided rlim_t type in this and similar places. travis-ci: success for Fixes to compile on arm with clang Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
Somehow clang doesn't always like -Wa flags, for example when making dependencies (see commit 9303ed3 ("Makefiles: move -Wa,--noexecstack out of CFLAGS"), which causes build break, scary error messages, and even hair loss. There are many ways to solve this. This patch employs the one that is simple and clean. The -Wa,-mimplicit-it=always flag was added by commit 79c4b747 ("arm: fix compilation on ARMv7"). The reason is, ARM needs an IT instruction before certain conditionals. Those IT instructions are almost always automatically generated by assembler itself, but in some cases a special assembler flag (like the one above) is needed. As there is only one place in the code that need IT, it's easy to patch it (add explicit IT) and remove the flag. Note that "IT" generates no machine code per se, so there should not be any functional change (although I haven't checked it). For more info on IT, see http://tinyurl.com/z3ldsdr Hope for a review from our ARM experts. travis-ci: success for Fixes to compile on arm with clang Cc: Christopher Covington <cov@codeaurora.org> Cc: Dmitry Safonov <dsafonov@virtuozzo.com> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kir Kolyshkin authored
A couple of typos. Signed-off-by:
Kir Kolyshkin <kir@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 08 Nov, 2016 1 commit
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 04 Nov, 2016 1 commit
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 03 Nov, 2016 5 commits
-
-
Pavel Emelyanov authored
Otherwise we may forget compiling binfmt_misc_virtualized code. Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Do not ask kernel to transfer more opts than we really need. When we're sending fds with flags, we ask kernel to copy the whole struct scm_fdset::opts array, like we'd send CR_SCM_MAX_FD fds, even if really we're transmitting only one fd. send_fds() does not initializes the rest of array memory, but kernel transmits this garbage. Also, recv_msg() does not return it to userspace. This patch makes kernel do not transmit uninitialized garbage. travis-ci: success for pie: Optimize send_fds() and recv_fds() with opts Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Emelyanov authored
The need to mess with binfmt_misc super-blocks only exists in OpenVZ kernel and troubes all the other users. So make this code get compiled-out by default. In VZ-builds the BINFMT_MISC_VIRTUALIZED should be put into .config file before running make. https://github.com/xemul/criu/issues/235 travis-ci: success for Don't compile in binfmt_misc dumping code by default (rev3) Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Reviewed-by:
Dmirty Safonov <dsafonov@virtuozzo.com>
-
Pavel Emelyanov authored
In this file one can add options with which to build CRIU. Each line is (for now) expanded into CONFIG_$(TEXT) macros defined in config.h that can be tested later in the code. v2: Add .config to .gitignore v3: Don't check that make mrproper removes .config https://github.com/xemul/criu/issues/235 travis-ci: success for Don't compile in binfmt_misc dumping code by default (rev3) Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com> Reviewed-by:
Dmirty Safonov <dsafonov@virtuozzo.com>
-
Andrei Vagin authored
When pages are swapped out we can't detect their presence with mincore. Pavel found that lseek(SEEK_DATA, SEEK_HOLE) can show which pages are used. travis-ci: success for shmem: use lseek(SEEK_DATA) instead of mincore Cc: Eugene Batalov <eabatalov89@gmail.com> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Looks-good-to: Eugene Batalov <eabatalov89@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-