• 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
sysfs_parse.h 492 Bytes