- 05 Aug, 2014 4 commits
-
-
Andrey Vagin authored
Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
For that mnt namespaces should be dumped after files. v2: rework enumeration of namespaces in dump_mnt_namespaces() Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
Currently collect_shared is executed for each mount namespace separately, so we miss the dependencies between namespaces. For example, we have two namespaces, the first one contains a tmpfs mount and the second one contains a non-root bind-mount of this tmpfs. Without this patch this example can't be dumped. On restore mnt_build_tree() is called for all namespaces at once, thus this bug doesn't exist there. Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
$ bash test/zdtm.sh -i 0 '\(ns/static/env00\|static/pty03\|static/mountpoints\)' ... ==================================== ERROR ==================================== Test: zdtm/live/static/mountpoints, Namespace: Output file: /root/git/1/criu/test/zdtm/live/static/mountpoints.out ------------------------------------------------------------------------------ 00:53:03.267: 26935: FAIL: mountpoints.c:139: Can't umount all the filesystems (errno = 16 (Device or resource busy)) ------------------------------------- END ------------------------------------- ================================= ERROR OVER ================================= Fixes: 0198590c (zdtm: Factor out starting the test via Makefule) Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 04 Aug, 2014 18 commits
-
-
Cyrill Gorcunov authored
In worst case we might be tryin to proxify vdso zone when vvar only is remmaped but vdso itself is not yet (left and right zones shifting). Thus vdso_proxify will complain that vdso is not yet mapped refusing to restore. Thus wait until everything is re-mapped then call for proxification helper. Reported: Mr. Jenkins 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 latest linux-next the vdso zone is placed _after_ vvar zone so eventually we need to handle any combination of the following cases - no vvar zone - vvar before vdso - vvar after vdso Here we address all them. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
Since we might have a several vDSO zones lets hide handling in arch-specific routines. 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>
-
Cyrill Gorcunov authored
Make sure we really can do inplace remap. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
In linux kernel 3.17 most probably the vvar and vdso zones will be in reverse order, ie vvar first and vdso later so do extended test for these VMAs coming in one bundle. 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>
-
Cyrill Gorcunov authored
Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
- xfree works well with nil argument no need for additional tests. - no need for @ret variable, we either success returning 0 explicitly, either fail with explicit -1 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>
-
Tycho Andersen authored
Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Acked-by:
Serge E. Hallyn <serge.hallyn@ubuntu.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Acked-by:
Serge E. Hallyn <serge.hallyn@ubuntu.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Salvatore Bonaccorso authored
Signed-off-by:
Salvatore Bonaccorso <carnil@debian.org> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Ruslan Kuprieiev authored
Currently we have this: ....... /* No longer need it */ core_entry__free_unpacked(core, NULL); ret = prepare_itimers(pid, core, task_args); if (ret < 0) goto err; ....... So we're using ptr right after free-ing it. Signed-off-by:
Ruslan Kuprieiev <kupruser@gmail.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Andrey Vagin authored
All mounts is marked as private for one call, so we don't need the variable private, which has been added in "(55fe0939) zdtm: don't destruct an external mount-namespace" Signed-off-by:
Andrey Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 17 Jul, 2014 3 commits
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com>
-
Pavel Emelyanov authored
The ftw trims tail "/" from path argument. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com>
-
Pavel Emelyanov authored
After the commit that walks /proc/self/fd/N path instead of the temporary one, the add_cgroup() started trimming first several bytes from the cgroup path. Test passed, since all cgroups were left as is after dump, so criu restore didn't recreate them but got EEXIST on all mkdir-s. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com>
-
- 16 Jul, 2014 2 commits
-
-
Andrew Vagin authored
A mount point, which is mounted by someone else, may be umounted in any moment. For example the test system executes tests concurrently and sometimes one test looks up a mount point, which has been mounted by another test. ==================================== ERROR ==================================== Test: zdtm/live/static/inotify00, Namespace: 1 Dump log : /var/lib/jenkins/jobs/CRIU-dump/workspace/test/dump/inotify00/15535/1/dump.log --------------------------------- grep Error --------------------------------- (00.021951) Error (cgroup.c:409): cg: failed walking /var/lib/jenkins/jobs/CRIU-dump/workspace/test/dump/signalfd00/15538/1/.criu.cgmounts.UGj28v/ for empty cgroups (00.021967) Error (cr-dump.c:1601): Dump core (pid: 15535) failed with -1 (00.025509) Error (cr-dump.c:1914): Dumping FAILED. ------------------------------------- END ------------------------------------- ================================= ERROR OVER ================================= In the previous patch I suggested to open a mount point, but it brought other problems. We may open a directory where a cgroup mount has been umounted and an owner will get EBUSY on attempt to remove this directory. Reported-by: Jenkins Criuovich Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Andrew Vagin <avagin@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
We have two bugs actually. First, the check for 'item == root_item' in dump_task_cgroup fires twice: first when we rite inventory (item == NULL as argument and root_item == NULL because we haven't yet collected tasks) and the 2nd time when we dump the root task itself. The 2nd issue sits in dump_cgroups() -- if root_cgset == criu_cgset we don't write cgroups information at all (checking that we don't have them with list_is_singular() inside that if). That said, we don't need to read the cgroups tree if we're not going to dump it. This patch fixes both. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Andrew Vagin <avagin@parallels.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com>
-
- 15 Jul, 2014 4 commits
-
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com>
-
Cyrill Gorcunov authored
In case if something is broken in the kernel and we get a format corrupted -- simply exit out with error instead of strlen'ing nil string. Also while at it -- add a comment about format. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Acked-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
- 14 Jul, 2014 6 commits
-
-
Tycho Andersen authored
Before we would not detect the mount point for co-mounted controllers. Things still worked because we'd just re-mount them ourselves and traverse our own mount point, but this saves an extra mount(). Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Cyrill Gorcunov authored
No need to pollute typedef out of structure statement since we don't use it in that form. Simply typedef in place. And align members while we're at it. Signed-off-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
Was broken by d57be38c -- this one pretty show does return 1. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Pavel Emelyanov authored
This just makes ctl->cur initialized all in one place, but not scattered all over the code. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
Pavel Emelyanov authored
Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-
- 11 Jul, 2014 3 commits
-
-
Christopher Covington authored
Errors building natively for x86_64 on Ubuntu 12.04: session02.c:142:13: error: ‘PR_SET_CHILD_SUBREAPER’ undeclared session03.c:175:13: error: ‘PR_SET_CHILD_SUBREAPER’ undeclared vdso01.c:300: undefined reference to `clock_gettime' Error cross compiling for arm using Linaro 14.01 toolchain: gcc: warning: ‘-mcpu=’ is deprecated; use ‘-mtune=’ or ‘-march=’ instead cc1: error: unrecognized command line option ‘-mfpu=neon’ cc1: error: unrecognized command line option ‘-marm’ criu-rtc.c:1:0: error: bad value (cortex-a15) for -mtune= switch cc1: error: unrecognized command line option ‘-mfpu=neon’ cc1: error: unrecognized command line option ‘-marm’ criu-rtc.pb-c.c:1:0: error: bad value (cortex-a15) for -mtune= switch Errors cross compiling for aarch64 using Linaro 14.01 toolchain: maps007.c: In function ‘main’: maps007.c:88:4: error: passing argument 1 of ‘atomic_read’ from incompatible pointer type [-Werror] if (futex_get(&shm->stop) && atomic_get(&shm->delta) == MAX_DELTA) ^ In file included from ../../lib/lock.h:10:0, from maps007.c:13: ../../lib/arch/aarch64/include/asm/atomic.h:14:19: note: expected ‘const atomic_t *’ but argument is of type ‘struct f utex_t *’ static inline int atomic_read(const atomic_t *v) ^ ptrace.c: In function ‘main’: ptrace.c:97:15: error: ‘PTRACE_GETREGS’ undeclared (first use in this function) if (ptrace(PTRACE_GETREGS, stopped, NULL, regs)) { ^ Signed-off-by:
Christopher Covington <cov@codeaurora.org> Reviewed-by:
Cyrill Gorcunov <gorcunov@openvz.org> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Tycho Andersen authored
The path in cc->path here always has a "/" prefix since it comes from /proc/$pid/cgroup. The additional / confuses the string slinging because ftw() normalizes paths to have one "/" when we start traversing a subdirectory. Signed-off-by:
Tycho Andersen <tycho.andersen@canonical.com> Signed-off-by:
Pavel Emelyanov <xemul@parallels.com>
-
Pavel Emelyanov authored
When we dive into showing nested message, the call to it will overwrite the ctl->Arg field with the descriptor of the nested one. As a result, after the call returns we continue showing old message with new descriptor. Signed-off-by:
Pavel Emelyanov <xemul@parallels.com> Acked-by:
Cyrill Gorcunov <gorcunov@openvz.org>
-