- 30 Oct, 2014 9 commits
-
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
When creating helpers, we need to make sure their PIDs do not intersect with threads' IDs. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Signed-off-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
This is for two reasons. First, validation can meet external mount and will call plugins, which is not correct on pre-dump and actually crashes on uninitilized plugins lists. Second, even if on pre-dump mount tree is not "supported" this can be a temporary situation (yes, yes, unlikely, but still). On the other hand, it's better to fail earlier, but that's another story. Reported-by:
Sowmini Varadhan <sowmini.varadhan@oracle.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Tycho Andersen authored
The pty field here is only present with certain tty types, so we shouldn't unconditionally dereference it, or criu will hang. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Now we check them for all test processes v2: Busybox doesn't have truncate Signed-off-by:
Andrey Vagin <avagin@openvz.org> Reviewed-by:
Christopher Covington <cov@codeaurora.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Mr Jenkins reports errors like this: (02.423007) Error (bfd.c:118): Error flushing image Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
In case if we meet virtualized devtmpfs on dump (which means its s_dev is different from one obtained during mountpoints dump procedure) we should dump it with tar help. Thus on restore it get filled from the image. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We will need devtmpfs as well so make it general. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 29 Oct, 2014 5 commits
-
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Currenlty a generated path contains two slashes successively. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
So we need to create a temporary private mount for the old root. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
We do the same action twice. It's typo. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
This reverts commit 21d1b2fd. pivot_root() can move the current root to a non-shared mount. So we are going to create a temporary private mount in put_old. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 27 Oct, 2014 13 commits
-
-
Ruslan Kuprieiev authored
We have two global enums with the member TUN. The first one is in fdinfo.proto and the second one is in netdev.proto. protoc complains about having TUN in 2 global enums because of the enum rules for C++(even though we're compiling .proto files for python). So lets rename TUN into TUNF to avoid that conflict. Signed-off-by:
Ruslan Kuprieiev <kupruser@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We simply check that major/minor didn't changed after restore. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
/dev/console is a system console which provided by the system with major 5 and minor 1. It's usually configured on system startup with console= option and underlied driver is resposible to deliver messages to the console user. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
The parasite daemon set up SIGCHLD handler, but for dumping threads we use parasite-trap. While doing this the sigchild handler notices the CHLD arriving on the thread trap, emits an error (00.020292) Error (parasite-syscall.c:387): si_code=4 si_pid=3485 si_status=5 but wait() reports -1 (task is not dead, just trapped) and handler just exits. Let's stop a parasite daemon before dumping threads. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Currently we fill as much as posible data in a socket and then use half of these data to make a flow in the connection. These data is send and recv buffers. When a connection is dumped and restored, it needs time to go back to the normal work. In this time we can reliably fill only send buffers. So at the result the sockets may contain less data than required for heartbeating and the test will block. The test with this patch will monitor actuall size of data in a test socket. Cc: Konstantin Neumoin <kneumoin@parallels.com> Reported-by:
Konstantin Neumoin <kneumoin@parallels.com> Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
@action_names is rather a const array, so make sure we never access some data outside of it defining its size. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
In addition it checks that criu closes all its descriptors Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
strstr is a really heavy one, lets use already defined and filled @file_path variable instead. Reported-by:
Pavel Emelyanov <xemul@parallels.com> Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
In criu we carry SysV memory via @VMA_AREA_SYSVIPC attribute but to the test must have a live reference to real memory area to check that shmem address was restored correctly. Add it. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
This would allow to restore parameters with user namespaces enabled. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 23 Oct, 2014 13 commits
-
-
Cyrill Gorcunov authored
Need to compare the /pts/ part in the former path, otherwise it will produce bogus /dev/pts/pts/index form. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
We need this only once -- while calling the mmap from remote context -- so it's enough to have on-stack variable. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Cyrill Gorcunov authored
Because directories are opened via direct mkdir call with name taken from ghost path don't postfix it with cr.%x.ghost, otherwise that's the name directory will have after restore complete causing cwd01 test to fail. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Users don't like errors even if criu returns zero. So I suggest to start looking at them. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
In this case we have another chance to not skip errors. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
We don't support posix mqueues at the moment but in case if this fs is simply mounted and not used lets proceed without errors. In case if someone is using it we detect it because fs won't be empty and refuse to dump. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Konstantin Neumoin authored
This timeout is too small for tcp test cases. This timeout should be bigger than TCP_RTO_MAX 120 seconds Signed-off-by:
Konstantin Neumoin <kneumoin@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
v2: typo fix Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
It's bad idea to have only one target object. In addition I add a shared region to the second process, which is not mapped in the first. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
/proc/PID/map_files are protected by the global CAP_SYS_ADMIN, so we need to avoid using them to support user namespaces. We are going to use memfd_create() to get the first file descriptor and then all others processes will able to open it via /proc/PID/fd/X. In this patch memfd_create() is used to get a file descriptor, which is associated with a shared memory region. If memfd_create() isn't supported, the old scheme will be used. v2: don't set a name for memfd. It isn't required. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
/proc/PID/map_files are protected by the global CAP_SYS_ADMIN, so we need to avoid using them to support user namespaces. We are going to use memfd_create() to get the first file descriptor and then all others processes will able to open it via /proc/PID/fd/X. This patch reworks slave processes to not use map_files. v2: add more comments Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
v2: Follow the kerndat style that "features" are described just by global boolean variables. v3: give NULL as a name to get EFAULT if memfd_create is supported Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Currently we're using predefined format for master/slave pty peers: masters are always /dev/ptmx, while slaves are /dev/pts/$index, where $index is the peer number. While fitting most of distros this is not always correct and slave peers might be mounted to an arbitrary place, so that we need to somehow carry paths with ourself in image. Instead of bloating current tty image lets use regular file engine instead and on checkpoint stage save a path to the link in regfiles set, then on restore simply fetch it from the image. Such approach will help in future when we need to support multiple instances of devpts filesystem. To support backward compatibility with images where no regfile records are present we generate new one on the fly in pty_alloc_reg() helper. Because of the need to restore dead slave peers and restore of the controlling terminal we need to generate that named "fake inverted" pty_alloc_fake_reg() helper: in particular if we need to open dead slave peer we generate fake master peer, open it and the close out. Almost the same situation in restoring contolling terminal -- we get master peer, generate appropriate fake slave object, open it, manipulate, then close it out and free. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-