1. 26 Aug, 2014 7 commits
  2. 22 Aug, 2014 8 commits
  3. 21 Aug, 2014 1 commit
    • Saied Kazemi's avatar
      Added AUFS support. · d8b41b65
      Saied Kazemi authored
      The AUFS support code handles the "bad" information that we get from
      the kernel in /proc/<pid>/map_files and /proc/<pid>/mountinfo files.
      For details see comments in sysfs_parse.c.
      
      The main motivation for this work was dumping and restoring Docker
      containers which by default use the AUFS graph driver.  For dump,
      --aufs-root <container_root> should be added to the command line options.
      For restore, there is no need for AUFS-specific command line options
      but the container's AUFS filesystem should already be set up before
      calling criu restore.
      
      [ xemul: With AUFS files sometimes, in particular -- in case of a
        mapping of an executable file (likekely the one created at elf load),
        in the /proc/pid/map_files/xxx link target we see not the path
        by which the file is seen in AUFS, but the path by which AUFS
        accesses this file from one of its "branches". In order to fix
        the path we get the info about branches from sysfs and when we
        meet such a file, we cut the branch part of the path. ]
      Signed-off-by: 's avatarSaied Kazemi <saied@google.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
      d8b41b65
  4. 20 Aug, 2014 2 commits
  5. 19 Aug, 2014 20 commits
  6. 18 Aug, 2014 1 commit
  7. 15 Aug, 2014 1 commit
    • Sophie Blee-Goldman's avatar
      Dump capabilities from the parasite · e606c214
      Sophie Blee-Goldman authored
      Needed for future user namespace support. Capabilities will have to be
      dumped from the parasite, ie from inside the namespace since there is no
      obvious way to 'translate' capabilities from the global namespace (unlike
      with uids and gids, where the id mappings can be used for translation).
      
      [ additional explanation from Andrew Vagin:
      
      "capabilities" are not translated between namespaces. They can exist
      only in one userns, where a process lives. If a process is created in a
      new userns, it gets a full set of capabilities in this userns, and
      loses all caps in a parent userns.
      
      So if capabilities are not shown in /proc/pid/stat, we have no way to
      get it except of using parasite code. ]
      Signed-off-by: 's avatarSophie Blee-Goldman <ableegoldman@google.com>
      Acked-by: 's avatarAndrew Vagin <avagin@parallels.com>
      Signed-off-by: 's avatarPavel Emelyanov <xemul@parallels.com>
      e606c214