- 21 Apr, 2019 40 commits
-
-
Takashi Iwai authored
a2x is never used although its presence is checked mandatorily. Let's remove this superfluous check and the unused entry. Signed-off-by:
Takashi Iwai <tiwai@suse.de> Reviewed-by:
Dmitry Safonov <0x7f454c46@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Split the function parse_config() into smaller parts by introducing the parse_statement(), and add more descriptive comments to improve readability. In addition, make sure that the last element of the array of strings 'configuration' is initialised to NULL, which is necessary to properly count the number of elements after parsing. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Martin Wührer authored
As most of the `criu_(local_)*` functions already call `strdup()`, it is possible, to change the function signature to `const char *`. As the struct `criu_opts` already contains a `const char * service_binary`, also the member `service_address` is changed to `const char`. Additonally, also the function `criu_local_set_freeze_cgroup()` now calls `strdup()`. Signed-off-by:
Martin Wührer <martin.wuehrer@artech.at> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Martin Wührer authored
According to https://criu.org/API_compliance, the C-library doesn't support the pageserver option. This patch contains the functions `criu_(local_)set_page_server_address_port()` that allow to specify on which ip and tcp-port the pageserver is listening. This patch affects only the c-lib, as criu-rpc already supports the pageserver settings. Signed-off-by:
Martin Wührer <martin.wuehrer@artech.at> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Kir Kolyshkin authored
Add run as a phony target. Move .PHONY declarations next to their targets. Reviewed-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Kir Kolyshkin <kolyshkin@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Kir Kolyshkin authored
Here $(Q) is substituted with either @ or nothing, depending on whether V is set, to either have verbose output or not. So, it does not make sense to add another @. Reviewed-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Kir Kolyshkin <kolyshkin@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Kir Kolyshkin authored
Since this part is inside "define" statement, double $ should be used to refer to internal functions, to call the patsubst when a define is called (rather than defined). This should fix dependency generation for images/ Reviewed-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Kir Kolyshkin <kolyshkin@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Martin Wührer authored
If `criu_local_init_opts()` is applied on the same opts-object several times, not all of the allocated memory gets freed. Therefore, the functions `criu_(local_)free_opts()` were introduced. These functions ensure, that opts get freed accordingly. Furthermore, `criu_(local_)free_opts()` gets part of the c-api, and can therefore be called by external projects too. Additionally, with this commit `criu_local_init_opts()` now uses `criu_local_free_opts()`, to free the opts-parameter if it was already initalized before. This commit also contains a fix in `send_req_and_recv_resp_sk()` which lead to a memory leak, if criu-notifications were received. Signed-off-by:
Martin Wührer <martin.wuehrer@artech.at> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
The purpose of this helper function is to perform actions common to different interfaces, after all CRIU options have been parsed. This can be used, for instance, to verify that a specific option was passed to CRIU via CLI, RPC or config file. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Acked-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Acked-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Acked-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
The header "lsm.h" was added in crtools.c with commit 6af96c84 and it became unused after commit 09c131c8. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
The option --lsm-profile was added with commit: 6af96c84 lsm: add a --lsm-profile flag In LXD, we use the container name in the LSM profile. If the container name is changed on migrate (on the host side), we want to use a different LSM profile name (a. la. --cgroup-root). This flag adds that support. A usage example is available in https://github.com/lxc/lxc/commit/13389b2963692a51162c703d8a64a79542b18949Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
The --tcp-close option was introduced with commit 2c370428 tcp: Add tcp-close option to restore connected TCP sockets in closed state This options is applicable only for restore. Therefore, move the documentation from 'dump' to 'restore'. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
The --log-pid option was introduced with commit fc7bedc5 crtools: make to be able to split messages by pid This option is applicable only for restore. Therefore, move the documentation from "Common options" to "restore". Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
The current behaviour of CRIU is to inherit the group leader of the parent process when migrating a session leader (with --shell-job). However, it is possible for a process to be group leader without being a session leader (e.g. a shell process). In this case CRIU should restore the original group ID of the process and inherit only the session ID. Closes #593 Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Reviewed-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
getsid(0) and getpgid(0) will return session ID and PGID of the calling process. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Jeff Law authored
I received this patch from Jeff Law as a fix for build failures with the upcoming GCC 9. The following is Jeff Law's description of the patch: Attached you'll find the fix for criu. You'll see it's just a matter of dropping the sp/esp clobber from the relevant asm statements. THe details: criu has a macro which defines an asm which appears to want to set a new stack pointer, then directly issue a sigreturn call to the kernel. Some variants clobber sp (aarch64, arm, x86), others do not (ppc, s390) While the asm does indeed set a new stack pointer, we never return from a sigreturn syscall -- at least not in the normal way. We actually return back to the point where the process was interrupted by the signal. So describing the affect of the asm on the stack pointer is pedantically correct, it actually has no real effect and can just be dropped to avoid the hard error from gcc-9. Suggested-by:
Jeff Law <law@redhat.com> Reviewed-by:
Dmitry Safonov <0x7f454c46@gmail.com> Signed-off-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
In commit c1404f66 mount: restore cwd after creating a roots yard (v2) were introduced changes to the function cleanup_mnt_ns() that handle the case when opts.root is set. However, after commit 2e8970be mount: create a mount point for the root mount namespace in the roots yard the cleanup_mnt_ns() function always results in error: mnt: Can't remove the directory ...: No such file or directory when restore fails and opts.root has been set. Resolves #467 Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
The test library has functions to create tcp sockets. Cc: Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com> Reviewed-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Adrian Reber authored
Up until now any pr_* logging command (except pr_msg) was lost if logging has not been set up (log_init()). To make sure not logging messages are lost, vprint_on_level() now writes all messages (except LOG_MSG) to a temporary buffer which is written to the logging FD once that is set up. Improved-by:
Andrei Vagin <avagin@gmail.com> Signed-off-by:
Adrian Reber <areber@redhat.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Pavel Tikhomirov authored
Error messages in linkat_hard and open_path about link errors contradict each other, fix the wrong one. Signed-off-by:
Pavel Tikhomirov <ptikhomirov@virtuozzo.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
In regular checkpoint (not "check" action) current architecture implies that basic diag modules such as tcp/udp and etc will be loaded. In turn raw diag in most case is either unloaded or even not compiled in the system. Thus for them just zap an error (but print this information inside log). If an application does use raw sockets in real we will fail later when being checkpointing the sockets itselves. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
So we would always know what is happening even if module is nor compiled or supported. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
Lets just use regular pr_perror helper prefix without additional 'ERROR' keyword which may confuse external tools. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
For example if diag module is not built then we should not spam with error message but we will print an error if only a particular socket is really used. v2: - continue passing @ns into error handler because it should be balanced with receieve handler by number of arguments; while we don't use it yet in our handlers better to reserve it immediately for future use; - strictly speaking probing raw diag module has not much sense by now -- the kernel doesn't support its autoloading in some versions; still for code consistency we should do the same things for all modules. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
To be able to zap error messages when needed. Without error handler we will continue printing error. This will placate diag modules probing since they are not mandatory features. Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Changes since v1: - Refactor test case based on Andrei's comments Changes since v2: - Use ZDTM_FAMILY instead of AF_INET Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Show a note that when libbsd is not installed CRIU is compiled without setproctitle() and strlcpy() support. Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Radostin Stoyanov authored
Signed-off-by:
Radostin Stoyanov <rstoyanov1@gmail.com> Acked-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
This patch fixes the error: (00.074175) Error (criu/net.c:2638): Locking network failed: iptables-restore returned -1. This may be connected to disabled CONFIG_NETFILTER_XT_MARK kernel build config option. Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
Currently, we rely on the fact that nobody else is using random and parent and child processes will get the same random values. Now, this test fails on the fedora rawhide. There will be nothing wrong if we will generate test messages before forking the test process. Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
open_proc_pid(PROC_SELF) returns a non-service file descriptor, but it can take a place of a target file descriptor. Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Andrei Vagin authored
C/R in Docker from the stable repo is broken. Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-
Cyrill Gorcunov authored
Not needed since e2bd7af9Signed-off-by:
Cyrill Gorcunov <gorcunov@gmail.com> Signed-off-by:
Andrei Vagin <avagin@gmail.com>
-