- 01 Dec, 2014 3 commits
-
-
Andrew Vagin authored
When we generate a path to the previous images, we take a directory name and the previous iteration number. Reported-by: Mr Jenkins Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
We see big load-avarage for the CRIU-iter job, because the host is writing images for the maps04 test. If we will remove images after retore, they will live in a page cache. Curretly we collect images for three iterations and their size is too big to live in a cache. [root@jenkins workspace]# time bash test/zdtm.sh -i 3 ns/static/maps04 real 2m23.765s user 0m0.719s sys 0m4.006s [root@jenkins workspace]# time bash test/zdtm.sh -C -i 3 ns/static/maps04 real 1m34.884s user 0m0.200s sys 0m4.191s Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrew Vagin authored
Currently ns/test and test may have the same test directory, especially if zdtm.sh is executed with --ct. Reported-by: Mr Jenkins Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 29 Nov, 2014 3 commits
-
-
Andrey Vagin authored
32 is too many for our test server Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
CID 83243 (#1 of 1): Resource leak (RESOURCE_LEAK) 6. leaked_handle: Handle variable fd going out of scope leaks the handle. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
When we are doing pre-dump, we splice pages in pipes and only then open images and dump pages. But when we are splicing pages, we need to know about existence of parent images. This patch adds a new call to determin existence of parent images. In addition this patch fixes a following issue: CID 83244 (#1 of 1): Uninitialized pointer read (UNINIT) 14. uninit_use: Using uninitialized value xfer.parent. v2: initialize unused field of struct page_server_iov, because it sends in network. CID 83451 (#1 of 1): Uninitialized scalar variable (UNINIT) 2. uninit_use_in_call: Using uninitialized value pi. Field pi.nr_pages is uninitialized when calling write. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 26 Nov, 2014 2 commits
-
-
Andrey Vagin authored
For stream sockets it's possiable and we should not fail in this case. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
- 19 Nov, 2014 3 commits
-
-
vkonyashkin authored
Need to print a mask of events for UNKNOWN event in inotify_system_nodel.c and inotify_system.c tests. The current error message in this case is too vague: inotify_system_nodel.c:266: got unexpected event UNKNOWN Signed-off-by:
vkonyashkin <vkonyashkin@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
It is in mainline and required for proper CRIU work. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
And move the 2nd piece lower to avoid fwd declaration and keep similar calls close to each other. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 14 Nov, 2014 1 commit
-
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 13 Nov, 2014 1 commit
-
-
Andrey Vagin authored
Reported-by: Mr Jenkins Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 12 Nov, 2014 13 commits
-
-
Andrey Vagin authored
Here is an example from a fedora container: 65 64 252:0 /vz/private/1 / rw,relatime shared:29 - ext4 /dev/mapper/centos_pcs-root rw,data=ordered 77 65 252:0 /vz/private/1/var/tmp/systemd-httpd.service-XLnJPNc/tmp /var/tmp rw,relatime shared:41 - ext4 /dev/mapper/centos_pcs-root rw,data=ordered We can see non-root shared mount, which is mounted to the root mount from the same shared group. The test emulates this situation. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Fedora bind-mounts a part of the root mount to itself. Currently we don't allow to mount children of a shared mount, if other mount from this shared group are not mounted. This patch adds an exclusion for cases, when a child has the same group. We allow to mount a child, if wider mounts are mounted. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Currently we connect roots of sub-namespaces to the root of the root mount namespace. And we get problems, if the root of the root mntns is shared, because all children of a shared mount must be propagated to other mounts in this group. Actually we mount tmpfs in mnt_roots and here is nothing wrong to add it in a tree. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
And use the expression for it, it's quite short. This makes the amount of variables in the code fit into brains. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Pavel Emelyanov authored
Do paths conversions and checks step-by-step and add many comments what we do in each step and why. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Pavel Emelyanov authored
When we check whether a submount of a mount is visible in another mount (shared peer of the latter), we can and should use the new issubpath helper. Should because the used strncmp may scan beyond ct_mpnt_rpath if its length is smaller (no checks for this in the code). Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Pavel Emelyanov authored
These are constant for given m, so calculate them outside of the loop. Also rename them to reflect what they are. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Pavel Emelyanov authored
The path lenght is zero for the "/" one and strlen(path) for all the others. This is done so to make it possible to use this length to get tail-paths: if path_1 starts with path_2 and both are absolute, then path_1 + path_length(path_2) would give the tail of the tail of path_1 relative to path_2 even if the path_2 is just "/". Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com>
-
Andrey Vagin authored
A problem which is solved in this path is that some children can be unaccessiable (unvisiable) for non-root bind-mounts root mount point ------------------- / /a (shared:1) / /a/x / /a/x/y / /a/z /x /b (shared:1) / /b/y /b is a non-root bind-mount of /a /y is visiable to both mounts /z is vidiable only for /a Before this patch we checked that the set of children is the same for all mount in a shared group. Now we check that a visiable set of mounts is the same for all mounts in a shared group. Now we take the next mount in the shared group, which is wider or equal to current and compare children between them. Before this patch validate_shared(m) validates the m->parent mount. Now it validates the "m" mount. So you can find following lines in the patch: - if (m->parent->shared_id && validate_shared(m)) + if (m->shared_id && validate_shared(m)) We doesn't support shared mounts with different set of children. Here is an example of such case can be created: mount tmpfs a /a mount --make-shared /a mkdir /a/b mount tmpfs b /a/b mount --bind /a /c In this case /c doesn't have the /b child. To support such cases, we need to sort all shared mounts accoding with a set of children. v2: If root is equal to "/", its len should be zero. We expect that the last symbol in a path is not "/". Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 11 Nov, 2014 14 commits
-
-
Andrew Vagin authored
expr ns/user/static/env00 ns/user expr: syntax error Signed-off-by:
Andrew Vagin <avagin@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>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Make their name look similar. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
We have sanity check for zombie-with kids below, no need in additional. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
We scan threads and children list several times while freezing the tree, this is done to avoid race with new threads/kids appearing. Factor out the iterations code. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
To make the threads collect code be structured similar to children collect. This will also help in further patching. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Keeping the whole stat buf it too much information. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Right now it returns the whole struct stat which is excessive. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Not to spoil the global namespace and unify the kerndat data names. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-