1. 05 Aug, 2014 4 commits
  2. 04 Aug, 2014 18 commits
  3. 17 Jul, 2014 3 commits
  4. 16 Jul, 2014 2 commits
    • Andrew Vagin's avatar
      cgroup: don't look up existing mount point · dda742ec
      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: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Signed-off-by: 's avatarAndrew Vagin <avagin@openvz.org>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
      dda742ec
    • Pavel Emelyanov's avatar
      cg: Don't walk cgroup tree when it's not required · 97f7d179
      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: 's avatarPavel Emelyanov <xemul@parallels.com>
      Acked-by: 's avatarAndrew Vagin <avagin@parallels.com>
      Acked-by: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      97f7d179
  5. 15 Jul, 2014 4 commits
  6. 14 Jul, 2014 6 commits
  7. 11 Jul, 2014 3 commits
    • Christopher Covington's avatar
      ZDTM build fixes · 24a2cec4
      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: 's avatarChristopher Covington <cov@codeaurora.org>
      Reviewed-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
      24a2cec4
    • Tycho Andersen's avatar
      cg: don't save cgroup directories twice · 241019b6
      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: 's avatarTycho Andersen <tycho.andersen@canonical.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
      241019b6
    • Pavel Emelyanov's avatar
      show: Don't continue showing messages with the descriptor of nested one · ebfc37b0
      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: 's avatarPavel Emelyanov <xemul@parallels.com>
      Acked-by: 's avatarCyrill Gorcunov <gorcunov@openvz.org>
      ebfc37b0