- 07 Jul, 2016 21 commits
-
-
Tycho Andersen authored
The kernel only reads the first line of any write(), so let's write line by line. Right now as far as I know devices.deny is the only cgroup property which must be written line by line. I could move this code to restore_cgroup_prop if we expect more of these, though. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Batalov authored
Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Batalov authored
--link-remap opt is obligatory for unlink_regular00 test. Without it CRIU dump will fail because it won't be able to create link remaps. Signed-off-by:
Eugene Batalov <eabatalov89@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Dmitry Safonov authored
I wounder, was it ever working on ARM32? Maybe I don't get this code right? Cc: Christopher Covington <cov@codeaurora.org> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Dmitry Safonov authored
k_rtsigset_t has two words on ARM32. That for-cycle should be optimized to no-op on other archs by compiler where _KNSIG_WORDS is 1. So, if a child blocks the signal which number is > 32 in this mask, and other signals properties are the same - it will not have it blocked after C/R. Impact: fix for signals restoring on ARM32. Cc: Christopher Covington <cov@codeaurora.org> Cc: Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Reviewed-by:
Christopher Covington <cov@codeaurora.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Dmitry Safonov authored
Impact: cleaning-up Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Mike Rapoport authored
instead if doing lseek Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Acked-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Mike Rapoport authored
Fix CID 163578 (#1 of 1): Structurally dead code (UNREACHABLE). The pagemap image would never be closed because of stupid code order in the original patch (674583f2: criu: page-read: read pagemaps at open time and keep them in memory). Fix that. Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Mike Rapoport authored
Signed-off-by:
Mike Rapoport <rppt@linux.vnet.ibm.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Dmitry Safonov authored
If we print "0x" with width specifier, it may go away which is not nice: (00.005258) 21858 fdinfo 0: pos: 0x 0 flags: 100002/0 (00.004589) Collected: ino 0x 51fd family 2 type 1 port 64000 state 10 src_addr 0.0.0.0 This patch is generated with the following sed one-liner: find ./* -type f -print0 | xargs -0 sed -i '/pr.*/s/0x%\([0-9]\+\)/%#\1/g' Don't know if we should change all 0x%*anything* printing to %#*anything*, but where we use field width I think we should. Impact: Just bothered by eyes, cleanup. Signed-off-by:
Dmitry Safonov <dsafonov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
FS type is required to distinguish between local files and remove ones, which will be restored via SPFS and thus has to be created first. Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrew Vagin authored
Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrew Vagin authored
It isn't required, __NR_memfd_create is defined in syscall-codes.h. With this patch, we can run all tests in travis-ci, because there a kernel has support of memfd, but __NR_memfd_create isn't defined in installed headers Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Batalov authored
Signed-off-by:
Eugene Batalov <eabatalov89@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Batalov authored
sys/syscall.h only defines syscall number constants but not syscall function. Signed-off-by:
Eugene Batalov <eabatalov89@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Adrian Reber authored
The package libcap-dev(el) was listed as required to run the tests. It is, however, also required to build CRIU. Move the package to the right place to fix the printed information. Signed-off-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Sebastian Pipping authored
.. to address protobuf 3.x proto-c warnings Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Tikhomirov authored
s/batch/bunch/ Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
Instead of doing this crazy thing where we pass the number of zombies back from the restorer blob to the main restore thread, let's just calculate the number in the main restore thread when we need it. Also, note that this patch shifts the location of this calculation: we used to do a decrement of nr_in_progress when we waited() on a zombie, to sort of lie about the fact that they did go through CR_STATE_RESTORE_SIGCHLD, but since we're waiting on them anyway explicitly, there's no reason to do all this hackery. Let's just calculate the number once in the right place and be done with it. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Tycho Andersen authored
this avoids: ===================== Run zdtm/static/socket-tcpbuf6 in h ====================== Makefile:295: target 'mnt_enablefs.pid' given more than once in the same rule Start test Makefile:295: target 'mnt_enablefs.pid' given more than once in the same rule ./socket-tcpbuf6 --pidfile=socket-tcpbuf6.pid --outfile=socket-tcpbuf6.out Run criu dump Run criu restore Wait for zdtm/static/socket-tcpbuf6 to die for 0.100000 Wait for zdtm/static/socket-tcpbuf6 to die for 0.200000 Removing dump/zdtm/static/socket-tcpbuf6/27 ===================== Test zdtm/static/socket-tcpbuf6 PASS ===================== in every test. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Andrew Vagin authored
Signed-off-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
- 05 Jul, 2016 19 commits
-
-
Stanislav Kinsburskiy authored
Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Kolomeetz authored
restore_mountpoint() should never be called without saved mountpoint. If this happens, this is bug in script logic, which needs fixing. https://jira.sw.ru/browse/PSBM-44207Signed-off-by:
Eugene Kolomeetz <klm@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Kolomeetz authored
In such case, we must not proceed: without saved mountpoint, we risk losing data when restarting automount service (think about tmpfs). Currently, zero will be returned as exit status of preceeding echo. https://jira.sw.ru/browse/PSBM-44207Signed-off-by:
Eugene Kolomeetz <klm@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Kolomeetz authored
When we want to just execute command (without capturing output), we must not do it via $(cmd). With such form, shell first gets output of 'cmd', and then evaluates it. If this is empty string, it is successfully executed. If not empty, all breaks down. https://jira.sw.ru/browse/PSBM-44207Signed-off-by:
Eugene Kolomeetz <klm@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Kolomeetz authored
When read bultin detects EOF, it sets empty string as value of specified variable, and returns non-zero exit code. So we can rely just on exit code, and not check variable value. This is standard approach. https://jira.sw.ru/browse/PSBM-44207Signed-off-by:
Eugene Kolomeetz <klm@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Kirill Tkhai authored
This function may catch overflow near INT_MAX, so it becomes return strange fd, like fd = -2147483648. Fix that. Signed-off-by:
Kirill Tkhai <ktkhai@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Tikhomirov authored
v2: fix compilation warning for snprintf v3: check iptables has xtables locks support once on init v4: switch opts to kdat Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Pavel Tikhomirov authored
when run several tests simultaneousely it seem that some iptables commands can intersect and if we do not wait xtables lock criu fails: (00.009263) Running iptables [iptables -t filter -A INPUT --protocol tcp --source 127.0.0.1 --sport 55074 --destination 127.0.0.1 --dport 8880 -j DROP] Another app is currently holding the xtables lock. Perhaps you want to use the -w option? (00.014367) Error (util.c:660): exited, status=4 (00.014416) Error (netfilter.c:88): Iptables configuration failed: Success (00.014432) ---------------------------------------- (00.014461) Error (cr-dump.c:1297): Dump files (pid: 24) failed with -1 https://ci.openvz.org/job/CRIU/job/CRIU-virtuozzo/branch/criu-dev/3/Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Acked-by:
Andrew Vagin <avagin@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Kolomeetz authored
Now readlink is called in host context, this is obviously wrong. Signed-off-by:
Eugene Kolomeetz <klm@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Eugene Kolomeetz authored
Let's use $(...) form, it is more readable, and used in other places. Signed-off-by:
Eugene Kolomeetz <klm@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
Otherwise the following errors can be triggered: /usr/libexec/criu/scripts/systemd-autofs-restart.sh: line 64: [: =: unary operator expected /usr/libexec/criu/scripts/systemd-autofs-restart.sh: line 77: [: =: unary operator expected Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
Restore_ns helper closes passed namepsace fd unconditionally. Thus new_pid_ns must be invalidated in any case after calling for it. Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
Fily system type is not necessarily located in the column number 9. But look like we can rely on " - " pattern: it's always located immediately after dash. Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
There can be a situation, when autofs mount is catatonic, but doesn't know about it yet. It wasn't possible to distinguish between such mounts and others, which are active, but not accessible for some reason. And all of such mounts were threated as undumpable. Such "hidden" catatonic mounts can appear if: 1) autofs master process has exited without switching the mount to catatonic mode (or was killed). 2) mount point was unmounted, but not propagated to nested mount namespace with private mounts. These mounts can be handled by accessing the mount point. If it's catatonic, it will update it's internals on first failed request to the autofs master. Then we can read options again and dump the mountpoint as catatonic. Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
No not return error from autofs_find_pipe_read_end, if pipe end wasn't found, because read_fd remains negative. There is another explicit check in the caller of this function for read_fd and proper messages are printed in such a case. Return -ENOENT in case of read end of the pipe doesn't exist to distinguish with other error types (will be used later). Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
Unfortunatelly, autofs doesn't allow to discover it's type. At least without accessing master process. That means, that stat can be used to determine whether some other file system is mounted on top of autofs (which we need to take a decision whether to move restore fs aside or not), because it simply stuck. This patch does fs type discovering by parsing CTs mountinfo. Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-
Stanislav Kinsburskiy authored
This patch slightly changes the logic on systemd autofs service restart script: 1) It tries to bind-mount the mountpoint on top of autofs (if any) somewhere before service restart, and replace new mount point on top of autofs (if any) by the saved one after. 2) It doesn't exit in case of error, trying to recover as much as possible in case of failure instead and then continue services restarting. The reason for introducing new logic is that there can be some other, stateful, file system on top of autofs (say, tmpfs), which state was restore during migration. With current script this state will be lost, while this patch allows to preserve restored mount point after service restart. Signed-off-by:
Stanislav Kinsburskiy <skinsbursky@virtuozzo.com> Signed-off-by:
Pavel Emelyanov <xemul@virtuozzo.com>
-