- 09 Jul, 2018 13 commits
-
-
Adrian Reber authored
This prepares CRIT for python2/python3 compatibility by auto-detecting the installed python version. python2 is detected first and then the variable PYTHON is set. By setting the variable PYTHON to python2/python3 the user can override the auto-detection. Signed-off-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Adrian Reber authored
Signed-off-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
This helper must init every member of a structure, not some part of it. Beautify code as well. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
Otherwise there is an imbalance in logs with number of "Reverted working dir" message | (00.018604) 36: unix: Connected 0x11ceff -> 0x11cf00 (0x11cf00) flags 0 | (00.018644) 36: unix: Reverted working dir | (00.018652) 36: unix: Connected 0x11cefd -> 0x11cefe (0x11cefe) flags 0 | (00.018665) 36: unix: Reverted working dir | (00.018688) 36: unix: Reverted working dir Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
To unify style of pointers fetching from memory slab. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
For readability sake. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
For readability sake. And use standart uint8_t types. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
So the rest of code will match. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
For grep sake. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
- 04 Jul, 2018 9 commits
-
-
Andrei Vagin authored
It is one of our target platforms. Cc: Adrian Reber <areber@redhat.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Acked-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
On ppc64/aarch64 Linux can be set to use Large pages, so the PAGE_SIZE isn't build-time constant anymore. Define it through _SC_PAGESIZE. There are different sizes for a page on ppc64: : #if defined(CONFIG_PPC_256K_PAGES) : #define PAGE_SHIFT 18 : #elif defined(CONFIG_PPC_64K_PAGES) : #define PAGE_SHIFT 16 : #elif defined(CONFIG_PPC_16K_PAGES) : #define PAGE_SHIFT 14 : #else : #define PAGE_SHIFT 12 : #endif And on aarch64 there are default sizes and possibly someone can set his own PAGE_SHIFT: : config ARM64_PAGE_SHIFT : int : default 16 if ARM64_64K_PAGES : default 14 if ARM64_16K_PAGES : default 12 On the downside - each time we need PAGE_SIZE, we're doing libc function call on aarch64/ppc64. Fixes: #415 Tested-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
PAGE_SIZE will be a variable value on platforms where it can be different due to large pages. And looks like (c) there is no reason for BUF_SIZE == PAGE_SIZE, so let's keep it as it was, rather than complicating it with dynamic allocation for the buffer. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
The same value, but as PAGE_SIZE can be different for the same platform - it's no more static value. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
Personality value is printed in kernel like this: static int proc_pid_personality(/* .. */) { int err = lock_trace(task); if (!err) { seq_printf(m, "%08x\n", task->personality); unlock_trace(task); } return err; } So, we don't need a whole page to read the value. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
For architectures like aarch64/ppc64 it's needed to propagate the size of page inside PIEs. For the parasite page size will be defined during seizing, and for restorer during early initialization. Afterward we can use PAGE_SIZE in PIEs like we did before. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
The macro is used only in aio_estimate_nr_reqs(): unsigned int k_max_reqs = NR_IOEVENTS_IN_NPAGES(size/PAGE_SIZE); Which compiler may evaluate as (((PAGE_SIZE*size)/PAGE_SIZE) - ...) It works as long as PAGE_SIZE is long. The patches set converts PAGE_SIZE to use sysconf() returning (unsigned), non-long type and making the aio macro overflowing. I do not see any value making PAGE_SIZE (unsigned long) typed. Cc: Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
It's actually number of bytes spliced, not pages. And I bet (unsigned long) suits the purpose more than (int). Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
It's unused since commit fd3f33f5 ("headers: image.h -- Drop unused entries"), so let's remove it completely. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
- 21 May, 2018 1 commit
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 18 May, 2018 1 commit
-
-
Andrei Vagin authored
It is a typo fix which was added on rebase. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
- 17 May, 2018 15 commits
-
-
Dmitry Safonov authored
Let's warn about binary needed for `install` target. Before: [root@localhost criu]# make install GEN crit.1 make[1]: *** [Makefile:49: crit.1] Error 127 make: *** [Makefile.install:32: install-man] Error 2 After: [root@localhost criu]# make install /bin/sh: line 1: xmlto: command not found make[1]: *** [Makefile:32: check] Error 1 make: *** [Makefile.install:32: install-man] Error 2 Fixes: #481 Reported-by: treaki@gmail.com Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
Otherwise, tests dependencies are not considered for build. Add an error in Makefile.inc so this won't happen again. Cc: Cyrill Gorcunov <gorcunov@openvz.org> Reported-by:
Andrei Vagin <avagin@virtuozzo.com> Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Dmitry Safonov authored
This reverts commit dcafa78b96084216e32b757be62b7fa8aebbdd87. I've found that we already include deps in Makefile.inc, was to fast on the first attempt and overlooked this. (the include just doesn't work like it should yet..) The origin patch may be just dropped before preparing master's merge. Signed-off-by:
Dmitry Safonov <dima@arista.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrei Vagin authored
CID 190174 (#1 of 1): Argument cannot be negative (NEGATIVE_RETURNS) 6. negative_returns: fd is passed to a parameter that cannot be negative. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrei Vagin authored
CID 190175 (#1 of 1): Logically dead code (DEADCODE) dead_error_line: Execution cannot reach this statement: goto err;. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrei Vagin authored
>>> CID 190177: Integer handling issues (NEGATIVE_RETURNS) >>> rpc_sk is passed to a parameter that cannot be negative. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrei Vagin authored
CID 84654 (#1 of 1): Resource leak (RESOURCE_LEAK) 6. leaked_handle: Handle variable fd going out of scope leaks the handle. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrei Vagin authored
(00.566486)pie: 1: seccomp: mode 0 on tid 1 Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Mike Rapoport authored
The purpose of the num_children field in 'struct lazy_pages_info' was to prevent closing the page-read while there are still active processes that share it. It did work for the case when handling of the child processes finished before the parent process. However, if the parent lpi is closed first, we've got a dangling pointer at lpi->parent. The obvious solution is to use simple reference counting. Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Mike Rapoport authored
It is possible that notification about restore finish arrives at the same time with a fork event. In such case we return to epoll_run_rfds without resetting the poll_timeout and then we'll keep polling for events indefinitely. To avoid this, we reset the poll_timeout to 0 as soon as we know that restore is finished. Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Mike Rapoport authored
The only use for the userfault file descriptor after the process exited is for debug logs. Using negative value instead of 0 makes logs more readable. Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Mike Rapoport authored
Although they are the same, xfree() looks more consistent with other code Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrey Vagin authored
There are a lot of lines, which are longer than 79: (04.331172)pie: 1: Error (criu/pie/restorer.c:460): seccomp: Unexpected tid -> (04.331172)pie: 1: 1 != 1 Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrey Vagin authored
(00.566486)pie: 1: seccomp: mode 0 on tid 1 (00.566601)pie: 1: Error (criu/pie/restorer.c:460): seccomp: Unexpected tid -> (00.566601)pie: 1: 1 != 1 (00.566601)pie: 1: 1 != 1 (00.566639)pie: 1: Error (criu/pie/restorer.c:1817): Restorer fail 1 Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
Andrey Vagin authored
Otherwise we can skip an error and then criu will hang on switching to the next stage. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-
- 15 May, 2018 1 commit
-
-
Andrei Vagin authored
kerndat_try_load_cache() fills kdat from /run/criu.kdat, so it will contain some trash, if criu.kdat isn't compatible with the current version of criu. Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com> Reviewed-by:
Dmitry Safonov <0x7f454c46@gmail.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Andrei Vagin <avagin@virtuozzo.com>
-